Browse Source

Cria crud de participação

pull/471/head
Eduardo Edson Batista Cordeiro Alves 10 years ago
parent
commit
f826fe13f4
  1. 69
      comissoes/forms.py
  2. 7
      comissoes/layouts.yaml
  3. 5
      comissoes/urls.py
  4. 7
      comissoes/views.py
  5. 4
      templates/comissoes/composicao_detail.html

69
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)

7
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

5
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<pk>\d+)/materias-em-tramitacao$',
MateriasTramitacaoListView.as_view(), name='materias_em_tramitacao'),

7
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'

4
templates/comissoes/composicao_detail.html

@ -16,7 +16,7 @@
</thead>
{% for participacao in participacoes %}
<tr>
<td><a href="">{{participacao.parlamentar.nome_parlamentar}}</a></td>
<td><a href="{% url 'comissoes:participacao_detail' participacao.pk %}">{{participacao.parlamentar.nome_parlamentar}}</a></td>
<td>{{participacao.cargo}}</td>
<td>{{participacao.titular|yesno:"Sim,Não"}}</td>
<td>{{participacao.data_designacao|date:"d/m/Y"}}</td>
@ -27,5 +27,5 @@
{% endfor %}
</table>
<a href="" class="btn btn-primary">Incluir Parlamentar</a>
<a href="{% url 'comissoes:participacao_create' composicao.pk %}" class="btn btn-primary">Incluir Parlamentar</a>
{% endblock detail_content %}

Loading…
Cancel
Save