|
|
@ -18,7 +18,7 @@ from rest_framework.relations import StringRelatedField |
|
|
|
from rest_framework.viewsets import GenericViewSet |
|
|
|
|
|
|
|
from sapl.api.serializers import AutorSerializer, ModelChoiceSerializer,\ |
|
|
|
ChoiceSerializer |
|
|
|
ChoiceSerializer, SessaoPlenariaECidadaniaSerializer |
|
|
|
from sapl.base.models import TipoAutor, Autor, CasaLegislativa |
|
|
|
from sapl.materia.models import MateriaLegislativa |
|
|
|
from sapl.parlamentares.models import Legislatura |
|
|
@ -265,131 +265,6 @@ class AutorChoiceSerializer(ModelChoiceSerializer): |
|
|
|
fields = ['id', 'nome'] |
|
|
|
|
|
|
|
|
|
|
|
class MateriaLegislativaOldSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = MateriaLegislativa |
|
|
|
fields = '__all__' |
|
|
|
|
|
|
|
|
|
|
|
class SessaoPlenariaOldSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
codReuniao = serializers.SerializerMethodField('get_pk_sessao') |
|
|
|
codReuniaoPrincipal = serializers.SerializerMethodField('get_pk_sessao') |
|
|
|
txtTituloReuniao = serializers.SerializerMethodField('get_name') |
|
|
|
txtSiglaOrgao = serializers.SerializerMethodField('get_sigla_orgao') |
|
|
|
txtApelido = serializers.SerializerMethodField('get_name') |
|
|
|
txtNomeOrgao = serializers.SerializerMethodField('get_nome_orgao') |
|
|
|
codEstadoReuniao = serializers.SerializerMethodField( |
|
|
|
'get_estadoSessaoPlenaria') |
|
|
|
txtTipoReuniao = serializers.SerializerMethodField('get_tipo_sessao') |
|
|
|
txtObjeto = serializers.SerializerMethodField('get_assunto_sessao') |
|
|
|
txtLocal = serializers.SerializerMethodField('get_endereco_orgao') |
|
|
|
bolReuniaoConjunta = serializers.SerializerMethodField( |
|
|
|
'get_reuniao_conjunta') |
|
|
|
bolHabilitarEventoInterativo = serializers.SerializerMethodField( |
|
|
|
'get_iterativo') |
|
|
|
idYoutube = serializers.SerializerMethodField('get_url') |
|
|
|
codEstadoTransmissaoYoutube = serializers.SerializerMethodField( |
|
|
|
'get_estadoTransmissaoYoutube') |
|
|
|
datReuniaoString = serializers.SerializerMethodField('get_date') |
|
|
|
|
|
|
|
# Constantes SessaoPlenaria (de 1-9) (apenas 3 serão usados) |
|
|
|
SESSAO_FINALIZADA = 4 |
|
|
|
SESSAO_EM_ANDAMENTO = 3 |
|
|
|
SESSAO_CONVOCADA = 2 |
|
|
|
|
|
|
|
# Constantes EstadoTranmissaoYoutube (de 0 a 2) |
|
|
|
TRANSMISSAO_ENCERRADA = 2 |
|
|
|
TRANSMISSAO_EM_ANDAMENTO = 1 |
|
|
|
SEM_TRANSMISSAO = 0 |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = SessaoPlenaria |
|
|
|
fields = ( |
|
|
|
'codReuniao', |
|
|
|
'codReuniaoPrincipal', |
|
|
|
'txtTituloReuniao', |
|
|
|
'txtSiglaOrgao', |
|
|
|
'txtApelido', |
|
|
|
'txtNomeOrgao', |
|
|
|
'codEstadoReuniao', |
|
|
|
'txtTipoReuniao', |
|
|
|
'txtObjeto', |
|
|
|
'txtLocal', |
|
|
|
'bolReuniaoConjunta', |
|
|
|
'bolHabilitarEventoInterativo', |
|
|
|
'idYoutube', |
|
|
|
'codEstadoTransmissaoYoutube', |
|
|
|
'datReuniaoString' |
|
|
|
) |
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs): |
|
|
|
super(SessaoPlenariaOldSerializer, self).__init__(args, kwargs) |
|
|
|
|
|
|
|
def get_pk_sessao(self, obj): |
|
|
|
return obj.pk |
|
|
|
|
|
|
|
def get_name(self, obj): |
|
|
|
return obj.__str__() |
|
|
|
|
|
|
|
def get_estadoSessaoPlenaria(self, obj): |
|
|
|
if obj.finalizada: |
|
|
|
return self.SESSAO_FINALIZADA |
|
|
|
elif obj.iniciada: |
|
|
|
return self.SESSAO_EM_ANDAMENTO |
|
|
|
else: |
|
|
|
return self.SESSAO_CONVOCADA |
|
|
|
|
|
|
|
def get_tipo_sessao(self, obj): |
|
|
|
return obj.tipo.__str__() |
|
|
|
|
|
|
|
def get_url(self, obj): |
|
|
|
return obj.url_video if obj.url_video else None |
|
|
|
|
|
|
|
def get_iterativo(self, obj): |
|
|
|
return obj.interativa if obj.interativa else False |
|
|
|
|
|
|
|
def get_date(self, obj): |
|
|
|
return "{} {}{}".format( |
|
|
|
obj.data_inicio.strftime("%d/%m/%Y"), |
|
|
|
obj.hora_inicio, |
|
|
|
":00" |
|
|
|
) |
|
|
|
|
|
|
|
def get_estadoTransmissaoYoutube(self, obj): |
|
|
|
if obj.url_video: |
|
|
|
if obj.finalizada: |
|
|
|
return self.TRANSMISSAO_ENCERRADA |
|
|
|
else: |
|
|
|
return self.TRANSMISSAO_EM_ANDAMENTO |
|
|
|
else: |
|
|
|
return self.SEM_TRANSMISSAO |
|
|
|
|
|
|
|
def get_assunto_sessao(self, obj): |
|
|
|
pauta_sessao = '' |
|
|
|
ordem_dia = OrdemDia.objects.filter(sessao_plenaria=obj.pk) |
|
|
|
pauta_sessao = ', '.join([i.materia.__str__() for i in ordem_dia]) |
|
|
|
|
|
|
|
return str(pauta_sessao) |
|
|
|
|
|
|
|
def get_endereco_orgao(self, obj): |
|
|
|
return self.casa().endereco |
|
|
|
|
|
|
|
def get_reuniao_conjunta(self, obj): |
|
|
|
return False |
|
|
|
|
|
|
|
def get_sigla_orgao(self, obj): |
|
|
|
return self.casa().sigla |
|
|
|
|
|
|
|
def get_nome_orgao(self, obj): |
|
|
|
return self.casa().nome |
|
|
|
|
|
|
|
def casa(self): |
|
|
|
casa = CasaLegislativa.objects.first() |
|
|
|
return casa |
|
|
|
|
|
|
|
|
|
|
|
class AutorListView(ListAPIView): |
|
|
|
""" |
|
|
|
Deprecated |
|
|
@ -617,22 +492,6 @@ class AutoresPossiveisListView(ListAPIView): |
|
|
|
serializer_class = AutorChoiceSerializer |
|
|
|
|
|
|
|
|
|
|
|
class MateriaLegislativaViewSet(ListModelMixin, |
|
|
|
RetrieveModelMixin, |
|
|
|
GenericViewSet): |
|
|
|
""" |
|
|
|
Deprecated |
|
|
|
|
|
|
|
TODO Migrar para customização na api automática |
|
|
|
""" |
|
|
|
|
|
|
|
permission_classes = (IsAuthenticated,) |
|
|
|
serializer_class = MateriaLegislativaOldSerializer |
|
|
|
queryset = MateriaLegislativa.objects.all() |
|
|
|
filter_backends = (DjangoFilterBackend,) |
|
|
|
filter_fields = ('numero', 'ano', 'tipo',) |
|
|
|
|
|
|
|
|
|
|
|
class SessaoPlenariaViewSet(ListModelMixin, |
|
|
|
RetrieveModelMixin, |
|
|
|
GenericViewSet): |
|
|
@ -643,7 +502,7 @@ class SessaoPlenariaViewSet(ListModelMixin, |
|
|
|
""" |
|
|
|
|
|
|
|
permission_classes = (AllowAny,) |
|
|
|
serializer_class = SessaoPlenariaOldSerializer |
|
|
|
serializer_class = SessaoPlenariaECidadaniaSerializer |
|
|
|
queryset = SessaoPlenaria.objects.all() |
|
|
|
filter_backends = (DjangoFilterBackend,) |
|
|
|
filter_fields = ('data_inicio', 'data_fim', 'interativa') |
|
|
|