Browse Source

Add edit/delete mandato

pull/98/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
5dfe4dde57
  1. 8
      parlamentares/urls.py
  2. 135
      parlamentares/views.py
  3. 7
      templates/parlamentares/parlamentares_cadastro.html
  4. 7
      templates/parlamentares/parlamentares_dependentes.html
  5. 7
      templates/parlamentares/parlamentares_dependentes_edit.html
  6. 9
      templates/parlamentares/parlamentares_filiacao.html
  7. 7
      templates/parlamentares/parlamentares_filiacao_edit.html
  8. 48
      templates/parlamentares/parlamentares_mandato.html
  9. 21
      templates/parlamentares/parlamentares_mandato_edit.html

8
parlamentares/urls.py

@ -1,5 +1,7 @@
from django.conf.urls import include, url from django.conf.urls import include, url
from parlamentares.views import (FiliacaoEditView, FiliacaoView, from parlamentares.views import (FiliacaoEditView, FiliacaoView,
MandatoEditView, MandatoView,
MesaDiretoraView, ParlamentaresCadastroView, MesaDiretoraView, ParlamentaresCadastroView,
ParlamentaresDependentesEditView, ParlamentaresDependentesEditView,
ParlamentaresDependentesView, ParlamentaresDependentesView,
@ -45,6 +47,12 @@ urlpatterns = [
url(r'^parlamentares/(?P<pk>\d+)/filiacao/(?P<dk>\d+)$', url(r'^parlamentares/(?P<pk>\d+)/filiacao/(?P<dk>\d+)$',
FiliacaoEditView.as_view(), FiliacaoEditView.as_view(),
name='parlamentares_filiacao_edit'), name='parlamentares_filiacao_edit'),
url(r'^parlamentares/(?P<pk>\d+)/mandato$',
MandatoView.as_view(),
name='parlamentares_mandato'),
url(r'^parlamentares/(?P<pk>\d+)/mandato/(?P<dk>\d+)$',
MandatoEditView.as_view(),
name='parlamentares_mandato_edit'),
url(r'^parlamentares/(?P<pk>\d+)/(?P<pid>\d+)/editar$', url(r'^parlamentares/(?P<pk>\d+)/(?P<pid>\d+)/editar$',
ParlamentaresEditarView.as_view(), name='parlamentares_editar'), ParlamentaresEditarView.as_view(), name='parlamentares_editar'),

135
parlamentares/views.py

@ -736,3 +736,138 @@ class FiliacaoEditView(FormMixin, GenericView):
'parlamentar': parlamentar, 'parlamentar': parlamentar,
'legislatura_id': parlamentar.mandato_set.last( 'legislatura_id': parlamentar.mandato_set.last(
).legislatura_id}) ).legislatura_id})
class MandatoForm(ModelForm):
class Meta:
model = Mandato
fields = ['legislatura',
'coligacao',
'votos_recebidos',
'data_fim_mandato',
'data_expedicao_diploma',
'observacao']
def __init__(self, *args, **kwargs):
row1 = sapl.layout.to_row(
[('legislatura', 4),
('coligacao', 4),
('votos_recebidos', 4)])
row2 = sapl.layout.to_row(
[('data_fim_mandato', 6),
('data_expedicao_diploma', 6)])
row3 = sapl.layout.to_row(
[('observacao', 12)])
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset('Adicionar Mandato', row1, row2, row3,
ButtonHolder(
Submit('Salvar', 'Salvar',
css_class='button primary'),
))
)
super(MandatoForm, self).__init__(
*args, **kwargs)
class MandatoEditForm(MandatoForm):
def __init__(self, *args, **kwargs):
super(MandatoEditForm, self).__init__(
*args, **kwargs)
self.helper.layout[0][-1:] = ButtonHolder(
Submit('Salvar', 'Salvar',
css_class='button primary'),
HTML('&nbsp;'),
Submit('Excluir', 'Excluir',
css_class='button primary'),)
class MandatoView(FormMixin, GenericView):
template_name = "parlamentares/parlamentares_mandato.html"
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('parlamentares_mandato', kwargs={'pk': pk})
def get(self, request, *args, **kwargs):
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
mandatos = Mandato.objects.filter(
parlamentar=parlamentar)
form = MandatoForm()
return self.render_to_response(
{'parlamentar': parlamentar,
'mandatos': mandatos,
'form': form,
'legislatura_id': parlamentar.mandato_set.last().legislatura.id})
def post(self, request, *args, **kwargs):
form = MandatoForm(request.POST)
if form.is_valid():
mandato = form.save(commit=False)
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
mandato.parlamentar = parlamentar
mandato.save()
return self.form_valid(form)
else:
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
mandatos = Mandato.objects.filter(
parlamentar=parlamentar)
return self.render_to_response(
{'parlamentar': parlamentar,
'mandatos': mandatos,
'form': form,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id})
class MandatoEditView(FormMixin, GenericView):
template_name = "parlamentares/parlamentares_mandato_edit.html"
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('parlamentares_mandato', kwargs={'pk': pk})
def get(self, request, *args, **kwargs):
mandato = Mandato.objects.get(id=kwargs['dk'])
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
form = MandatoEditForm(instance=mandato)
return self.render_to_response(
{'form': form,
'parlamentar': parlamentar,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura_id})
def post(self, request, *args, **kwargs):
mandato = Mandato.objects.get(id=kwargs['dk'])
form = MandatoEditForm(request.POST, instance=mandato)
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
if form.is_valid():
if 'Salvar' in request.POST:
mandato.save()
elif 'Excluir' in request.POST:
mandato.delete()
return self.form_valid(form)
else:
return self.render_to_response(
{'form': form,
'parlamentar': parlamentar,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura_id})

7
templates/parlamentares/parlamentares_cadastro.html

@ -3,10 +3,15 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block sections_nav %} {% block sections_nav %}
<dl class="sub-nav left"> <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="{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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_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> <dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl> </dl>
{% endblock sections_nav %} {% endblock sections_nav %}
{% block detail_content %} {% block detail_content %}

7
templates/parlamentares/parlamentares_dependentes.html

@ -3,10 +3,15 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block actions %} {% block actions %}
<dl class="sub-nav left"> <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="{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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_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> <dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl> </dl>
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}

7
templates/parlamentares/parlamentares_dependentes_edit.html

@ -3,10 +3,15 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block actions %} {% block actions %}
<dl class="sub-nav left"> <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="{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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_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> <dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl> </dl>
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}

9
templates/parlamentares/parlamentares_filiacao.html

@ -3,10 +3,15 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block actions %} {% block actions %}
<dl class="sub-nav left"> <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="{% 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_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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> <dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl> </dl>
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}

7
templates/parlamentares/parlamentares_filiacao_edit.html

@ -3,10 +3,15 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block actions %} {% block actions %}
<dl class="sub-nav left"> <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="{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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_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> <dd><a href="{% url 'parlamentares_dependentes' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Dependentes' %}</a></dd>
</dl> </dl>
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}

48
templates/parlamentares/parlamentares_mandato.html

@ -0,0 +1,48 @@
{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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 %}
{% block detail_content %}
<strong>Parlamentar: </strong>{{ parlamentar.nome_parlamentar }}
<fieldset>
<legend>Mandatos</legend>
<table>
<tr>
<th><strong>Legislatura</strong></th>
<th><strong>Coligação</strong></th>
<th><strong>Fim Mandato</strong></th>
<th><strong>Exp. Diploma</strong></th>
<th><strong>Nº Votos</strong></th>
<th><strong>Observação</strong></th>
</tr>
{% for m in mandatos %}
<tr>
<td><a href="{% url 'parlamentares_mandato_edit' parlamentar.id m.id %}">{{m.legislatura}}</a></td>
<td>{{m.coligacao}}</td>
<td>{{m.data_fim_mandato}}</td>
<td>{{m.data_expedicao_diploma}}</td>
<td>{{m.votos_recebidos}}</td>
<td>{{m.observacao}}</td>
</tr>
{% endfor %}
</table>
</fieldset>
{% crispy form %}
{% endblock detail_content %}

21
templates/parlamentares/parlamentares_mandato_edit.html

@ -0,0 +1,21 @@
{% 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="{% url 'parlamentares_mandato' parlamentar.id %}" id="incluir-parlamentar" class="button secondary">{% trans 'Mandatos' %}</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 %}
{% block detail_content %}
{% crispy form %}
{% endblock detail_content %}
Loading…
Cancel
Save