From 95798a8a28ea0091d6f03471bb1fdffdbd797460 Mon Sep 17 00:00:00 2001 From: Eduardo Calil Date: Tue, 4 Oct 2016 17:07:25 -0300 Subject: [PATCH] Melhora a dinamicidade do formulario de criacao de sessao --- sapl/sessao/forms.py | 1 + sapl/sessao/urls.py | 5 +- sapl/sessao/views.py | 21 +++++++-- sapl/templates/sessao/layouts.yaml | 2 +- .../templates/sessao/sessaoplenaria_form.html | 47 +++++++++++++++++++ 5 files changed, 71 insertions(+), 5 deletions(-) diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 4a4116003..3320ab685 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -26,6 +26,7 @@ def pega_anos(): except: return [] + ANO_CHOICES = [('', '---------')] + pega_anos() MES_CHOICES = [('', '---------')] + RANGE_MESES DIA_CHOICES = [('', '---------')] + RANGE_DIAS_MES diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index efbfbaf9a..9dcbc3e86 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -23,7 +23,8 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente, abrir_votacao_ordem_view, recuperar_materia, recuperar_numero_sessao, reordernar_materias_expediente, - reordernar_materias_ordem) + reordernar_materias_ordem, + sessao_legislativa_legislatura_ajax) from .apps import AppConfig @@ -43,6 +44,8 @@ urlpatterns = [ url(r'^recuperar-materia/', recuperar_materia), url(r'^recuperar-numero-sessao/', recuperar_numero_sessao), + url(r'^sessao-legislativa-legislatura-ajax/', + sessao_legislativa_legislatura_ajax), url(r'^(?P\d+)/(?P\d+)/abrir-votacao-expediente$', abrir_votacao_expediente_view, diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index daff34b99..99a6555e4 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -369,16 +369,31 @@ class OradorCrud(OradorCrud): def recuperar_numero_sessao(request): try: - numero = SessaoPlenaria.objects.filter( - tipo__pk=request.GET['tipo']).last().numero + sessao = SessaoPlenaria.objects.filter( + tipo__pk=request.GET['tipo']).last() except ObjectDoesNotExist: response = JsonResponse({'numero': 1}) else: - response = JsonResponse({'numero': numero + 1}) + if sessao: + response = JsonResponse({'numero': sessao.numero + 1}) + else: + response = JsonResponse({'numero': 1}) return response +def sessao_legislativa_legislatura_ajax(request): + try: + sessao = SessaoLegislativa.objects.filter( + legislatura=request.GET['legislatura']).order_by('-data_inicio') + except ObjectDoesNotExist: + sessao = SessaoLegislativa.objects.all().order_by('-data_inicio') + + lista_sessoes = [(s.id, s.__str__()) for s in sessao] + + return JsonResponse({'sessao_legislativa': lista_sessoes}) + + class SessaoCrud(Crud): model = SessaoPlenaria help_path = 'sessao_plenaria' diff --git a/sapl/templates/sessao/layouts.yaml b/sapl/templates/sessao/layouts.yaml index 18044db77..e4ccdf13f 100644 --- a/sapl/templates/sessao/layouts.yaml +++ b/sapl/templates/sessao/layouts.yaml @@ -5,7 +5,7 @@ TipoSessaoPlenaria: SessaoPlenaria: {% trans 'Dados Básicos' %}: - - numero:1 tipo:3 legislatura sessao_legislativa + - tipo:3 numero:1 legislatura sessao_legislativa - data_inicio:5 hora_inicio:5 iniciada - data_fim:5 hora_fim:5 finalizada - upload_pauta upload_ata diff --git a/sapl/templates/sessao/sessaoplenaria_form.html b/sapl/templates/sessao/sessaoplenaria_form.html index 5e9281eba..3b71819e6 100644 --- a/sapl/templates/sessao/sessaoplenaria_form.html +++ b/sapl/templates/sessao/sessaoplenaria_form.html @@ -7,6 +7,7 @@ {% endblock %}