diff --git a/parlamentares/urls.py b/parlamentares/urls.py index 5b1b2f98e..75010b2ee 100644 --- a/parlamentares/urls.py +++ b/parlamentares/urls.py @@ -2,6 +2,7 @@ from django.conf.urls import include, url from parlamentares.views import (MesaDiretoraView, ParlamentaresCadastroView, ParlamentaresEditarView, ParlamentaresView, + ParlamentaresDependentesView, cargo_mesa_crud, coligacao_crud, legislatura_crud, nivel_instrucao_crud, partido_crud, sessao_legislativa_crud, @@ -31,6 +32,9 @@ urlpatterns = [ ParlamentaresView.as_view(), name='parlamentares'), url(r'^parlamentares/(?P\d+)/cadastro$', ParlamentaresCadastroView.as_view(), name='parlamentares_cadastro'), + url(r'^parlamentares/(?P\d+)/dependentes$', + ParlamentaresDependentesView.as_view(), name='parlamentares_dependentes'), + url(r'^parlamentares/(?P\d+)/(?P\d+)/editar$', ParlamentaresEditarView.as_view(), name='parlamentares_editar'), diff --git a/parlamentares/views.py b/parlamentares/views.py index e4578cf20..2131b5a9e 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -377,6 +377,67 @@ class ParlamentaresEditarView(FormMixin, GenericView): {'form': form, 'legislatura_id': pk}) +class DependenteForm(ModelForm): + + class Meta: + model = Dependente + fields = ['nome', + 'data_nascimento', + 'tipo', + 'sexo', + 'cpf', + 'rg', + 'titulo_eleitor'] + + def __init__(self, *args, **kwargs): + + row1 = sapl.layout.to_row( + [('nome', 12)]) + + row2 = sapl.layout.to_row( + [('tipo', 4), + ('sexo', 4), + ('data_nascimento', 4)]) + + row3 = sapl.layout.to_row( + [('cpf', 4), + ('rg', 4), + ('titulo_eleitor', 4)]) + + self.helper = FormHelper() + self.helper.layout = Layout( + Fieldset('Cadastro de Dependentes', + row1, row2, row3, + ButtonHolder( + Submit('submit', 'Salvar', + css_class='button primary'), + )) + + ) + super(DependenteForm, self).__init__( + *args, **kwargs) + +class ParlamentaresDependentesView(FormMixin, GenericView): + + template_name = "parlamentares/parlamentares_dependentes.html" + + def get_success_url(self): + return reverse('parlamentares_dependentes') + + def get(self, request, *args, **kwargs): + + pid = kwargs['pk'] + parlamentar = Parlamentar.objects.get(id=pid) + dependentes = Dependente.objects.filter(parlamentar = parlamentar).order_by('nome', 'tipo') + + form = DependenteForm() + + return self.render_to_response({'parlamentar': parlamentar, + 'dependentes': dependentes, + 'form': form}) + + + class MesaDiretoraForm(forms.Form): pass diff --git a/templates/parlamentares/parlamentares_dependentes.html b/templates/parlamentares/parlamentares_dependentes.html new file mode 100644 index 000000000..a38928142 --- /dev/null +++ b/templates/parlamentares/parlamentares_dependentes.html @@ -0,0 +1,31 @@ +{% extends "crud/detail.html" %} +{% load i18n %} +{% load crispy_forms_tags %} + +{% block detail_content %} + + +{{ parlamentar.nome_parlamentar }} + +
+ Dependentes + +
    +
  • Nome Dependente
  • +
  • Tipo
  • +
  • Data de Nascimento
  • +
+ {% for d in dependentes %} +
    +
  • {{d.nome}}
  • +
  • {{d.tipo }}
  • +
  • {{d.data_nascimento}}
  • +
  • Editar Excluir
  • +
+ {% endfor %} +
+ +{% crispy form %} + + +{% endblock detail_content %}