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. 21
      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.parlamentares.models import Parlamentar
from sapl.protocoloadm.models import DocumentoAdministrativo,\ from sapl.protocoloadm.models import DocumentoAdministrativo,\
DocumentoAcessorioAdministrativo, TramitacaoAdministrativo 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 from sapl.utils import models_with_gr_for_model, choice_anos_com_sessaoplenaria
class BusinessRulesNotImplementedMixin: class BusinessRulesNotImplementedMixin:
@ -497,3 +497,17 @@ class _SessaoPlenariaViewSet:
serializer = ChoiceSerializer(years, many=True) serializer = ChoiceSerializer(years, many=True)
return Response(serializer.data) 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)

21
sapl/sessao/models.py

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

Loading…
Cancel
Save