From caeff0982bb8a2078d51c36ca8a83ecea179cbc5 Mon Sep 17 00:00:00 2001 From: Eliseu Egewarth Date: Mon, 29 May 2017 15:12:57 -0300 Subject: [PATCH] Adiciona RedirecionaPresencaParlamentares Redireciona para 'sapl.base:presenca_sessao' Adiciona 'relatorios_administrativos/presencaSessao' a lista de urls Adiciona url na lista de url_patterns em redireciona_urls.urls.py Adiciona url na lista de prefixos em test_urls.py Adiciona testes para RedirecionaPresencaParlamentares Cria classe RedirecionaPresencaParlamentaresTests Cria teste test_redireciona_presenca_list_sem_parametros Cria teste test_redireciona_presenca_list Signed-off-by: Eliseu Egewarth --- sapl/redireciona_urls/tests.py | 66 ++++++++++++++++++++++++++++++++++ sapl/redireciona_urls/urls.py | 4 +++ sapl/redireciona_urls/views.py | 35 ++++++++++++++++++ sapl/test_urls.py | 1 + 4 files changed, 106 insertions(+) diff --git a/sapl/redireciona_urls/tests.py b/sapl/redireciona_urls/tests.py index bda62bb76..d5767ff27 100644 --- a/sapl/redireciona_urls/tests.py +++ b/sapl/redireciona_urls/tests.py @@ -601,3 +601,69 @@ class RedirecionaHistoricoTramitacoesListTests(TestCase): response = self.client.get(url) self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) + + +class RedirecionaPresencaParlamentaresTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_presencaparlamentar_list' + + def test_redireciona_presenca_list_sem_parametros(self): + args_e = EMPTY_STRING + args = EMPTY_STRING + url = reverse(self.url_pattern) + url_e = reverse('sapl.base:presenca_sessao') + + inicio_intervalo_presenca = EMPTY_STRING + fim_intervalo_presenca = EMPTY_STRING + + args += "?txt_dat_inicio=%s" % ( + inicio_intervalo_presenca) + args += "&txt_dat_fim=%s" % ( + fim_intervalo_presenca) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + inicio_intervalo_presenca = inicio_intervalo_presenca.lstrip("0") + fim_intervalo_presenca = fim_intervalo_presenca.lstrip("0") + + args_e += "?data_inicio_0=%s" % ( + inicio_intervalo_presenca) + args_e += "&data_inicio_1=%s" % ( + fim_intervalo_presenca) + args_e += "&salvar=%s" % ('Pesquisar') + + url_e = "%s%s" % (url_e, args_e) + + response = self.client.get(url) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) + self.assertEqual(response.url, url_e) + + def test_redireciona_presenca_list(self): + args_e = EMPTY_STRING + args = EMPTY_STRING + url = reverse(self.url_pattern) + url_e = reverse('sapl.base:presenca_sessao') + + inicio_intervalo_presenca = '01/02/2015' + fim_intervalo_presenca = '01/02/2017' + + args += "?txt_dat_inicio=%s" % ( + inicio_intervalo_presenca) + args += "&txt_dat_fim=%s" % ( + fim_intervalo_presenca) + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + inicio_intervalo_presenca = inicio_intervalo_presenca.lstrip("0") + fim_intervalo_presenca = fim_intervalo_presenca.lstrip("0") + + args_e += "?data_inicio_0=%s" % ( + inicio_intervalo_presenca) + args_e += "&data_inicio_1=%s" % ( + fim_intervalo_presenca) + args_e += "&salvar=%s" % ('Pesquisar') + + url_e = "%s%s" % (url_e, args_e) + + response = self.client.get(url) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) + self.assertEqual(response.url, url_e) diff --git a/sapl/redireciona_urls/urls.py b/sapl/redireciona_urls/urls.py index 1ff1b56ef..9032689e9 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -9,6 +9,7 @@ from .views import ( RedirecionaNormasJuridicasList, RedirecionaParlamentar, RedirecionaPautaSessao, + RedirecionaPresencaParlamentares, RedirecionaRelatoriosList, RedirecionaRelatoriosMateriasEmTramitacaoList, RedirecionaSessaoPlenaria, @@ -66,4 +67,7 @@ urlpatterns = [ url(r'^relatorios_administrativos/atasSessao', RedirecionaAtasList.as_view(), name='redireciona_atas_list'), + url(r'^relatorios_administrativos/presencaSessao', + RedirecionaPresencaParlamentares.as_view(), + name='redireciona_presencaparlamentar_list'), ] diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index d23a0f5cb..d470bfad0 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -8,11 +8,13 @@ from sapl.norma.apps import AppConfig as normaConfig from sapl.parlamentares.apps import AppConfig as parlamentaresConfig from sapl.sessao.apps import AppConfig as sessaoConfig from sapl.base.apps import AppConfig as atasConfig +from sapl.base.apps import AppConfig as presenca_sessaoConfig EMPTY_STRING = '' app_parlamentares = parlamentaresConfig.name app_atas = atasConfig.name +app_presenca_sessao = presenca_sessaoConfig.name app_comissoes = comissoesConfig.name app_materia = materiaConfig.name app_sessao = sessaoConfig.name @@ -20,6 +22,7 @@ app_norma = normaConfig.name app_relatorios = relatoriosConfig.name pesquisar_atas = ( app_atas + ':atas') +presenca_sessao = ( app_presenca_sessao + ':presenca_sessao') parlamentar_list = ( app_parlamentares + ':parlamentar_list') parlamentar_detail = (app_parlamentares + ':parlamentar_detail') parlamentar_mesa_diretora = (app_parlamentares + ':mesa_diretora') @@ -451,3 +454,35 @@ class RedirecionaAtasList(RedirectView): url = "%s%s" % (url, args) return url + + +class RedirecionaPresencaParlamentares(RedirectView): + + permanent = True + + def get_redirect_url(self): + url = EMPTY_STRING + args = EMPTY_STRING + try: + url = reverse(presenca_sessao) + except NoReverseMatch: + raise UnknownUrlNameError(presenca_sessao) + + inicio_intervalo_data_presenca_parlamentar = self.request.GET.get( + 'txt_dat_inicio', + EMPTY_STRING + ).lstrip("0") + fim_intervalo_data_presenca_parlamentar = self.request.GET.get( + 'txt_dat_fim', + EMPTY_STRING + ).lstrip("0") + + args += "?data_inicio_0=%s" % ( + inicio_intervalo_data_presenca_parlamentar) + args += "&data_inicio_1=%s" % ( + fim_intervalo_data_presenca_parlamentar) + args += "&salvar=%s" % ('Pesquisar') + + url = "%s%s" % (url, args) + + return url diff --git a/sapl/test_urls.py b/sapl/test_urls.py index 167fa1b93..72cf639e4 100644 --- a/sapl/test_urls.py +++ b/sapl/test_urls.py @@ -189,6 +189,7 @@ apps_url_patterns_prefixs_and_users = { '/consultas/norma_juridica/norma_juridica_mostrar_proc', '/relatorios_administrativos/historicoTramitacoes/historicoTramitacoes', '/relatorios_administrativos/atasSessao', + '/relatorios_administrativos/presencaSessao', ]}, 'lexml': { 'prefixs': [