From 0c7c17de658397a5ea3ec9b75addf9f4fb772229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Wed, 27 Feb 2019 15:51:07 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20#2536=20-=20Separa=20cria=C3=A7=C3=A3o=20?= =?UTF-8?q?de=20mandato=20e=20parlamentar=20(#2551)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adiciona cadastro de parlamentar na tabelas auxiliares Co-authored-by: UlyssesBML * Remoção de mandato na criação do parlamentar Co-authored-by: UlyssesBML * Fix #2536 Co-authored-by: UlyssesBML * Corrige testes Co-authored-by: UlyssesBML --- sapl/parlamentares/forms.py | 19 -------- .../parlamentares/tests/test_parlamentares.py | 15 ++----- sapl/parlamentares/urls.py | 5 ++- sapl/parlamentares/views.py | 6 +++ sapl/templates/menu_tabelas_auxiliares.yaml | 3 ++ sapl/templates/parlamentares/layouts.yaml | 2 - .../parlamentares/lista_parlamentares.html | 43 +++++++++++++++++++ .../parlamentares/parlamentares_list.html | 8 ++++ 8 files changed, 67 insertions(+), 34 deletions(-) create mode 100644 sapl/templates/parlamentares/lista_parlamentares.html diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index c9d5d828d..2aa316953 100755 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -236,18 +236,6 @@ class ParlamentarFilterSet(django_filters.FilterSet): class ParlamentarCreateForm(ParlamentarForm): - legislatura = forms.ModelChoiceField( - label=_('Legislatura'), - required=True, - queryset=Legislatura.objects.all().order_by('-data_inicio'), - empty_label='----------', - ) - - data_expedicao_diploma = forms.DateField( - label=_('Expedição do Diploma'), - required=True, - ) - class Meta(ParlamentarForm.Meta): widgets = { 'fotografia': forms.ClearableFileInput(), @@ -258,13 +246,6 @@ class ParlamentarCreateForm(ParlamentarForm): @transaction.atomic def save(self, commit=True): parlamentar = super(ParlamentarCreateForm, self).save(commit) - legislatura = self.cleaned_data['legislatura'] - Mandato.objects.create( - parlamentar=parlamentar, - legislatura=legislatura, - data_inicio_mandato=legislatura.data_inicio, - data_fim_mandato=legislatura.data_fim, - data_expedicao_diploma=self.cleaned_data['data_expedicao_diploma']) content_type = ContentType.objects.get_for_model(Parlamentar) object_id = parlamentar.pk tipo = TipoAutor.objects.get(content_type=content_type) diff --git a/sapl/parlamentares/tests/test_parlamentares.py b/sapl/parlamentares/tests/test_parlamentares.py index e7b885871..7d29caebf 100644 --- a/sapl/parlamentares/tests/test_parlamentares.py +++ b/sapl/parlamentares/tests/test_parlamentares.py @@ -20,21 +20,14 @@ def test_cadastro_parlamentar(admin_client): response = admin_client.post(url, {'nome_completo': 'Teresa Barbosa', 'nome_parlamentar': 'Terezinha', 'sexo': 'F', - 'ativo': 'True', - 'legislatura': legislatura.id, - 'data_expedicao_diploma': '2001-01-01'}, + 'ativo': 'True' + }, follow=True) [parlamentar] = Parlamentar.objects.all() assert parlamentar.nome_parlamentar == 'Terezinha' assert parlamentar.sexo == 'F' assert parlamentar.ativo is True - # o primeiro mandato é criado - [mandato] = Mandato.objects.all() - assert mandato.parlamentar == parlamentar - assert str(mandato.data_expedicao_diploma) == '2001-01-01' - assert mandato.legislatura == legislatura - assert mandato.data_fim_mandato == legislatura.data_fim @pytest.mark.django_db(transaction=False) @@ -42,9 +35,7 @@ def test_incluir_parlamentar_errors(admin_client): url = reverse('sapl.parlamentares:parlamentar_create') response = admin_client.post(url) erros_esperados = {campo: ['Este campo é obrigatório.'] - for campo in ['legislatura', - 'data_expedicao_diploma', - 'nome_parlamentar', + for campo in ['nome_parlamentar', 'nome_completo', 'sexo', ]} diff --git a/sapl/parlamentares/urls.py b/sapl/parlamentares/urls.py index 668a65653..ce6af679b 100644 --- a/sapl/parlamentares/urls.py +++ b/sapl/parlamentares/urls.py @@ -18,6 +18,7 @@ from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud, insere_parlamentar_composicao, parlamentares_frente_selected, remove_parlamentar_composicao, + lista_parlamentares, parlamentares_filiados, PesquisarParlamentarView) @@ -35,9 +36,11 @@ urlpatterns = [ VotanteView.get_urls() )), + url(r'^parlamentar/lista$', lista_parlamentares, name='lista_parlamentares'), + url(r'^parlamentar/pesquisar-parlamentar/', PesquisarParlamentarView.as_view(), name='pesquisar_parlamentar'), - + url(r'^parlamentar/(?P\d+)/materias$', ParlamentarMateriasView.as_view(), name='parlamentar_materias'), diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index e6eeadecd..c88276adf 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -674,6 +674,12 @@ class ParlamentarCrud(Crud): return context +def lista_parlamentares(request): + template_name = "parlamentares/lista_parlamentares.html" + parlamentares = Parlamentar.objects.select_related().all() + return render(request, template_name, {"parlamentares": parlamentares}) + + class ParlamentarMateriasView(FormView): template_name = "parlamentares/materias.html" success_url = reverse_lazy('sapl.parlamentares:parlamentar_materia') diff --git a/sapl/templates/menu_tabelas_auxiliares.yaml b/sapl/templates/menu_tabelas_auxiliares.yaml index 955e1cb28..1e782b4ef 100644 --- a/sapl/templates/menu_tabelas_auxiliares.yaml +++ b/sapl/templates/menu_tabelas_auxiliares.yaml @@ -17,6 +17,9 @@ - title: {% trans 'Módulo Parlamentares' %} css_class: head_title children: + - title: {% trans 'Cadastrar Parlamentar' %} + url: sapl.parlamentares:parlamentar_create + css_class: btn btn-link - title: {% trans 'Legislatura' %} url: sapl.parlamentares:legislatura_list css_class: btn btn-link diff --git a/sapl/templates/parlamentares/layouts.yaml b/sapl/templates/parlamentares/layouts.yaml index ded7ca647..0b419ef80 100644 --- a/sapl/templates/parlamentares/layouts.yaml +++ b/sapl/templates/parlamentares/layouts.yaml @@ -64,8 +64,6 @@ ParlamentarUpdate: - biografia ParlamentarCreate: - {% trans 'Dados do Mandato' %}: - - legislatura data_expedicao_diploma {% trans 'Cadastro do Parlamentar' %}: - nome_parlamentar:8 ativo - nome_completo diff --git a/sapl/templates/parlamentares/lista_parlamentares.html b/sapl/templates/parlamentares/lista_parlamentares.html new file mode 100644 index 000000000..76d55395b --- /dev/null +++ b/sapl/templates/parlamentares/lista_parlamentares.html @@ -0,0 +1,43 @@ +{% extends "base.html" %} +{% load i18n %} +{% load crispy_forms_tags cropping%} +{% block base_content %} +

Parlamentares



+
Total de Parlamentares: {{ parlamentares|length }}
+
+ + + + + + + + + + {% for parlamentar in parlamentares %} + + + + + + {% endfor %} + + +
+{% endblock base_content %} diff --git a/sapl/templates/parlamentares/parlamentares_list.html b/sapl/templates/parlamentares/parlamentares_list.html index 2a724a578..aa7dd3530 100644 --- a/sapl/templates/parlamentares/parlamentares_list.html +++ b/sapl/templates/parlamentares/parlamentares_list.html @@ -3,6 +3,14 @@ {% load crispy_forms_tags cropping%} {% block actions %} {{ block.super }} +
+ {% if view.create_url %} + + {% blocktrans with verbose_name=view.verbose_name %} Adicionar {{ verbose_name }} {% endblocktrans %} + + {% endif %} + {% block more_buttons %}{% endblock more_buttons %} +