Browse Source

WIP

pull/264/head
Edward Ribeiro 10 years ago
parent
commit
28a34e6a02
  1. 164
      parlamentares/views.py

164
parlamentares/views.py

@ -1,9 +1,10 @@
import os import os
from django.contrib import messages from django.contrib import messages
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse, reverse_lazy
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.views.generic import FormView from django.views.generic import CreateView, FormView, UpdateView
from django.http import HttpResponseRedirect
from crud import Crud from crud import Crud
@ -105,38 +106,26 @@ class ParlamentaresView(FormView):
'parlamentares': parlamentares}) 'parlamentares': parlamentares})
class ParlamentaresCadastroView(FormView): class ParlamentaresCadastroView(CreateView):
template_name = "parlamentares/parlamentares_cadastro.html" template_name = "parlamentares/parlamentares_cadastro.html"
form_class = ParlamentaresForm
def get_success_url(self): model = Parlamentar
return reverse('parlamentares') success_url = reverse_lazy('parlamentares')
def get(self, request, *args, **kwargs): def get_context_data(self, **kwargs):
form = ParlamentaresForm() context = super(ParlamentaresCadastroView, self).get_context_data(**kwargs)
legislatura_id = self.kwargs['pk']
pk = kwargs['pk'] # precisa de legislatura id?
return self.render_to_response({'form': form, 'legislatura_id': pk}) context.update({'legislatura_id': legislatura_id})
return context
def post(self, request, *args, **kwargs):
form = ParlamentaresForm(request.POST) def form_valid(self, form):
form.save()
pk = kwargs['pk'] mandato = Mandato()
mandato.parlamentar = form.instance
if form.is_valid(): mandato.legislatura = Legislatura.objects.get(id=self.kwargs['pk'])
parlamentar = form.save(commit=False) mandato.save()
if 'fotografia' in request.FILES: return HttpResponseRedirect(self.get_success_url())
parlamentar.fotografia = request.FILES['fotografia']
parlamentar.biografia = form.data['biografia']
parlamentar.save()
mandato = Mandato()
mandato.parlamentar = parlamentar
mandato.legislatura = Legislatura.objects.get(id=pk)
mandato.save()
return self.form_valid(form)
else:
return self.render_to_response(
{'form': form, 'legislatura_id': pk})
class ParlamentaresEditarView(FormView): class ParlamentaresEditarView(FormView):
@ -180,89 +169,64 @@ class ParlamentaresEditarView(FormView):
return self.render_to_response({'form': form}) return self.render_to_response({'form': form})
class ParlamentaresDependentesView(FormView): class ParlamentaresDependentesView(CreateView):
template_name = "parlamentares/parlamentares_dependentes.html" template_name = "parlamentares/parlamentares_dependentes.html"
form_class = DependenteForm
model = Dependente
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
return reverse('parlamentares_dependentes', kwargs={'pk': pk}) return reverse('parlamentares_dependentes', kwargs={'pk': pk})
def get(self, request, *args, **kwargs): def get_context_data(self, **kwargs):
pid = kwargs['pk'] context = super(ParlamentaresDependentesView, self).get_context_data(**kwargs)
parlamentar = Parlamentar.objects.get(id=pid) pk = self.kwargs['pk']
parlamentar = Parlamentar.objects.get(pk=pk)
dependentes = Dependente.objects.filter( dependentes = Dependente.objects.filter(
parlamentar=parlamentar).order_by('nome', 'tipo') parlamentar=parlamentar).order_by('nome', 'tipo')
# precisa de legislatura_id???
form = DependenteForm() context.update({'object': parlamentar,
'dependentes': dependentes,
return self.render_to_response( 'legislatura_id': parlamentar.mandato_set.last().legislatura.id})
{'object': parlamentar, return context
'dependentes': dependentes,
'form': form, def form_valid(self, form):
'legislatura_id': parlamentar.mandato_set.last().legislatura.id}) parlamentar_id = self.kwargs['pk']
dependente = form.save(commit=False)
def post(self, request, *args, **kwargs): parlamentar = Parlamentar.objects.get(id=parlamentar_id)
form = DependenteForm(request.POST) dependente.parlamentar = parlamentar
dependente.save()
if form.is_valid(): return HttpResponseRedirect(self.get_success_url())
dependente = form.save(commit=False)
pid = kwargs['pk'] class ParlamentaresDependentesEditView(UpdateView):
parlamentar = Parlamentar.objects.get(id=pid)
dependente.parlamentar = parlamentar
dependente.save()
return self.form_valid(form)
else:
pid = kwargs['pk']
parlamentar = Parlamentar.objects.get(id=pid)
dependentes = Dependente.objects.filter(
parlamentar=parlamentar).order_by('nome', 'tipo')
return self.render_to_response(
{'object': parlamentar,
'dependentes': dependentes,
'form': form,
'legislatura_id': parlamentar.mandato_set.last(
).legislatura.id})
class ParlamentaresDependentesEditView(FormView):
template_name = "parlamentares/parlamentares_dependentes_edit.html" template_name = "parlamentares/parlamentares_dependentes_edit.html"
form_class = DependenteEditForm
model = Dependente
pk_url_kwarg = 'dk'
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
return reverse('parlamentares_dependentes', kwargs={'pk': pk}) return reverse('parlamentares_dependentes', kwargs={'pk': pk})
def get(self, request, *args, **kwargs):
dependente = Dependente.objects.get(id=kwargs['dk'])
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
form = DependenteEditForm(instance=dependente)
return self.render_to_response(
{'form': form,
'object': parlamentar,
'legislatura_id': dependente.parlamentar.mandato_set.last(
).legislatura_id})
def post(self, request, *args, **kwargs):
dependente = Dependente.objects.get(id=kwargs['dk'])
form = DependenteEditForm(request.POST, instance=dependente)
parlamentar = Parlamentar.objects.get(id=kwargs['pk'])
if form.is_valid():
if 'salvar' in request.POST: def get_context_data(self, **kwargs):
dependente.save() context = super(ParlamentaresDependentesEditView, self).get_context_data(**kwargs)
elif 'excluir' in request.POST: parlamentar = Parlamentar.objects.get(id=self.kwargs['pk'])
dependente.delete() context.update({
return self.form_valid(form) 'object': parlamentar,
else: 'legislatura_id': parlamentar.mandato_set.last(
return self.render_to_response( ).legislatura_id}
{'form': form, )
'object': parlamentar, return context
'legislatura_id': dependente.parlamentar.mandato_set.last(
).legislatura_id}) def form_valid(self, form):
if 'salvar' in request.POST:
form.save()
elif 'excluir' in request.POST:
dependente = form.instance
dependente.delete()
class MesaDiretoraView(FormView): class MesaDiretoraView(FormView):

Loading…
Cancel
Save