Browse Source

Add register of filiacao in parlamentares

pull/98/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
9a7e44e57c
  1. 8
      parlamentares/urls.py
  2. 76
      parlamentares/views.py
  3. 2
      templates/parlamentares/parlamentares_cadastro.html
  4. 2
      templates/parlamentares/parlamentares_dependentes.html
  5. 2
      templates/parlamentares/parlamentares_dependentes_edit.html
  6. 37
      templates/parlamentares/parlamentares_filiacao.html

8
parlamentares/urls.py

@ -1,6 +1,6 @@
from django.conf.urls import include, url
from parlamentares.views import (MesaDiretoraView, ParlamentaresCadastroView,
from parlamentares.views import (FiliacaoView, MesaDiretoraView,
ParlamentaresCadastroView,
ParlamentaresDependentesEditView,
ParlamentaresDependentesView,
ParlamentaresEditarView, ParlamentaresView,
@ -39,7 +39,9 @@ urlpatterns = [
url(r'^parlamentares/(?P<pk>\d+)/dependentes/(?P<dk>\d+)$',
ParlamentaresDependentesEditView.as_view(),
name='parlamentares_dependentes_edit'),
url(r'^parlamentares/(?P<pk>\d+)/filiacao$',
FiliacaoView.as_view(),
name='parlamentares_filiacao'),
url(r'^parlamentares/(?P<pk>\d+)/(?P<pid>\d+)/editar$',
ParlamentaresEditarView.as_view(), name='parlamentares_editar'),

76
parlamentares/views.py

@ -611,3 +611,79 @@ class MesaDiretoraView(FormMixin, GenericView):
'parlamentares': parlamentares_vagos,
'cargos_vagos': cargos_vagos
})
class FiliacaoForm(ModelForm):
class Meta:
model = Filiacao
fields = ['partido',
'data',
'data_desfiliacao']
def __init__(self, *args, **kwargs):
row1 = sapl.layout.to_row(
[('partido', 4),
('data', 4),
('data_desfiliacao', 4)])
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset('Adicionar Filiação', row1,
ButtonHolder(
Submit('Salvar', 'Salvar',
css_class='button primary'),
))
)
super(FiliacaoForm, self).__init__(
*args, **kwargs)
class FiliacaoView(FormMixin, GenericView):
template_name = "parlamentares/parlamentares_filiacao.html"
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('parlamentares_filiacao', kwargs={'pk': pk})
def get(self, request, *args, **kwargs):
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacoes = Filiacao.objects.filter(
parlamentar=parlamentar)
form = FiliacaoForm()
return self.render_to_response(
{'parlamentar': parlamentar,
'filiacoes': filiacoes,
'form': form,
'legislatura_id': parlamentar.mandato_set.last().legislatura.id})
def post(self, request, *args, **kwargs):
form = FiliacaoForm(request.POST)
if form.is_valid():
filiacao = form.save(commit=False)
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacao.parlamentar = parlamentar
filiacao.save()
return self.form_valid(form)
else:
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacoes = Filiacao.objects.filter(
parlamentar=parlamentar)
return self.render_to_response(
{'parlamentar': parlamentar,
'filiacoes': filiacoes,
'form': form,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id})

2
templates/parlamentares/parlamentares_cadastro.html

@ -5,7 +5,7 @@
<dl class="sub-nav left">
<dd><a href="{% url 'parlamentares_editar' legislatura_id parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Inicio' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_filiacao' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl>
{% endblock sections_nav %}

2
templates/parlamentares/parlamentares_dependentes.html

@ -5,7 +5,7 @@
<dl class="sub-nav left">
<dd><a href="{% url 'parlamentares_editar' legislatura_id parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Inicio' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_filiacao' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl>
{% endblock %}

2
templates/parlamentares/parlamentares_dependentes_edit.html

@ -5,7 +5,7 @@
<dl class="sub-nav left">
<dd><a href="{% url 'parlamentares_editar' legislatura_id parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Inicio' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_filiacao' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl>
{% endblock %}

37
templates/parlamentares/parlamentares_filiacao.html

@ -0,0 +1,37 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block actions %}
<dl class="sub-nav left">
<dd><a href="{% url 'parlamentares_editar' legislatura_id parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Inicio' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</a></dd>
<dd><a href="" id="incluir-parlamentar" class="button secondary">{% trans 'Filiações Partidárias' %}</a></dd>
<dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl>
{% endblock %}
{% block detail_content %}
<strong>Parlamentar: </strong>{{ parlamentar.nome_parlamentar }}
<fieldset>
<legend>Filiações</legend>
<table>
<tr>
<th><strong>Partido</strong></th>
<th><strong>Data Filiação</strong></th>
<th><strong>Data Desfiliação</strong></th>
</tr>
{% for f in filiacoes %}
<tr>
<td><a href="">{{f.partido.sigla}}</a></td>
<td>{{f.data}}</td>
<td>{{f.data_desfiliacao}}</td>
</tr>
{% endfor %}
</table>
</fieldset>
{% crispy form %}
{% endblock detail_content %}
Loading…
Cancel
Save