Browse Source

Refatora sessao app

pull/261/head
Edward Ribeiro 9 years ago
parent
commit
521c03a506
  1. 85
      sessao/views.py

85
sessao/views.py

@ -3,11 +3,11 @@ from re import sub
from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
from django.core.urlresolvers import reverse, reverse_lazy
from django.forms.utils import ErrorList
from django.utils.html import strip_tags
from django.utils.translation import ugettext_lazy as _
from django.views.generic import ListView
from django.views.generic import CreateView, ListView
from django.views.generic.edit import FormMixin
from rest_framework import generics
@ -39,7 +39,24 @@ tipo_expediente_crud = Crud(TipoExpediente, 'tipo_expediente')
registro_votacao_crud = Crud(RegistroVotacao, '')
class PresencaView(FormMixin, sessao_crud.CrudDetailView):
class PresencaMixin(object):
def get_parlamentares(self):
self.object = self.get_object()
presencas = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.object.id
)
presentes = [p.parlamentar for p in presencas]
for parlamentar in Parlamentar.objects.filter(ativo=True):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
class PresencaView(FormMixin, PresencaMixin, sessao_crud.CrudDetailView):
template_name = 'sessao/presenca.html'
form_class = PresencaForm
@ -74,20 +91,6 @@ class PresencaView(FormMixin, sessao_crud.CrudDetailView):
else:
return self.form_invalid(form)
def get_parlamentares(self):
self.object = self.get_object()
presencas = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.object.id
)
presentes = [p.parlamentar for p in presencas]
for parlamentar in Parlamentar.objects.filter(ativo=True):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:presenca', kwargs={'pk': pk})
@ -97,7 +100,9 @@ class PainelView(sessao_crud.CrudDetailView):
template_name = 'sessao/painel.html'
class PresencaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
class PresencaOrdemDiaView(FormMixin,
PresencaMixin,
sessao_crud.CrudDetailView):
template_name = 'sessao/presenca_ordemdia.html'
form_class = PresencaForm
@ -135,21 +140,6 @@ class PresencaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
else:
return self.form_invalid(form)
def get_parlamentares(self):
self.object = self.get_object()
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.object.id
)
presentes = [p.parlamentar for p in presencas]
for parlamentar in Parlamentar.objects.filter(ativo=True):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:presencaordemdia', kwargs={'pk': pk})
@ -2244,36 +2234,11 @@ class PautaSessaoDetailView(sessao_crud.CrudDetailView):
return self.render_to_response(context)
class SessaoCadastroView(FormMixin, sessao_crud.CrudDetailView):
class SessaoCadastroView(CreateView):
template_name = "sessao/sessao_cadastro.html"
form_class = SessaoForm
def get(self, request, *args, **kwargs):
form = SessaoForm()
return self.render_to_response({'form': form})
def post(self, request, *args, **kwargs):
form = SessaoForm(request.POST)
if form.is_valid():
sessao = form.save(commit=False)
if 'upload_ata' in request.FILES:
sessao.upload_ata = request.FILES['upload_ata']
if 'upload_pauta' in request.FILES:
sessao.upload_pauta = request.FILES['upload_pauta']
sessao.save()
return self.form_valid(form)
else:
return self.render_to_response({'form': form})
def get_success_url(self):
return reverse('sessaoplenaria:list_sessao')
success_url = reverse_lazy('sessaoplenaria:list_sessao')
class SessaoPlenariaView(generics.ListAPIView):

Loading…
Cancel
Save