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

53
parlamentares/views.py

@ -641,8 +641,21 @@ class FiliacaoForm(ModelForm):
*args, **kwargs) *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" template_name = "parlamentares/parlamentares_filiacao.html"
def get_success_url(self): def get_success_url(self):
@ -679,7 +692,7 @@ class FiliacaoView(FormMixin, GenericView):
pid = kwargs['pk'] pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid) parlamentar = Parlamentar.objects.get(id=pid)
filiacoes = Filiacao.objects.filter( filiacoes = Filiacao.objects.filter(
parlamentar=parlamentar) parlamentar=parlamentar)
return self.render_to_response( return self.render_to_response(
{'parlamentar': parlamentar, {'parlamentar': parlamentar,
@ -687,3 +700,39 @@ class FiliacaoView(FormMixin, GenericView):
'form': form, 'form': form,
'legislatura_id': parlamentar.mandato_set.last( 'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id}) ).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> </tr>
{% for f in filiacoes %} {% for f in filiacoes %}
<tr> <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}}</td>
<td>{{f.data_desfiliacao}}</td> <td>{{f.data_desfiliacao}}</td>
</tr> </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