From 005a3336fc0c0b1e641162926a8791c3ff63666f Mon Sep 17 00:00:00 2001 From: Eduardo Calil Date: Thu, 14 Jan 2016 11:45:48 -0200 Subject: [PATCH] =?UTF-8?q?Fix=20bug=20in=20Mesa=20Diretora=20when=20there?= =?UTF-8?q?=20is=20no=20data=20in=20Legislatura=20and=20Sess=C3=A3o=20Legi?= =?UTF-8?q?slativa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parlamentares/views.py | 29 ++++++++++++++++++++++ templates/mesa_diretora/mesa_diretora.html | 1 + 2 files changed, 30 insertions(+) diff --git a/parlamentares/views.py b/parlamentares/views.py index aa5d86918..0fb664d3e 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -4,6 +4,7 @@ from re import sub from crispy_forms.helper import FormHelper from crispy_forms.layout import HTML, ButtonHolder, Fieldset, Layout, Submit from django import forms +from django.contrib import messages from django.core.urlresolvers import reverse from django.forms import ModelForm from django.utils.html import strip_tags @@ -631,9 +632,27 @@ class MesaDiretoraView(FormMixin, GenericView): def get_success_url(self): return reverse('mesa_diretora') + # Essa função avisa quando se pode compor uma Mesa Legislativa) + def validation(self, form, request): + mensagem = "Não há nenhuma Sessão Legislativa cadastrada.\ + Só é possível compor uma Mesa Diretora quando há uma Sessão\ + Legislativa cadastrada." + messages.add_message(request, messages.INFO, mensagem) + + return self.render_to_response( + {'form': form, + 'legislaturas': Legislatura.objects.all( + ).order_by('-data_inicio'), + 'legislatura_selecionada': Legislatura.objects.last(), + 'cargos_vagos': CargoMesa.objects.all()}) + def get(self, request, *args, **kwargs): form = MesaDiretoraForm() + if (not Legislatura.objects.all() or + not SessaoLegislativa.objects.all()): + return self.validation(form, request) + mesa = SessaoLegislativa.objects.filter( legislatura=Legislatura.objects.last()).first( ).composicaomesa_set.all() @@ -667,6 +686,11 @@ class MesaDiretoraView(FormMixin, GenericView): form = MesaDiretoraForm(request.POST) if 'Incluir' in request.POST: + + if (not Legislatura.objects.all() or + not SessaoLegislativa.objects.all()): + return self.validation(form, request) + composicao = ComposicaoMesa() composicao.sessao_legislativa = SessaoLegislativa.objects.get( id=form.data['sessao']) @@ -677,6 +701,11 @@ class MesaDiretoraView(FormMixin, GenericView): composicao.save() return self.form_valid(form) elif 'Excluir' in request.POST: + + if (not Legislatura.objects.all() or + not SessaoLegislativa.objects.all()): + return self.validation(form, request) + if 'composicao_mesa' in request.POST: ids = request.POST['composicao_mesa'].split(':') ComposicaoMesa.objects.filter( diff --git a/templates/mesa_diretora/mesa_diretora.html b/templates/mesa_diretora/mesa_diretora.html index bb62ffa6f..531f5633a 100644 --- a/templates/mesa_diretora/mesa_diretora.html +++ b/templates/mesa_diretora/mesa_diretora.html @@ -7,6 +7,7 @@ {% csrf_token %}
Escolha da Legislatura e da Sessão Legislativa +