Browse Source

Fix bug in Mesa Diretora when there is no data in Legislatura and Sessão Legislativa

pull/202/head
Eduardo Calil 9 years ago
parent
commit
005a3336fc
  1. 29
      parlamentares/views.py
  2. 1
      templates/mesa_diretora/mesa_diretora.html

29
parlamentares/views.py

@ -4,6 +4,7 @@ from re import sub
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, ButtonHolder, Fieldset, Layout, Submit from crispy_forms.layout import HTML, ButtonHolder, Fieldset, Layout, Submit
from django import forms from django import forms
from django.contrib import messages
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.forms import ModelForm from django.forms import ModelForm
from django.utils.html import strip_tags from django.utils.html import strip_tags
@ -631,9 +632,27 @@ class MesaDiretoraView(FormMixin, GenericView):
def get_success_url(self): def get_success_url(self):
return reverse('mesa_diretora') 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.\
é possível compor uma Mesa Diretora quando 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): def get(self, request, *args, **kwargs):
form = MesaDiretoraForm() form = MesaDiretoraForm()
if (not Legislatura.objects.all() or
not SessaoLegislativa.objects.all()):
return self.validation(form, request)
mesa = SessaoLegislativa.objects.filter( mesa = SessaoLegislativa.objects.filter(
legislatura=Legislatura.objects.last()).first( legislatura=Legislatura.objects.last()).first(
).composicaomesa_set.all() ).composicaomesa_set.all()
@ -667,6 +686,11 @@ class MesaDiretoraView(FormMixin, GenericView):
form = MesaDiretoraForm(request.POST) form = MesaDiretoraForm(request.POST)
if 'Incluir' in 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 = ComposicaoMesa()
composicao.sessao_legislativa = SessaoLegislativa.objects.get( composicao.sessao_legislativa = SessaoLegislativa.objects.get(
id=form.data['sessao']) id=form.data['sessao'])
@ -677,6 +701,11 @@ class MesaDiretoraView(FormMixin, GenericView):
composicao.save() composicao.save()
return self.form_valid(form) return self.form_valid(form)
elif 'Excluir' in request.POST: 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: if 'composicao_mesa' in request.POST:
ids = request.POST['composicao_mesa'].split(':') ids = request.POST['composicao_mesa'].split(':')
ComposicaoMesa.objects.filter( ComposicaoMesa.objects.filter(

1
templates/mesa_diretora/mesa_diretora.html

@ -7,6 +7,7 @@
{% csrf_token %} {% csrf_token %}
<fieldset> <fieldset>
<legend>Escolha da Legislatura e da Sessão Legislativa</legend> <legend>Escolha da Legislatura e da Sessão Legislativa</legend>
<ul class="small-block-grid-2 medium-block-grid-2 large-block-grid-2"> <ul class="small-block-grid-2 medium-block-grid-2 large-block-grid-2">
<li> <li>
<label>Escolha uma Legislatura</label> <label>Escolha uma Legislatura</label>

Loading…
Cancel
Save