From 327c647f480892c474d1aeceb5a94b598adfabf6 Mon Sep 17 00:00:00 2001 From: Eliseu Egewarth Date: Mon, 8 May 2017 18:22:43 -0300 Subject: [PATCH] Adiciona RedirecionaSAPLIndexRedirectView Cria classe RedirecionaSAPLIndexRedirectView Adiciona url_pattern '/default_index_html' Adiciona '/default_index_html' a lista de prefixos em test_urls.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adiciona RedirecionaComissaoListRedirectView e RedirecionaComissaoDetailRedirectView Mapeia sapl.comissao:comissao_detail e sapl.comissao:comissao_list às urls antigas Adiciona 'comissao/comissao_index_html' e 'comissao/comissao_mostrar_proc' a lista de prefixos em test_urls.py Adiciona RedirecionaPautaSessaoDetailRedirectView Redireciona para 'sapl.sessao:pauta_sessao_detail' se receber 'cod_sessao_plen' Redireciona para 'sapl.sessao:pesquisar_pauta' caso contrário Adiciona 'consultas/pauta_sessao/pauta_sessao_plen_mostrar_proc' a lista de urls Adiciona url na lista de url_patterns em redireciona_urls.url.py Adiciona url na lista de prefixos em test_urls.py Adiciona RedirecionaPautaSessaoListRedirectView Redireciona para 'sapl.sessao:pesquisar_pauta' Adiciona 'consultas/pauta_sessao/pauta_sessao_index_html' a lista de urls Adiciona url na lista de url_patterns em redireciona_urls.url.py Adiciona url na lista de prefixos em test_urls.py Adiciona RedirecionaPesquisarSessaoPlenariaRedirectView Redireciona para 'sapl.sessao:pesquisar_sessao' Adiciona 'consultas/sessao_plenaria/sessao_plenaria_index_html' a lista de urls Adiciona url na lista de url_patterns em redireciona_urls.url.py Adiciona url na lista de prefixos em test_urls.py Adiciona RedirecionaSessaoPlenariaDetailRedirectView Redireciona para 'sapl.sessao:sessaoplenaria_detail' Adiciona 'consultas/sessao_plenaria/agenda_sessao_plen_mostrar_proc' a lista de urls Adiciona url na lista de url_patterns em redireciona_urls.url.py Adiciona url na lista de prefixos em test_urls.py Remove sufixo 'RedirectView' do nome das classes Signed-off-by: Eliseu Egewarth --- sapl/redireciona_urls/urls.py | 44 +++++++++-- sapl/redireciona_urls/views.py | 131 ++++++++++++++++++++++++++++++++- sapl/test_urls.py | 11 ++- 3 files changed, 174 insertions(+), 12 deletions(-) diff --git a/sapl/redireciona_urls/urls.py b/sapl/redireciona_urls/urls.py index 3944b2acb..97c583725 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -1,18 +1,46 @@ +from .views import ( + RedirecionaComissaoDetail, + RedirecionaComissaoList, + RedirecionaParlamentarDetail, + RedirecionaParlamentarList, + RedirecionaPautaSessaoDetail, + RedirecionaPautaSessaoList, + RedirecionaSessaoPlenariaList, + RedirecionaSAPLIndex, + RedirecionaSessaoPlenariaDetail) from django.conf.urls import url -from .views import ( - RedirecionaParlamentarDetailRedirectView, - RedirecionaParlamentarListRedirectView) from .apps import AppConfig app_name = AppConfig.name urlpatterns = [ - url(r'^parlamentar/parlamentar_mostrar_proc$', - RedirecionaParlamentarDetailRedirectView.as_view(), + 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'^parlamentar/parlamentar_index_html$', - RedirecionaParlamentarListRedirectView.as_view(), + url(r'^consultas/parlamentar/parlamentar_index_html$', + RedirecionaParlamentarList.as_view(), name='redireciona_parlamentar_list'), -] \ No newline at end of file + 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'), +] diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index 51a7d73d0..7118305e3 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -2,7 +2,14 @@ from django.core.urlresolvers import NoReverseMatch, reverse from django.views.generic import RedirectView -class RedirecionaParlamentarDetailRedirectView(RedirectView): +class RedirecionaSAPLIndex(RedirectView): + permanent = True + + def get(self, request, *args, **kwargs): + self.url = '/' + return super(RedirecionaSAPLIndexRedirectView, self).get(self, request, *args, **kwargs) + +class RedirecionaParlamentarDetail(RedirectView): permanent = True def get_redirect_url(self): @@ -17,7 +24,7 @@ class RedirecionaParlamentarDetailRedirectView(RedirectView): return reverse('sapl.parlamentares:parlamentar_list') -class RedirecionaParlamentarListRedirectView(RedirectView): +class RedirecionaParlamentarList(RedirectView): permanent = True query_string = True @@ -33,3 +40,123 @@ class RedirecionaParlamentarListRedirectView(RedirectView): url = "%s%s" % (url, args) return url + + +class RedirecionaComissaoList(RedirectView): + permanent = True + + def get_redirect_url(self): + + try: + url = reverse('sapl.comissoes:comissao_list') + except NoReverseMatch: + return None + return url + + +class RedirecionaComissaoDetail(RedirectView): + permanent = True + + def get_redirect_url(self): + pk = self.request.GET.get('cod_comissao', '') + + if pk: + kwargs = {'pk': pk} + return reverse( + 'sapl.comissoes:comissao_detail', + kwargs=kwargs) + else: + return reverse('sapl.comissoes:comissao_list') + + +class RedirecionaPautaSessaoDetail(RedirectView): + permanent = True + + def get_redirect_url(self): + pk = self.request.GET.get('cod_sessao_plen', '') + + if pk: + kwargs = {'pk': pk} + return reverse( + 'sapl.sessao:pauta_sessao_detail', + kwargs=kwargs) + else: + return reverse('sapl.sessao:pesquisar_pauta') + + +class RedirecionaPautaSessaoList(RedirectView): + permanent = True + + def get_redirect_url(self): + try: + url = reverse('sapl.sessao:pesquisar_pauta') + except NoReverseMatch: + return None + + pk = self.request.GET.get('dat_sessao_sel', '') + + 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): + permanent = True + + def get_redirect_url(self): + try: + url = reverse('sapl.sessao:pesquisar_sessao') + except NoReverseMatch: + return None + + year = self.request.GET.get('ano_sessao_sel', '') + if year: + month = self.request.GET.get('mes_sessao_sel', '') + else: + month = '' + + if month: + day = self.request.GET.get('dia_sessao_sel', '') + else: + 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 + + +class RedirecionaSessaoPlenariaDetail(RedirectView): + permanent = True + + def get_redirect_url(self): + pk = self.request.GET.get('cod_sessao_plen', '') + + if pk: + kwargs = {'pk': pk} + return reverse( + 'sapl.sessao:sessaoplenaria_detail', + kwargs=kwargs) + else: + return reverse('sapl.sessao:pesquisar_sessao') diff --git a/sapl/test_urls.py b/sapl/test_urls.py index 5bf84f58c..74a38b6d5 100644 --- a/sapl/test_urls.py +++ b/sapl/test_urls.py @@ -174,8 +174,15 @@ apps_url_patterns_prefixs_and_users = { ]}, 'redireciona_urls': { 'prefixs': [ - '/parlamentar/parlamentar_index_html', - '/parlamentar/parlamentar_mostrar_proc', + '/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', ]}, 'lexml': { 'prefixs': [