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 %}