diff --git a/sapl/integracao_hub/serializacao.py b/sapl/integracao_hub/serializacao.py index 7c80f6c4e..ed8f1d581 100644 --- a/sapl/integracao_hub/serializacao.py +++ b/sapl/integracao_hub/serializacao.py @@ -23,7 +23,11 @@ def _materia_da_proposicao(proposicao): return None return { 'id': materia.pk, - 'tipo': materia.tipo_id, + 'tipo': { + 'id': materia.tipo_id, + 'sigla': materia.tipo.sigla if materia.tipo else None, + 'descricao': materia.tipo.descricao if materia.tipo else None, + }, 'numero': materia.numero, 'ano': materia.ano, 'numero_protocolo': materia.numero_protocolo, @@ -36,7 +40,10 @@ def serializar_proposicao(proposicao): 'id': proposicao.pk, 'ano': proposicao.ano, 'numero_proposicao': proposicao.numero_proposicao, - 'tipo': proposicao.tipo_id, + 'tipo': { + 'id': proposicao.tipo_id, + 'descricao': proposicao.tipo.descricao if proposicao.tipo else None, + }, 'autor': proposicao.autor_id, 'ementa': proposicao.descricao, 'rascunho': proposicao.data_envio is None, diff --git a/sapl/integracao_hub/views.py b/sapl/integracao_hub/views.py index 080040995..64d2b664d 100644 --- a/sapl/integracao_hub/views.py +++ b/sapl/integracao_hub/views.py @@ -180,7 +180,7 @@ class ProposicoesCadastradasPollView(PollView): status=status.HTTP_400_BAD_REQUEST) itens = (Proposicao.objects .filter(id__gt=id_gt, cancelado=False) - .select_related('materia_gerada', 'content_type') + .select_related('tipo', 'materia_gerada__tipo', 'content_type') .order_by('id')[:self._limite(request)]) return self._resposta(itens, serializar_proposicao) @@ -197,7 +197,7 @@ class PollPorDataView(PollView): filtro = {'%s__gte' % self.campo_cursor: desde, 'cancelado': False} itens = (Proposicao.objects .filter(**filtro) - .select_related('materia_gerada', 'content_type') + .select_related('tipo', 'materia_gerada__tipo', 'content_type') .order_by(self.campo_cursor, 'id')[:self._limite(request)]) return self._resposta(itens, serializar_proposicao)