Browse Source

Add ComposicaoView in Comissões

pull/11/merge
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
d572e0b67c
  1. 49
      comissoes/views.py
  2. 8
      templates/comissoes/comissao_detail.html
  3. 2
      templates/comissoes/comissao_parlamentar.html
  4. 37
      templates/comissoes/composicao.html

49
comissoes/views.py

@ -1,12 +1,13 @@
from django import forms
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from .models import CargoComissao, Comissao, Periodo, TipoComissao
from django.views.generic import ListView
from django.views.generic.edit import FormMixin
from sapl.crud import build_crud
from vanilla import GenericView
from .models import (CargoComissao, Comissao, Composicao, Participacao,
Periodo, TipoComissao)
cargo_crud = build_crud(
CargoComissao, 'cargo_comissao', [
@ -58,9 +59,39 @@ comissao_crud = build_crud(
])
class ComposicaoView(comissao_crud.CrudDetailView):
class ComposicaoForm(forms.Form):
periodo = forms.CharField()
class ComposicaoView(FormMixin, GenericView):
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()
return self.render_to_response({
'participacoes': participacoes,
'composicoes': composicoes,
'composicao_id': composicoes.first().id,
'form': form})
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})
class MateriasView(comissao_crud.CrudDetailView):
template_name = 'comissoes/materias.html'
@ -70,7 +101,5 @@ class ReunioesView(comissao_crud.CrudDetailView):
template_name = 'comissoes/reunioes.html'
class ComissaoParlamentarIncluirView(GenericView):
template_name = "comissoes/comissao_parlamentar.html"
class ComissaoParlamentarIncluirView(comissao_crud.CrudDetailView):
template_name = "comissoes/comissao_parlamentar.html"

8
templates/comissoes/comissao_detail.html

@ -3,9 +3,9 @@
{% block sections_nav %}
<dl class="sub-nav left">
<dd><a href="{% url 'comissao:detail' object.pk %}" class="button secondary">{% trans 'Início' %}</a></dd>
<dd><a href="{% url 'comissao:composicao' object.pk %}" class="button secondary">{% trans 'Composição' %}</a></dd>
<dd><a href="{% url 'comissao:materias' object.pk %}" class="button secondary">{% trans 'Matérias em tramitação' %}</a></dd>
<dd><a href="{% url 'comissao:reunioes' object.pk %}" class="button secondary">{% trans 'Reuniões' %}</a></dd>
<dd><a href="" class="button secondary">{% trans 'Início' %}</a></dd>
<dd><a href="" class="button secondary">{% trans 'Composição' %}</a></dd>
<dd><a href="" class="button secondary">{% trans 'Matérias em tramitação' %}</a></dd>
<dd><a href="" class="button secondary">{% trans 'Reuniões' %}</a></dd>
</dl>
{% endblock sections_nav %}

2
templates/comissoes/comissao_parlamentar.html

@ -2,7 +2,7 @@
{% load i18n %}
{% load crispy_forms_tags %}
<h2>Incluir Parlamentar</h2>
{% block detail_content %}
<h2>Incluir Parlamentar</h2>
{% endblock detail_content %}

37
templates/comissoes/composicao.html

@ -5,6 +5,43 @@
<h2>Composição</h2>
{% block detail_content %}
<table>
<tr>
<th>Nome</th>
<th>Cargo</th>
<th>Titular</th>
<th>Designação</th>
<th>Desligamento</th>
<th>Motivo</th>
<th>Observação</th>
</tr>
<form method="POST">
{% csrf_token %}
<select id="periodo" name="periodo" onChange="form.submit();">
{% for c in composicoes %}
<option value="{{c.id}}" {% if composicao_id == c.id %} selected {% endif %}>
{{ c.periodo.data_inicio|date:"d/m/Y" }} - {{ c.periodo.data_fim|date:"d/m/Y" }}
</option>
{% endfor %}
</select>
</form>
{% for participacao in participacoes %}
{% if participacao.composicao_id == composicao_id %}
<tr>
<td>{{participacao.parlamentar.nome_parlamentar}}</td>
<td>{{participacao.cargo}}</td>
<td>{{participacao.titular|yesno:"Sim,Não"}}</td>
<td>{{participacao.data_designacao|date:"d/m/Y"}}</td>
<td>{{participacao.data_desligamento|date:"d/m/Y"|default:"-"}}</td>
<td>{{participacao.motivo_desligamento|default:"-"}}</td>
<td>{{participacao.observacao|default:"-"}}</td>
</tr>
{% endif %}
{% endfor %}
</table>
<a href="" class="button primary">Incluir Parlamentar</a>
{% endblock detail_content %}
Loading…
Cancel
Save