Browse Source

Add edit/delete filiação

pull/98/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
a38ee7f337
  1. 7
      parlamentares/urls.py
  2. 53
      parlamentares/views.py
  3. 2
      templates/parlamentares/parlamentares_filiacao.html
  4. 16
      templates/parlamentares/parlamentares_filiacao_edit.html

7
parlamentares/urls.py

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

53
parlamentares/views.py

@ -641,8 +641,21 @@ class FiliacaoForm(ModelForm):
*args, **kwargs)
class FiliacaoView(FormMixin, GenericView):
class FiliacaoEditForm(FiliacaoForm):
def __init__(self, *args, **kwargs):
super(FiliacaoEditForm, 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 FiliacaoView(FormMixin, GenericView):
template_name = "parlamentares/parlamentares_filiacao.html"
def get_success_url(self):
@ -679,7 +692,7 @@ class FiliacaoView(FormMixin, GenericView):
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
filiacoes = Filiacao.objects.filter(
parlamentar=parlamentar)
parlamentar=parlamentar)
return self.render_to_response(
{'parlamentar': parlamentar,
@ -687,3 +700,39 @@ class FiliacaoView(FormMixin, GenericView):
'form': form,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id})
class FiliacaoEditView(FormMixin, GenericView):
template_name = "parlamentares/parlamentares_filiacao_edit.html"
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('parlamentares_filiacao', kwargs={'pk': pk})
def get(self, request, *args, **kwargs):
filiacao = Filiacao.objects.get(id=kwargs['dk'])
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
form = FiliacaoEditForm(instance=filiacao)
return self.render_to_response(
{'form': form,
'parlamentar': parlamentar,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura_id})
def post(self, request, *args, **kwargs):
filiacao = Filiacao.objects.get(id=kwargs['dk'])
form = FiliacaoEditForm(request.POST, instance=filiacao)
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
if form.is_valid():
if 'Salvar' in request.POST:
filiacao.save()
elif 'Excluir' in request.POST:
filiacao.delete()
return self.form_valid(form)
else:
return self.render_to_response(
{'form': form,
'parlamentar': parlamentar,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura_id})

2
templates/parlamentares/parlamentares_filiacao.html

@ -24,7 +24,7 @@
</tr>
{% for f in filiacoes %}
<tr>
<td><a href="">{{f.partido.sigla}}</a></td>
<td><a href="{% url 'parlamentares_filiacao_edit' parlamentar.id f.id %}">{{f.partido.sigla}}</a></td>
<td>{{f.data}}</td>
<td>{{f.data_desfiliacao}}</td>
</tr>

16
templates/parlamentares/parlamentares_filiacao_edit.html

@ -0,0 +1,16 @@
{% 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="{% 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