diff --git a/comissoes/views.py b/comissoes/views.py index e7b1eceba..004e01529 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -24,7 +24,38 @@ class ComposicaoCrud(MasterDetailCrud): parent_field = 'comissao' help_path = '' - # class ListView(MasterDetailCrud.ListView): + class ListView(MasterDetailCrud.ListView): + template_name = 'comissoes/composicao_list.html' + + def get_queryset(self): + return Participacao.objects.all().order_by('parlamentar') + + def get(self, request, *args, **kwargs): + self.object_list = self.get_queryset() + form = ComposicaoForm(request.GET or None) + + composicoes = Composicao.objects.filter( + comissao_id=self.kwargs['pk']).order_by('-periodo') + participacoes = Participacao.objects.all().order_by('parlamentar') + + if composicoes: + composicao_id = composicoes.first().id + msg = '' + else: + composicao_id = 0 + msg = _('Ainda não há uma composição formada!') + messages.add_message(request, messages.INFO, msg) + + if request.GET: + composicao_id = int(form.data['periodo']) + + return self.render_to_response({ + 'participacoes': participacoes, + 'composicoes': composicoes, + 'composicao_id': composicao_id, + 'form': form, + 'pk': self.kwargs['pk'], + 'object': Comissao.objects.get(id=self.kwargs['pk'])}) class ComissaoCrud(Crud): diff --git a/templates/comissoes/composicao.html b/templates/comissoes/composicao_list.html similarity index 78% rename from templates/comissoes/composicao.html rename to templates/comissoes/composicao_list.html index ff6569780..bfd6fa3b5 100644 --- a/templates/comissoes/composicao.html +++ b/templates/comissoes/composicao_list.html @@ -1,9 +1,16 @@ -{% extends "crud/detail.html" %} +{% extends "crud/list.html" %} {% load i18n %} {% load crispy_forms_tags %} -{% block actions %} {% endblock %} -{% block detail_content %} +{% block base_content %} + +
+ + {% blocktrans with verbose_name=view.verbose_name %} Adicionar Composição {% endblocktrans %} + + {% block more_buttons %}{% endblock more_buttons %} +
+


{% if composicao_id != 0 %} @@ -18,7 +25,7 @@ - + {% csrf_token %}