From 79955834c8571101a955d8e786e2642c72a3146b Mon Sep 17 00:00:00 2001 From: Eliseu Egewarth Date: Mon, 14 May 2018 22:45:58 -0300 Subject: [PATCH] =?UTF-8?q?#127=20Adicionando=20urls=20para=20composicao?= =?UTF-8?q?=20de=20comiss=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eliseu Egewarth --- sapl/redireciona_urls/urls.py | 16 ++++++++--- sapl/redireciona_urls/views.py | 49 ++++++++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 6 deletions(-) diff --git a/sapl/redireciona_urls/urls.py b/sapl/redireciona_urls/urls.py index 63afd8b6b..edc9a6a96 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -2,20 +2,22 @@ from django.conf.urls import url from .apps import AppConfig from .views import (RedirecionaAtasList, RedirecionaComissao, + RedirecionaComposicaoComissao, RedirecionaHistoricoTramitacoesList, RedirecionaMateriaLegislativaDetail, RedirecionaMateriaLegislativaList, RedirecionaMateriasPorAnoAutorTipo, RedirecionaMateriasPorAutor, RedirecionaMesaDiretoraView, RedirecionaNormasJuridicasDetail, - RedirecionaNormasJuridicasList, RedirecionaParlamentar, - RedirecionaPautaSessao, RedirecionaPresencaParlamentares, + RedirecionaNormasJuridicasList, + RedirecionaNormasJuridicasTextoIntegral, + RedirecionaParlamentar, RedirecionaPautaSessao, + RedirecionaPresencaParlamentares, RedirecionaRelatoriosList, RedirecionaRelatoriosMateriasEmTramitacaoList, RedirecionaSAPLIndex, RedirecionaSessaoPlenaria) app_name = AppConfig.name - urlpatterns = [ url(r'^default_index_html$', RedirecionaSAPLIndex.as_view(), @@ -26,6 +28,9 @@ urlpatterns = [ url(r'^consultas/comissao/comissao_', RedirecionaComissao.as_view(), name='redireciona_comissao'), + url(r'^consultas/comissao/composicao/composicao_index_html', + RedirecionaComposicaoComissao.as_view(), + name='redireciona_composicaio_comissao'), url(r'^consultas/pauta_sessao/pauta_sessao_', RedirecionaPautaSessao.as_view(), name='redireciona_pauta_sessao_'), @@ -44,6 +49,9 @@ urlpatterns = [ url(r'^consultas/norma_juridica/norma_juridica_mostrar_proc', RedirecionaNormasJuridicasDetail.as_view(), name='redireciona_norma_juridica_detail'), + url(r'^sapl_documentos/normajuridica/(?P[0-9]+)_texto_integral', + RedirecionaNormasJuridicasTextoIntegral.as_view(), + name='redireciona_norma_juridica_texto_integral'), url(r'^relatorios_administrativos/relatorios_administrativos_index_html$', RedirecionaRelatoriosList.as_view(), name='redireciona_relatorios_list'), @@ -71,4 +79,4 @@ urlpatterns = [ url(r'propositurasAnoAutorTipo', RedirecionaMateriasPorAnoAutorTipo.as_view(), name='redireciona_materia_por_ano_autor_tipo_list'), -] +] \ No newline at end of file diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index 369ff7518..82f6f44ea 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -1,14 +1,14 @@ from django.core.urlresolvers import NoReverseMatch, reverse from django.views.generic import RedirectView +from sapl.audiencia.apps import AppConfig as audienciaConfig from sapl.base.apps import AppConfig as atasConfig from sapl.comissoes.apps import AppConfig as comissoesConfig from sapl.materia.apps import AppConfig as materiaConfig from sapl.norma.apps import AppConfig as normaConfig +from sapl.norma.models import NormaJuridica from sapl.parlamentares.apps import AppConfig as parlamentaresConfig from sapl.sessao.apps import AppConfig as sessaoConfig -from sapl.audiencia.apps import AppConfig as audienciaConfig - from .exceptions import UnknownUrlNameError EMPTY_STRING = '' @@ -142,6 +142,33 @@ class RedirecionaComissao(RedirectView): return url +class RedirecionaComposicaoComissao(RedirectView): + permanent = True + + def get_redirect_url(self): + url = EMPTY_STRING + pk_composicao = self.request.GET.get( + 'cod_periodo_comp_sel', EMPTY_STRING) + pk_comissao = self.request.GET.get('cod_comissao', EMPTY_STRING) + + if pk_comissao: + kwargs = {'pk': pk_comissao} + + try: + url = reverse(comissao_detail, kwargs=kwargs) + except NoReverseMatch: + raise UnknownUrlNameError(comissao_detail) + else: + try: + url = reverse(comissao_list) + except NoReverseMatch: + raise UnknownUrlNameError(comissao_list) + + url = has_iframe(url, self.request) + + return url + + class RedirecionaPautaSessao(RedirectView): permanent = True @@ -418,6 +445,24 @@ class RedirecionaNormasJuridicasDetail(RedirectView): return url +class RedirecionaNormasJuridicasTextoIntegral(RedirectView): + permanent = False + + def get_redirect_url(self, **kwargs): + # import ipdb;ipdb.set_trace() + url = EMPTY_STRING + try: + norma = NormaJuridica.objects.get(pk=kwargs['norma_id']) + if norma: + url = norma.texto_integral.url + except Exception as e: + raise e + + url = has_iframe(url, self.request) + + return url + + class RedirecionaNormasJuridicasList(RedirectView): permanent = True