From f826fe13f449576def162c1d4310ba2845622879 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Wed, 18 May 2016 10:28:57 -0300 Subject: [PATCH] =?UTF-8?q?Cria=20crud=20de=20participa=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comissoes/forms.py | 69 ---------------------- comissoes/layouts.yaml | 7 +++ comissoes/urls.py | 5 +- comissoes/views.py | 7 ++- templates/comissoes/composicao_detail.html | 4 +- 5 files changed, 18 insertions(+), 74 deletions(-) diff --git a/comissoes/forms.py b/comissoes/forms.py index a3e637e1a..e69de29bb 100644 --- a/comissoes/forms.py +++ b/comissoes/forms.py @@ -1,69 +0,0 @@ -from crispy_forms.helper import FormHelper -from crispy_forms.layout import Fieldset, Layout -from django import forms -from django.forms import ModelForm -from django.utils.translation import ugettext_lazy as _ - -import crispy_layout_mixin -from crispy_layout_mixin import form_actions -from parlamentares.models import Filiacao - -from .models import Participacao - - -class ComposicaoForm(forms.Form): - periodo = forms.CharField() - - -class ParticipacaoCadastroForm(ModelForm): - - YES_OR_NO = ( - (True, 'Sim'), - (False, 'Não') - ) - - parlamentar_id = forms.ModelChoiceField( - label='Parlamentar', - required=True, - queryset=Filiacao.objects.filter( - data_desfiliacao__isnull=True, parlamentar__ativo=True).order_by( - 'parlamentar__nome_parlamentar'), - empty_label='Selecione', - ) - - class Meta: - model = Participacao - fields = ['parlamentar_id', - 'cargo', - 'titular', - 'data_designacao', - 'data_desligamento', - 'motivo_desligamento', - 'observacao'] - - def __init__(self, *args, **kwargs): - self.helper = FormHelper() - - row1 = crispy_layout_mixin.to_row( - [('parlamentar_id', 4), - ('cargo', 4), - ('titular', 4)]) - - row2 = crispy_layout_mixin.to_row( - [('data_designacao', 6), - ('data_desligamento', 6)]) - - row3 = crispy_layout_mixin.to_row( - [('motivo_desligamento', 12)]) - - row4 = crispy_layout_mixin.to_row( - [('observacao', 12)]) - - self.helper.layout = Layout( - Fieldset( - _('Cadastro de Parlamentar em Comissão'), - row1, row2, row3, row4 - ), - form_actions() - ) - super(ParticipacaoCadastroForm, self).__init__(*args, **kwargs) diff --git a/comissoes/layouts.yaml b/comissoes/layouts.yaml index 1e6dc623b..22ffa0f98 100644 --- a/comissoes/layouts.yaml +++ b/comissoes/layouts.yaml @@ -28,3 +28,10 @@ Comissao: Composicao: Composição: - periodo + +Participacao: + Participação: + - parlamentar cargo titular + - data_designacao data_desligamento + - motivo_desligamento + - observacao diff --git a/comissoes/urls.py b/comissoes/urls.py index 082674ece..6a46dde0b 100644 --- a/comissoes/urls.py +++ b/comissoes/urls.py @@ -4,7 +4,7 @@ from comissoes.views import (CargoCrud, ComissaoCrud, ComissaoParlamentarEditView, ComissaoParlamentarIncluirView, ComposicaoCrud, MateriasTramitacaoListView, PeriodoComposicaoCrud, - TipoComissaoCrud) + TipoComissaoCrud, ParticipacaoCrud) from .apps import AppConfig @@ -12,7 +12,8 @@ app_name = AppConfig.name urlpatterns = [ url(r'^comissao/', include(ComissaoCrud.get_urls() + - ComposicaoCrud.get_urls())), + ComposicaoCrud.get_urls() + + ParticipacaoCrud.get_urls())), 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 87efe1725..cd07aceaf 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -10,7 +10,6 @@ from crud.masterdetail import MasterDetailCrud from materia.models import Tramitacao from parlamentares.models import Filiacao -from .forms import ComposicaoForm, ParticipacaoCadastroForm from .models import (CargoComissao, Comissao, Composicao, Participacao, Periodo, TipoComissao) @@ -19,6 +18,12 @@ PeriodoComposicaoCrud = Crud.build(Periodo, 'periodo_composicao_comissao') TipoComissaoCrud = Crud.build(TipoComissao, 'tipo_comissao') +class ParticipacaoCrud(MasterDetailCrud): + model = Participacao + parent_field = 'composicao' + help_path = '' + + class ComposicaoCrud(MasterDetailCrud): model = Composicao parent_field = 'comissao' diff --git a/templates/comissoes/composicao_detail.html b/templates/comissoes/composicao_detail.html index 0a87b9f33..bacfef3de 100644 --- a/templates/comissoes/composicao_detail.html +++ b/templates/comissoes/composicao_detail.html @@ -16,7 +16,7 @@ {% for participacao in participacoes %} - {{participacao.parlamentar.nome_parlamentar}} + {{participacao.parlamentar.nome_parlamentar}} {{participacao.cargo}} {{participacao.titular|yesno:"Sim,Não"}} {{participacao.data_designacao|date:"d/m/Y"}} @@ -27,5 +27,5 @@ {% endfor %} - Incluir Parlamentar + Incluir Parlamentar {% endblock detail_content %}