diff --git a/comissoes/layouts.yaml b/comissoes/layouts.yaml index 3a2d38a08..1e6dc623b 100644 --- a/comissoes/layouts.yaml +++ b/comissoes/layouts.yaml @@ -24,3 +24,7 @@ Comissao: Temporária: - apelido_temp:8 data_instalacao_temp - data_final_prevista_temp data_prorrogada_temp data_fim_comissao + +Composicao: + Composição: + - periodo diff --git a/comissoes/urls.py b/comissoes/urls.py index edefa5efd..082674ece 100644 --- a/comissoes/urls.py +++ b/comissoes/urls.py @@ -2,7 +2,7 @@ from django.conf.urls import include, url from comissoes.views import (CargoCrud, ComissaoCrud, ComissaoParlamentarEditView, - ComissaoParlamentarIncluirView, ComposicaoView, + ComissaoParlamentarIncluirView, ComposicaoCrud, MateriasTramitacaoListView, PeriodoComposicaoCrud, TipoComissaoCrud) @@ -11,10 +11,9 @@ from .apps import AppConfig app_name = AppConfig.name urlpatterns = [ - url(r'^comissao/', include(ComissaoCrud.get_urls())), + url(r'^comissao/', include(ComissaoCrud.get_urls() + + ComposicaoCrud.get_urls())), - url(r'^comissao/(?P\d+)/composicao$', - ComposicaoView.as_view(), name='composicao'), url(r'^comissao/(?P\d+)/materias-em-tramitacao$', MateriasTramitacaoListView.as_view(), name='materias_em_tramitacao'), diff --git a/comissoes/views.py b/comissoes/views.py index 09bdd137d..e7b1eceba 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -4,7 +4,9 @@ from django.utils.translation import ugettext_lazy as _ from django.views.generic import FormView, ListView import crud.base +import crud.masterdetail from crud.base import Crud +from crud.masterdetail import MasterDetailCrud from materia.models import Tramitacao from parlamentares.models import Filiacao @@ -17,6 +19,14 @@ PeriodoComposicaoCrud = Crud.build(Periodo, 'periodo_composicao_comissao') TipoComissaoCrud = Crud.build(TipoComissao, 'tipo_comissao') +class ComposicaoCrud(MasterDetailCrud): + model = Composicao + parent_field = 'comissao' + help_path = '' + + # class ListView(MasterDetailCrud.ListView): + + class ComissaoCrud(Crud): model = Comissao help_path = 'modulo_comissoes' @@ -25,47 +35,6 @@ class ComissaoCrud(Crud): list_field_names = ['nome', 'sigla', 'tipo', 'data_criacao'] -class ComposicaoView(FormView): - template_name = 'comissoes/composicao.html' - - def get(self, request, *args, **kwargs): - form = ComposicaoForm() - 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) - - 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'])}) - - def post(self, request, *args, **kwargs): - form = ComposicaoForm(request.POST) - - composicoes = Composicao.objects.filter( - comissao_id=self.kwargs['pk']).order_by('-periodo') - participacoes = Participacao.objects.all() - - return self.render_to_response({ - 'participacoes': participacoes, - 'composicoes': composicoes, - 'composicao_id': int(form.data['periodo']), - 'form': form, - 'pk': self.kwargs['pk'], - 'object': Comissao.objects.get(id=self.kwargs['pk'])}) - - class ComissaoParlamentarIncluirView(FormView): template_name = "comissoes/comissao_parlamentar.html" diff --git a/templates/comissoes/subnav.yaml b/templates/comissoes/subnav.yaml index 97526cb9e..8ee080406 100644 --- a/templates/comissoes/subnav.yaml +++ b/templates/comissoes/subnav.yaml @@ -1,6 +1,6 @@ - title: Início url: comissao_detail - title: Composição - url: composicao + url: composicao_list - title: Matérias em Tramitação url: materias_em_tramitacao