diff --git a/sapl/redireciona_urls/urls.py b/sapl/redireciona_urls/urls.py index 7323f3447..0593e7446 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -1,16 +1,12 @@ from .views import ( - RedirecionaComissaoDetail, - RedirecionaComissaoList, + RedirecionaComissao, RedirecionaMateriaLegislativaDetail, - RedirecionaParlamentarDetail, - RedirecionaParlamentarList, - RedirecionaPautaSessaoDetail, - RedirecionaPautaSessaoList, + RedirecionaParlamentar, + RedirecionaPautaSessao, RedirecionaRelatoriosList, RedirecionaRelatoriosMateriasEmTramitacaoList, - RedirecionaSessaoPlenariaList, - RedirecionaSAPLIndex, - RedirecionaSessaoPlenariaDetail) + RedirecionaSessaoPlenaria, + RedirecionaSAPLIndex) from django.conf.urls import url @@ -22,30 +18,18 @@ urlpatterns = [ url(r'^default_index_html$', RedirecionaSAPLIndex.as_view(), name='redireciona_sapl_index'), - url(r'^consultas/parlamentar/parlamentar_mostrar_proc$', - RedirecionaParlamentarDetail.as_view(), - name='redireciona_parlamentar_detail'), - url(r'^consultas/parlamentar/parlamentar_index_html$', - RedirecionaParlamentarList.as_view(), - name='redireciona_parlamentar_list'), - url(r'^consultas/comissao/comissao_index_html$', - RedirecionaComissaoList.as_view(), - name='redireciona_comissao_list'), - url(r'^consultas/comissao/comissao_mostrar_proc$', - RedirecionaComissaoDetail.as_view(), - name='redireciona_comissao_detail'), - url(r'^consultas/pauta_sessao/pauta_sessao_plen_mostrar_proc$', - RedirecionaPautaSessaoDetail.as_view(), - name='redireciona_pauta_sessao_detail'), - url(r'^consultas/pauta_sessao/pauta_sessao_index_html$', - RedirecionaPautaSessaoList.as_view(), - name='redireciona_pauta_sessao_list'), - url(r'^consultas/sessao_plenaria/sessao_plenaria_index_html$', - RedirecionaSessaoPlenariaList.as_view(), - name='redireciona_sessao_plenaria_list'), - url(r'^consultas/sessao_plenaria/agenda_sessao_plen_mostrar_proc$', - RedirecionaSessaoPlenariaDetail.as_view(), - name='redireciona_sessao_plenaria_detail'), + url(r'^consultas/parlamentar/parlamentar_', + RedirecionaParlamentar.as_view(), + name='redireciona_parlamentar'), + url(r'^consultas/comissao/comissao_', + RedirecionaComissao.as_view(), + name='redireciona_comissao'), + url(r'^consultas/pauta_sessao/pauta_sessao_', + RedirecionaPautaSessao.as_view(), + name='redireciona_pauta_sessao_'), + url(r'^consultas/sessao_plenaria/', + RedirecionaSessaoPlenaria.as_view(), + name='redireciona_sessao_plenaria_'), url(r'^relatorios_administrativos/relatorios_administrativos_index_html$', RedirecionaRelatoriosList.as_view(), name='redireciona_relatorios_list'), diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index 48f50eb12..c04e9d25f 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -44,45 +44,52 @@ class RedirecionaSAPLIndex(RedirectView): self ).get(self, request, *args, **kwargs) -class RedirecionaParlamentarDetail(RedirectView): +class RedirecionaParlamentar(RedirectView): permanent = True def get_redirect_url(self): - pk = self.request.GET.get('cod_parlamentar', '') - - if pk: - kwargs = {'pk': pk} - return reverse(parlamentar_detail, kwargs=kwargs) + url = '' + pk_parlamentar = self.request.GET.get('cod_parlamentar', '') + + if pk_parlamentar: + try: + kwargs = {'pk': pk_parlamentar} + url = reverse(parlamentar_detail, kwargs=kwargs) + except NoReverseMatch: + raise UnknownUrlNameError(parlamentar_detail, kwargs=kwargs) else: - return reverse(parlamentar_list) + try: + url = reverse(parlamentar_list) + except NoReverseMatch: + raise UnknownUrlNameError(parlamentar_list) - -class RedirecionaParlamentarList(RedirectView): - permanent = True - query_string = True - - def get_redirect_url(self): - try: - url = reverse(parlamentar_list) - except NoReverseMatch: - raise UnknownUrlNameError(parlamentar_list) - - pk = self.request.GET.get('hdn_num_legislatura', '') - if pk: - args = '?pk=' + pk - url = "%s%s" % (url, args) + pk = self.request.GET.get('hdn_num_legislatura', '') + if pk: + args = '?pk=' + pk + url = "%s%s" % (url, args) return url -class RedirecionaComissaoList(RedirectView): +class RedirecionaComissao(RedirectView): permanent = True def get_redirect_url(self): - try: - url = reverse(comissao_list) - except NoReverseMatch: - raise UnknownUrlNameError(comissao_list) + url = '' + pk = self.request.GET.get('cod_comissao', '') + + if pk: + kwargs = {'pk': pk} + + 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) return url @@ -90,16 +97,10 @@ class RedirecionaComissaoDetail(RedirectView): permanent = True def get_redirect_url(self): - pk = self.request.GET.get('cod_comissao', '') - - if pk: - kwargs = {'pk': pk} - return reverse(comissao_detail, kwargs=kwargs) - else: return reverse(comissao_list) -class RedirecionaPautaSessaoDetail(RedirectView): +class RedirecionaPautaSessao(RedirectView): permanent = True def get_redirect_url(self): @@ -107,83 +108,75 @@ class RedirecionaPautaSessaoDetail(RedirectView): if pk: kwargs = {'pk': pk} - return reverse(pauta_sessao_detail, kwargs=kwargs) + try: + url = reverse(pauta_sessao_detail, kwargs=kwargs) + except NoReverseMatch: + raise UnknownUrlNameError(pauta_sessao_detail) else: - return reverse(pauta_sessao_list) - -class RedirecionaPautaSessaoList(RedirectView): - permanent = True - - def get_redirect_url(self): - try: - url = reverse(pauta_sessao_list) - except NoReverseMatch: - raise UnknownUrlNameError(pauta_sessao_list) - pk = self.request.GET.get('dat_sessao_sel', '') + try: + url = reverse(pauta_sessao_list) + except NoReverseMatch: + raise UnknownUrlNameError(pauta_sessao_list) + pk = self.request.GET.get('dat_sessao_sel', '') - args = '' + args = '' - if pk: - day, month, year = pk.split('/') - # Remove zeros à esquerda - day = day.lstrip("0") - month = month.lstrip("0") - args = "?data_inicio__year=%s" % (year) - args += "&data_inicio__month=%s" % (month) - args += "&data_inicio__day=%s" % (day) - args += "&tipo=&salvar=Pesquisar" - url = "%s%s" % (url, args) + if pk: + day, month, year = pk.split('/') + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args = "?data_inicio__year=%s" % (year) + args += "&data_inicio__month=%s" % (month) + args += "&data_inicio__day=%s" % (day) + args += "&tipo=&salvar=Pesquisar" + url = "%s%s" % (url, args) return url -class RedirecionaSessaoPlenariaList(RedirectView): +class RedirecionaSessaoPlenaria(RedirectView): permanent = True def get_redirect_url(self): - try: - url = reverse(sessao_plenaria_list) - except NoReverseMatch: - raise UnknownUrlNameError(sessao_plenaria_list) + pk = self.request.GET.get('cod_sessao_plen', '') + url = '' + if pk: + kwargs = {'pk': pk} + try: + url = reverse(sessao_plenaria_detail, kwargs=kwargs) + except NoReverseMatch: + raise UnknownUrlNameError(sessao_plenaria_detail) - year = self.request.GET.get('ano_sessao_sel', '') - if year: - month = self.request.GET.get('mes_sessao_sel', '') else: - month = '' + try: + url = reverse(sessao_plenaria_list) + except NoReverseMatch: + raise UnknownUrlNameError(sessao_plenaria_list) - if month: - day = self.request.GET.get('dia_sessao_sel', '') - else: + year = self.request.GET.get('ano_sessao_sel', '') + month = '' day = '' - tipo_sessao = self.request.GET.get('tip_sessao_sel', '') - - if tipo_sessao or year: - # Remove zeros à esquerda - day = day.lstrip("0") - month = month.lstrip("0") - args = '' - args += "?data_inicio__year=%s" % (year) - args += "&data_inicio__month=%s" % (month) - args += "&data_inicio__day=%s" % (day) - args += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) - url = "%s%s" % (url, args) - - return url - + if year: + month = self.request.GET.get('mes_sessao_sel', '') + if month: + day = self.request.GET.get('dia_sessao_sel', '') -class RedirecionaSessaoPlenariaDetail(RedirectView): - permanent = True + tipo_sessao = self.request.GET.get('tip_sessao_sel', '') - def get_redirect_url(self): - pk = self.request.GET.get('cod_sessao_plen', '') + if tipo_sessao or year: + # Remove zeros à esquerda + day = day.lstrip("0") + month = month.lstrip("0") + args = '' + args += "?data_inicio__year=%s" % (year) + args += "&data_inicio__month=%s" % (month) + args += "&data_inicio__day=%s" % (day) + args += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) + url = "%s%s" % (url, args) - if pk: - kwargs = {'pk': pk} - return reverse(sessao_plenaria_detail, kwargs=kwargs) - else: - return reverse(sessao_plenaria_list) + return url class RedirecionaRelatoriosList(RedirectView): diff --git a/sapl/test_urls.py b/sapl/test_urls.py index 1a9f4307f..123888d3a 100644 --- a/sapl/test_urls.py +++ b/sapl/test_urls.py @@ -175,14 +175,10 @@ apps_url_patterns_prefixs_and_users = { 'redireciona_urls': { 'prefixs': [ '/default_index_html', - '/consultas/parlamentar/parlamentar_index_html', - '/consultas/parlamentar/parlamentar_mostrar_proc', - '/consultas/comissao/comissao_index_html', - '/consultas/comissao/comissao_mostrar_proc', - '/consultas/pauta_sessao/pauta_sessao_plen_mostrar_proc', - '/consultas/pauta_sessao/pauta_sessao_index_html', - '/consultas/sessao_plenaria/sessao_plenaria_index_html', - '/consultas/sessao_plenaria/agenda_sessao_plen_mostrar_proc', + '/consultas/parlamentar/parlamentar_', + '/consultas/comissao/comissao_', + '/consultas/pauta_sessao/pauta_sessao_', + '/consultas/sessao_plenaria/', '/relatorios_administrativos/relatorios_administrativos_index_html', '/relatorios_administrativos/tramitacaoMaterias/tramitacaoMaterias', '/relatorios_administrativos/tramitacaoMaterias/materia_mostrar_proc',