diff --git a/sapl/materia/urls.py b/sapl/materia/urls.py index 1adbdfbba..0034ff548 100644 --- a/sapl/materia/urls.py +++ b/sapl/materia/urls.py @@ -24,7 +24,7 @@ from sapl.materia.views import (AcompanhamentoConfirmarView, TipoFimRelatoriaCrud, TipoMateriaCrud, TipoProposicaoCrud, TramitacaoCrud, TramitacaoEmLoteView, UnidadeTramitacaoCrud, - proposicao_texto, recuperar_materia, + proposicao_texto, recuperar_materia, recuperar_proposicao, ExcluirTramitacaoEmLoteView, RetornarProposicao, MateriaPesquisaSimplesView, DespachoInicialMultiCreateView, @@ -91,6 +91,8 @@ urlpatterns_materia = [ url(r'^materia/(?P[0-9]+)/ta$', MateriaTaView.as_view(), name='materia_ta'), + url(r'^materia/recuperar-proposicao', + recuperar_proposicao, name='recuperar_proposicao'), url(r'^materia/pesquisar-materia$', MateriaLegislativaPesquisaView.as_view(), name='pesquisar_materia'), diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 6c0b4abb5..7e838d378 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -320,6 +320,27 @@ class ProposicaoTaView(IntegracaoTaView): return self.get_redirect_deactivated() +@permission_required('materia.detail_materialegislativa') +def recuperar_proposicao(request): + hash_code = request.GET['codigo'] + + # nao pode estar recebida, nem incorporada. a pesquisa deve ser sobre o começo do codigo + + proposicoes = Proposicao.objects.filter( + hash_code__startswith=hash_code.capitalize(), + data_envio__isnull=False, + data_recebimento__isnull=True, + data_devolucao__isnull=True + ) + + json = {} + for proposicao in proposicoes: + json.update({proposicao.id: proposicao.hash_code}) + + response = JsonResponse(json) + + return response + @permission_required('materia.detail_materialegislativa') def recuperar_materia(request): logger = logging.getLogger(__name__)