from crispy_forms.helper import FormHelper from crispy_forms.layout import Fieldset, Layout from django import forms from django.forms import ModelForm from django.utils.translation import ugettext_lazy as _ import crispy_layout_mixin from crispy_layout_mixin import form_actions from parlamentares.models import Filiacao from .models import Participacao class ComposicaoForm(forms.Form): periodo = forms.CharField() class ParticipacaoCadastroForm(ModelForm): YES_OR_NO = ( (True, 'Sim'), (False, 'Não') ) parlamentar_id = forms.ModelChoiceField( label='Parlamentar', required=True, queryset=Filiacao.objects.filter( data_desfiliacao__isnull=True, parlamentar__ativo=True).order_by( 'parlamentar__nome_parlamentar'), empty_label='Selecione', ) class Meta: model = Participacao fields = ['parlamentar_id', 'cargo', 'titular', 'data_designacao', 'data_desligamento', 'motivo_desligamento', 'observacao'] def __init__(self, *args, **kwargs): self.helper = FormHelper() row1 = crispy_layout_mixin.to_row( [('parlamentar_id', 4), ('cargo', 4), ('titular', 4)]) row2 = crispy_layout_mixin.to_row( [('data_designacao', 6), ('data_desligamento', 6)]) row3 = crispy_layout_mixin.to_row( [('motivo_desligamento', 12)]) row4 = crispy_layout_mixin.to_row( [('observacao', 12)]) self.helper.layout = Layout( Fieldset( _('Cadastro de Parlamentar em Comissão'), row1, row2, row3, row4 ), form_actions() ) super(ParticipacaoCadastroForm, self).__init__(*args, **kwargs)