Browse Source

impl action para expedientes de uma sessão

pull/2647/head
Leandro Roberto 6 years ago
parent
commit
68bb28d1d9
  1. 16
      sapl/api/views.py
  2. 23
      sapl/sessao/models.py

16
sapl/api/views.py

@ -27,7 +27,7 @@ from sapl.materia.models import Proposicao, TipoMateriaLegislativa,\
from sapl.parlamentares.models import Parlamentar
from sapl.protocoloadm.models import DocumentoAdministrativo,\
DocumentoAcessorioAdministrativo, TramitacaoAdministrativo
from sapl.sessao.models import SessaoPlenaria
from sapl.sessao.models import SessaoPlenaria, ExpedienteSessao
from sapl.utils import models_with_gr_for_model, choice_anos_com_sessaoplenaria
class BusinessRulesNotImplementedMixin:
@ -497,3 +497,17 @@ class _SessaoPlenariaViewSet:
serializer = ChoiceSerializer(years, many=True)
return Response(serializer.data)
@action(detail=True)
def expedientes(self, request, *args, **kwargs):
sessao = self.get_object()
page = self.paginate_queryset(sessao.expedientesessao_set.all())
if page is not None:
serializer = SaplApiViewSetConstrutor.get_class_for_model(
ExpedienteSessao).serializer_class(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(page, many=True)
return Response(serializer.data)

23
sapl/sessao/models.py

@ -290,8 +290,11 @@ class TipoExpediente(models.Model):
@reversion.register()
class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria,
on_delete=models.CASCADE)
sessao_plenaria = models.ForeignKey(
SessaoPlenaria,
on_delete=models.CASCADE,
related_name='expedientesessao_set'
)
tipo = models.ForeignKey(TipoExpediente, on_delete=models.PROTECT)
conteudo = models.TextField(
blank=True, verbose_name=_('Conteúdo do expediente'))
@ -379,7 +382,7 @@ class OradorExpediente(AbstractOrador): # OradoresExpediente
@reversion.register()
class OradorOrdemDia(AbstractOrador): # OradoresOrdemDia
class OradorOrdemDia(AbstractOrador): # OradoresOrdemDia
class Meta:
verbose_name = _('Orador da Ordem do Dia')
@ -584,10 +587,14 @@ class ResumoOrdenacao(models.Model):
oitavo = models.CharField(max_length=30)
nono = models.CharField(max_length=30)
decimo = models.CharField(max_length=30)
decimo_primeiro = models.CharField(max_length=30,default="Ocorrências da Sessão")
decimo_segundo = models.CharField(max_length=30, default="Votos Nominais Mat Expediente")
decimo_terceiro = models.CharField(max_length=30, default="Votos Nominais Mat Ordem Dia")
decimo_quarto = models.CharField(max_length=30, default="Oradores da Ordem do Dia")
decimo_primeiro = models.CharField(
max_length=30, default="Ocorrências da Sessão")
decimo_segundo = models.CharField(
max_length=30, default="Votos Nominais Mat Expediente")
decimo_terceiro = models.CharField(
max_length=30, default="Votos Nominais Mat Ordem Dia")
decimo_quarto = models.CharField(
max_length=30, default="Oradores da Ordem do Dia")
class Meta:
verbose_name = _('Ordenação do Resumo de uma Sessão')
@ -596,6 +603,7 @@ class ResumoOrdenacao(models.Model):
def __str__(self):
return 'Ordenação do Resumo de uma Sessão'
@reversion.register()
class TipoRetiradaPauta(models.Model):
descricao = models.CharField(max_length=150, verbose_name=_('Descrição'))
@ -687,6 +695,7 @@ class JustificativaAusencia(models.Model):
using=using,
update_fields=update_fields)
class RetiradaPauta(models.Model):
materia = models.ForeignKey(MateriaLegislativa,
on_delete=models.CASCADE,

Loading…
Cancel
Save