From a27c1c713cebedc79fe5f825a02f6497ab9be5b5 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Mon, 26 Sep 2016 11:21:06 -0300 Subject: [PATCH 1/2] Fix #607 --- saoPlenaria.objects.filter(tipo__pk=2).last() | 63 +++++++++++++++++++ sapl/sessao/urls.py | 8 ++- sapl/sessao/views.py | 12 ++++ .../templates/sessao/sessaoplenaria_form.html | 24 +++++++ 4 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 saoPlenaria.objects.filter(tipo__pk=2).last() create mode 100644 sapl/templates/sessao/sessaoplenaria_form.html diff --git a/saoPlenaria.objects.filter(tipo__pk=2).last() b/saoPlenaria.objects.filter(tipo__pk=2).last() new file mode 100644 index 000000000..ff59b8a6c --- /dev/null +++ b/saoPlenaria.objects.filter(tipo__pk=2).last() @@ -0,0 +1,63 @@ +Init signature: SessaoPlenaria(*args, **kwargs) +Source: +class SessaoPlenaria(models.Model): + # TODO trash??? Seems to have been a FK in the past. Would be: + # andamento_sessao = models.ForeignKey( + # AndamentoSessao, blank=True, null=True) + # TODO analyze querying all hosted databases ! + cod_andamento_sessao = models.PositiveIntegerField(blank=True, null=True) + + tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_('Tipo')) + sessao_legislativa = models.ForeignKey( + SessaoLegislativa, verbose_name=_('Sessão Legislativa')) + legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura')) + # XXX seems to be empty + data_inicio = models.DateField(verbose_name=_('Abertura')) + hora_inicio = models.CharField( + max_length=5, verbose_name=_('Horário (hh:mm)')) + hora_fim = models.CharField( + max_length=5, blank=True, verbose_name=_('Horário (hh:mm)')) + numero = models.PositiveIntegerField(verbose_name=_('Número')) + data_fim = models.DateField( + blank=True, null=True, verbose_name=_('Encerramento')) + url_audio = models.URLField( + max_length=150, blank=True, + verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)')) + url_video = models.URLField( + max_length=150, blank=True, + verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')) + upload_pauta = models.FileField( + blank=True, + null=True, + upload_to=pauta_upload_path, + verbose_name=_('Pauta da Sessão'), + validators=[restringe_tipos_de_arquivo_txt]) + upload_ata = models.FileField( + blank=True, + null=True, + upload_to=ata_upload_path, + verbose_name=_('Ata da Sessão'), + validators=[restringe_tipos_de_arquivo_txt]) + iniciada = models.NullBooleanField(blank=True, + choices=YES_NO_CHOICES, + verbose_name=_('Sessão iniciada?')) + finalizada = models.NullBooleanField(blank=True, + choices=YES_NO_CHOICES, + verbose_name=_('Sessão finalizada?')) + + class Meta: + verbose_name = _('Sessão Plenária') + verbose_name_plural = _('Sessões Plenárias') + + def __str__(self): + return _('%(numero)sª Sessão %(tipo_nome)s' + ' da %(sessao_legislativa_numero)sª Sessão Legislativa' + ' da %(legislatura_id)sª Legislatura') % { + + 'numero': self.numero, + 'tipo_nome': self.tipo.nome, + 'sessao_legislativa_numero': self.sessao_legislativa.numero, + # XXX check if it shouldn't be legislatura.numero + 'legislatura_id': self.legislatura.numero} +File: ~/Documents/sapl/sapl/sessao/models.py +Type: ModelBase diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index e5932af0b..9e16804d2 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -19,9 +19,10 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente, VotacaoNominalExpedienteView, VotacaoNominalView, VotacaoView, abrir_votacao_expediente_view, - abrir_votacao_ordem_view, + abrir_votacao_ordem_view, recuperar_materia, + recuperar_numero_sessao, reordernar_materias_expediente, - reordernar_materias_ordem, recuperar_materia) + reordernar_materias_ordem) from .apps import AppConfig @@ -38,7 +39,8 @@ urlpatterns = [ MateriaOrdemDiaCrud.get_urls())), - url(r'^recuperar_materia/', recuperar_materia, name="recuperar_materia"), + url(r'^recuperar_materia/', recuperar_materia), + url(r'^recuperar_numero_sessao/', recuperar_numero_sessao), 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 091a05021..e9c381192 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -452,6 +452,18 @@ class OradorCrud(OradorCrud): permission_required = permissoes_sessao() +def recuperar_numero_sessao(request): + try: + numero = SessaoPlenaria.objects.filter( + tipo__pk=request.GET['tipo']).last().numero + except ObjectDoesNotExist: + response = JsonResponse({'numero': 1}) + else: + response = JsonResponse({'numero': numero + 1}) + + return response + + class SessaoCrud(Crud): model = SessaoPlenaria help_path = 'sessao_plenaria' diff --git a/sapl/templates/sessao/sessaoplenaria_form.html b/sapl/templates/sessao/sessaoplenaria_form.html new file mode 100644 index 000000000..9f910f8c3 --- /dev/null +++ b/sapl/templates/sessao/sessaoplenaria_form.html @@ -0,0 +1,24 @@ +{% extends "crud/form.html" %} +{% load i18n %} +{% load crispy_forms_tags %} +{% load common_tags %} + +{% block extra_js %} + + + +{% endblock %} From 054253b1e392fb96fe33c7744716c749b437a41b Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Mon, 26 Sep 2016 11:22:58 -0300 Subject: [PATCH 2/2] Remove arquivo lixo --- saoPlenaria.objects.filter(tipo__pk=2).last() | 63 ------------------- 1 file changed, 63 deletions(-) delete mode 100644 saoPlenaria.objects.filter(tipo__pk=2).last() diff --git a/saoPlenaria.objects.filter(tipo__pk=2).last() b/saoPlenaria.objects.filter(tipo__pk=2).last() deleted file mode 100644 index ff59b8a6c..000000000 --- a/saoPlenaria.objects.filter(tipo__pk=2).last() +++ /dev/null @@ -1,63 +0,0 @@ -Init signature: SessaoPlenaria(*args, **kwargs) -Source: -class SessaoPlenaria(models.Model): - # TODO trash??? Seems to have been a FK in the past. Would be: - # andamento_sessao = models.ForeignKey( - # AndamentoSessao, blank=True, null=True) - # TODO analyze querying all hosted databases ! - cod_andamento_sessao = models.PositiveIntegerField(blank=True, null=True) - - tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_('Tipo')) - sessao_legislativa = models.ForeignKey( - SessaoLegislativa, verbose_name=_('Sessão Legislativa')) - legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura')) - # XXX seems to be empty - data_inicio = models.DateField(verbose_name=_('Abertura')) - hora_inicio = models.CharField( - max_length=5, verbose_name=_('Horário (hh:mm)')) - hora_fim = models.CharField( - max_length=5, blank=True, verbose_name=_('Horário (hh:mm)')) - numero = models.PositiveIntegerField(verbose_name=_('Número')) - data_fim = models.DateField( - blank=True, null=True, verbose_name=_('Encerramento')) - url_audio = models.URLField( - max_length=150, blank=True, - verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)')) - url_video = models.URLField( - max_length=150, blank=True, - verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')) - upload_pauta = models.FileField( - blank=True, - null=True, - upload_to=pauta_upload_path, - verbose_name=_('Pauta da Sessão'), - validators=[restringe_tipos_de_arquivo_txt]) - upload_ata = models.FileField( - blank=True, - null=True, - upload_to=ata_upload_path, - verbose_name=_('Ata da Sessão'), - validators=[restringe_tipos_de_arquivo_txt]) - iniciada = models.NullBooleanField(blank=True, - choices=YES_NO_CHOICES, - verbose_name=_('Sessão iniciada?')) - finalizada = models.NullBooleanField(blank=True, - choices=YES_NO_CHOICES, - verbose_name=_('Sessão finalizada?')) - - class Meta: - verbose_name = _('Sessão Plenária') - verbose_name_plural = _('Sessões Plenárias') - - def __str__(self): - return _('%(numero)sª Sessão %(tipo_nome)s' - ' da %(sessao_legislativa_numero)sª Sessão Legislativa' - ' da %(legislatura_id)sª Legislatura') % { - - 'numero': self.numero, - 'tipo_nome': self.tipo.nome, - 'sessao_legislativa_numero': self.sessao_legislativa.numero, - # XXX check if it shouldn't be legislatura.numero - 'legislatura_id': self.legislatura.numero} -File: ~/Documents/sapl/sapl/sessao/models.py -Type: ModelBase