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 Comissao, Participacao class CadastrarComissaoForm(ModelForm): class Meta: model = Comissao fields = ['nome', 'tipo', 'sigla', 'data_criacao', 'data_extincao', 'unidade_deliberativa', 'local_reuniao', 'agenda_reuniao', 'telefone_reuniao', 'endereco_secretaria', 'telefone_secretaria', 'fax_secretaria', 'secretario', 'email', 'finalidade', 'apelido_temp', 'data_instalacao_temp', 'data_final_prevista_temp', 'data_prorrogada_temp', 'data_fim_comissao'] def __init__(self, *args, **kwargs): row1 = crispy_layout_mixin.to_row( [('nome', 8), ('sigla', 4)]) row2 = crispy_layout_mixin.to_row( [('tipo', 3), ('data_criacao', 3), ('unidade_deliberativa', 3), ('data_extincao', 3)]) row3 = crispy_layout_mixin.to_row( [('local_reuniao', 4), ('agenda_reuniao', 4), ('telefone_reuniao', 4)]) row4 = crispy_layout_mixin.to_row( [('endereco_secretaria', 4), ('telefone_secretaria', 4), ('fax_secretaria', 4)]) row5 = crispy_layout_mixin.to_row( [('secretario', 6), ('email', 6)]) row6 = crispy_layout_mixin.to_row( [('finalidade', 12)]) row7 = crispy_layout_mixin.to_row( [('apelido_temp', 9), ('data_instalacao_temp', 3)]) row8 = crispy_layout_mixin.to_row( [('data_final_prevista_temp', 4), ('data_prorrogada_temp', 4), ('data_fim_comissao', 4)]) self.helper = FormHelper() self.helper.layout = Layout( Fieldset( _('Cadastrar Comissão'), Fieldset( _('Dados Básicos'), row1, row2 ), Fieldset( _('Dados Complementares'), row3, row4, row5, row6 ), Fieldset( 'Temporária', row7, row8 ), form_actions() ) ) super(CadastrarComissaoForm, self).__init__(*args, **kwargs) 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'] widgets = { 'data_designacao': forms.DateInput(format='%d/%m/%Y'), 'data_desligamento': forms.DateInput(format='%d/%m/%Y'), } input_formats = { 'data_designacao': ['%d/%m/%Y'], 'data_desligamento': ['%d/%m/%Y'], } 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( _('Formulário de Cadastro'), row1, row2, row3, row4 ), form_actions() ) super(ParticipacaoCadastroForm, self).__init__(*args, **kwargs)