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: Composicao:
Composição: Composição:
- periodo - 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, ComissaoParlamentarEditView,
ComissaoParlamentarIncluirView, ComposicaoCrud, ComissaoParlamentarIncluirView, ComposicaoCrud,
MateriasTramitacaoListView, PeriodoComposicaoCrud, MateriasTramitacaoListView, PeriodoComposicaoCrud,
TipoComissaoCrud) TipoComissaoCrud, ParticipacaoCrud)
from .apps import AppConfig from .apps import AppConfig
@ -12,7 +12,8 @@ app_name = AppConfig.name
urlpatterns = [ urlpatterns = [
url(r'^comissao/', include(ComissaoCrud.get_urls() + 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$', url(r'^comissao/(?P<pk>\d+)/materias-em-tramitacao$',
MateriasTramitacaoListView.as_view(), name='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 materia.models import Tramitacao
from parlamentares.models import Filiacao from parlamentares.models import Filiacao
from .forms import ComposicaoForm, ParticipacaoCadastroForm
from .models import (CargoComissao, Comissao, Composicao, Participacao, from .models import (CargoComissao, Comissao, Composicao, Participacao,
Periodo, TipoComissao) Periodo, TipoComissao)
@ -19,6 +18,12 @@ PeriodoComposicaoCrud = Crud.build(Periodo, 'periodo_composicao_comissao')
TipoComissaoCrud = Crud.build(TipoComissao, 'tipo_comissao') TipoComissaoCrud = Crud.build(TipoComissao, 'tipo_comissao')
class ParticipacaoCrud(MasterDetailCrud):
model = Participacao
parent_field = 'composicao'
help_path = ''
class ComposicaoCrud(MasterDetailCrud): class ComposicaoCrud(MasterDetailCrud):
model = Composicao model = Composicao
parent_field = 'comissao' parent_field = 'comissao'

4
templates/comissoes/composicao_detail.html

@ -16,7 +16,7 @@
</thead> </thead>
{% for participacao in participacoes %} {% for participacao in participacoes %}
<tr> <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.cargo}}</td>
<td>{{participacao.titular|yesno:"Sim,Não"}}</td> <td>{{participacao.titular|yesno:"Sim,Não"}}</td>
<td>{{participacao.data_designacao|date:"d/m/Y"}}</td> <td>{{participacao.data_designacao|date:"d/m/Y"}}</td>
@ -27,5 +27,5 @@
{% endfor %} {% endfor %}
</table> </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 %} {% endblock detail_content %}

Loading…
Cancel
Save