diff --git a/sapl/parlamentares/urls.py b/sapl/parlamentares/urls.py index 013248af0..668a65653 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, + parlamentares_filiados, PesquisarParlamentarView) from .apps import AppConfig @@ -64,6 +65,7 @@ urlpatterns = [ url(r'^sistema/parlamentar/tipo-militar/', include(TipoMilitarCrud.get_urls())), url(r'^sistema/parlamentar/partido/', include(PartidoCrud.get_urls())), + url(r'^sistema/parlamentar/partido/(?P\d+)/filiados$', parlamentares_filiados, name='parlamentares_filiados'), url(r'^sistema/mesa-diretora/sessao-legislativa/', include(SessaoLegislativaCrud.get_urls())), diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 246957fbe..e6eeadecd 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -10,6 +10,8 @@ from django.db.models import F, Q from django.db.models.aggregates import Count from django.http import JsonResponse from django.http.response import HttpResponseRedirect +from django.shortcuts import render +from django.templatetags.static import static from django.utils import timezone from django.utils.datastructures import MultiValueDictKeyError from django.utils.translation import ugettext_lazy as _ @@ -746,6 +748,14 @@ class ParlamentarMateriasView(FormView): }) +def parlamentares_filiados(request, pk): + template_name = 'parlamentares/partido_filiados.html' + parlamentares = Parlamentar.objects.select_related().all() + partido = Partido.objects.select_related().get(pk=pk) + parlamentares_filiado = [parlamentar for parlamentar in parlamentares if parlamentar.filiacao_atual == partido.sigla] + return render(request, template_name, {'partido': partido, 'parlamentares': parlamentares_filiado}) + + class MesaDiretoraView(FormView): template_name = 'parlamentares/composicaomesa_form.html' success_url = reverse_lazy('sapl.parlamentares:mesa_diretora') diff --git a/sapl/templates/parlamentares/partido_detail.html b/sapl/templates/parlamentares/partido_detail.html new file mode 100644 index 000000000..1f55da2f5 --- /dev/null +++ b/sapl/templates/parlamentares/partido_detail.html @@ -0,0 +1,9 @@ +{% extends "crud/detail.html" %} +{% load i18n %} +{% load crispy_forms_tags cropping %} +{% block actions %} + {{ block.super }} +
+ Listar Parlamentares Filiados +
+{% endblock actions %} \ No newline at end of file diff --git a/sapl/templates/parlamentares/partido_filiados.html b/sapl/templates/parlamentares/partido_filiados.html new file mode 100644 index 000000000..9957ab891 --- /dev/null +++ b/sapl/templates/parlamentares/partido_filiados.html @@ -0,0 +1,42 @@ +{% extends "crud/detail.html" %} +{% load i18n %} +{% load crispy_forms_tags cropping %} +{% block base_content %} +

{{ partido.sigla }} - {{ partido.nome }}

+
+ Informações do Partido +
+

Parlamentares Filiados

+
Total de Parlamentares: {{ parlamentares|length }}
+
+ + + + + + + + + {% for parlamentar in parlamentares %} + + + + + {% endfor %} + + +
+{% endblock base_content %} +