From d63d5af76b834dc50856a0bbe17343f390440ee7 Mon Sep 17 00:00:00 2001 From: Eliseu Egewarth Date: Fri, 26 May 2017 16:32:48 -0300 Subject: [PATCH] Adiciona RedirecionaHistoricoTramitacoesList redireciona para 'sapl.base:historico_tramitacoes' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adiciona 'relatorios_administrativos/historicoTramitacoes/historicoTramitacoes' 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 RedirecionaHistoricoTramitacoesList Cria classe RedirecionaHistoricoTramitacoesListTests Cria teste test_redireciona_historico_tramitacoessem_parametros Cria teste test_redireciona_historico_tramitacoes Corrige erros de implementação de lógica de controle Refatora sapl.redireciona_urls.views.py e sapl.redireciona_urls.tests.py Cria variável EMPTY_STRING Cria Variável MovedPermanentlyHTTPStatusCode Signed-off-by: Eliseu Egewarth --- sapl/redireciona_urls/tests.py | 269 +++++++++++++++++++++++---------- sapl/redireciona_urls/urls.py | 4 + sapl/redireciona_urls/views.py | 173 +++++++++++++-------- sapl/test_urls.py | 1 + 4 files changed, 304 insertions(+), 143 deletions(-) diff --git a/sapl/redireciona_urls/tests.py b/sapl/redireciona_urls/tests.py index 7ad2310ab..bda62bb76 100644 --- a/sapl/redireciona_urls/tests.py +++ b/sapl/redireciona_urls/tests.py @@ -1,6 +1,9 @@ from django.core.urlresolvers import reverse from django.test import TestCase +MovedPermanentlyHTTPStatusCode = 301 +EMPTY_STRING = '' + class RedirecionaURLsTests(TestCase): def test_redireciona_index_SAPL(self): @@ -8,7 +11,7 @@ class RedirecionaURLsTests(TestCase): 'sapl.redireciona_urls:redireciona_sapl_index') ) url_e = reverse('sapl_index') - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -19,7 +22,7 @@ class RedirecionaParlamentarTests(TestCase): url = reverse(self.url_pattern) url_e = reverse('sapl.parlamentares:parlamentar_list') response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_parlamentar_list_por_legislatura(self): @@ -36,7 +39,7 @@ class RedirecionaParlamentarTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_parlamentar_detail(self): @@ -48,7 +51,7 @@ class RedirecionaParlamentarTests(TestCase): kwargs = {'pk': pk_parlamentar} ) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -64,7 +67,7 @@ class RedirecionaComissaoTests(TestCase): kwargs = {'pk': pk_comissao} ) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_comissao_list(self): @@ -72,7 +75,7 @@ class RedirecionaComissaoTests(TestCase): url_e = reverse( 'sapl.comissoes:comissao_list') response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -88,7 +91,7 @@ class RedirecionaPautaSessaoTests(TestCase): kwargs = {'pk': pk_pauta_sessao} ) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_pauta_sessao_list(self): @@ -97,7 +100,7 @@ class RedirecionaPautaSessaoTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_pauta_sessao_list_por_dat_sessao_sel(self): @@ -113,7 +116,7 @@ class RedirecionaPautaSessaoTests(TestCase): url_e = reverse( 'sapl.sessao:pesquisar_pauta') - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (ano_s_p) args_e += "&data_inicio__month=%s" % (mes_s_p.lstrip("0")) args_e += "&data_inicio__day=%s" % (dia_s_p.lstrip("0")) @@ -123,7 +126,7 @@ class RedirecionaPautaSessaoTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -136,7 +139,7 @@ class RedirecionaMesaDiretoraTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -154,7 +157,7 @@ class RedirecionaMesaDiretoraParlamentarTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -165,17 +168,17 @@ class RedirecionaNormasJuridicasListTests(TestCase): url = reverse(self.url_pattern) url_e = reverse('sapl.norma:norma_pesquisa') - tipo_norma = '' - numero_norma = '' - ano_norma = '' - periodo_inicial_aprovacao = '' - periodo_final_aprovacao = '' - periodo_inicial_publicacao = '' - periodo_final_publicacao = '' - ementa_norma = '' - assuntos_norma = '' - - args = '' + tipo_norma = EMPTY_STRING + numero_norma = EMPTY_STRING + ano_norma = EMPTY_STRING + periodo_inicial_aprovacao = EMPTY_STRING + periodo_final_aprovacao = EMPTY_STRING + periodo_inicial_publicacao = EMPTY_STRING + periodo_final_publicacao = EMPTY_STRING + ementa_norma = EMPTY_STRING + assuntos_norma = EMPTY_STRING + + args = EMPTY_STRING args += "?lst_tip_norma=%s" % (tipo_norma) args += "&txt_numero=%s" % (numero_norma) args += "&txt_ano=%s" % (ano_norma) @@ -188,7 +191,7 @@ class RedirecionaNormasJuridicasListTests(TestCase): args += "&salvar=%s" % ('Pesquisar') url = "%s%s" % (url, args) - args_e = '' + args_e = EMPTY_STRING args_e += "?tipo=%s" % (tipo_norma) args_e += "&numero=%s" % (numero_norma) args_e += "&ano=%s" % (ano_norma) @@ -202,7 +205,7 @@ class RedirecionaNormasJuridicasListTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_norma_juridica_pesquisa_por_tipo(self): @@ -210,16 +213,16 @@ class RedirecionaNormasJuridicasListTests(TestCase): url_e = reverse('sapl.norma:norma_pesquisa') tipo_norma = '4' - numero_norma = '' - ano_norma = '' - periodo_inicial_aprovacao = '' - periodo_final_aprovacao = '' - periodo_inicial_publicacao = '' - periodo_final_publicacao = '' - ementa_norma = '' - assuntos_norma = '' - - args = '' + numero_norma = EMPTY_STRING + ano_norma = EMPTY_STRING + periodo_inicial_aprovacao = EMPTY_STRING + periodo_final_aprovacao = EMPTY_STRING + periodo_inicial_publicacao = EMPTY_STRING + periodo_final_publicacao = EMPTY_STRING + ementa_norma = EMPTY_STRING + assuntos_norma = EMPTY_STRING + + args = EMPTY_STRING args += "?lst_tip_norma=%s" % (tipo_norma) args += "&txt_numero=%s" % (numero_norma) args += "&txt_ano=%s" % (ano_norma) @@ -232,7 +235,7 @@ class RedirecionaNormasJuridicasListTests(TestCase): args += "&salvar=%s" % ('Pesquisar') url = "%s%s" % (url, args) - args_e = '' + args_e = EMPTY_STRING args_e += "?tipo=%s" % (tipo_norma) args_e += "&numero=%s" % (numero_norma) args_e += "&ano=%s" % (ano_norma) @@ -246,24 +249,24 @@ class RedirecionaNormasJuridicasListTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_norma_juridica_pesquisa_por_ano(self): url = reverse(self.url_pattern) url_e = reverse('sapl.norma:norma_pesquisa') - tipo_norma = '' - numero_norma = '' + tipo_norma = EMPTY_STRING + numero_norma = EMPTY_STRING ano_norma = '2010' - periodo_inicial_aprovacao = '' - periodo_final_aprovacao = '' - periodo_inicial_publicacao = '' - periodo_final_publicacao = '' - ementa_norma = '' - assuntos_norma = '' - - args = '' + periodo_inicial_aprovacao = EMPTY_STRING + periodo_final_aprovacao = EMPTY_STRING + periodo_inicial_publicacao = EMPTY_STRING + periodo_final_publicacao = EMPTY_STRING + ementa_norma = EMPTY_STRING + assuntos_norma = EMPTY_STRING + + args = EMPTY_STRING args += "?lst_tip_norma=%s" % (tipo_norma) args += "&txt_numero=%s" % (numero_norma) args += "&txt_ano=%s" % (ano_norma) @@ -276,7 +279,7 @@ class RedirecionaNormasJuridicasListTests(TestCase): args += "&salvar=%s" % ('Pesquisar') url = "%s%s" % (url, args) - args_e = '' + args_e = EMPTY_STRING args_e += "?tipo=%s" % (tipo_norma) args_e += "&numero=%s" % (numero_norma) args_e += "&ano=%s" % (ano_norma) @@ -290,7 +293,7 @@ class RedirecionaNormasJuridicasListTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -302,7 +305,7 @@ class RedirecionaNormasJuridicasDetailTests(TestCase): pk_norma = 120 - args = '' + args = EMPTY_STRING args += "?cod_norma=%s" % (pk_norma) url = "%s%s" % (url, args) @@ -313,22 +316,22 @@ class RedirecionaNormasJuridicasDetailTests(TestCase): ) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_norma_juridica_detail_sem_parametros(self): url = reverse(self.url_pattern) - pk_norma = '' + pk_norma = EMPTY_STRING - args = '' + args = EMPTY_STRING args += "?cod_norma=%s" % (pk_norma) url = "%s%s" % (url, args) url_e = reverse('sapl.norma:norma_pesquisa') response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) @@ -346,19 +349,19 @@ class RedirecionaSessaoPlenariaTests(TestCase): response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_sessao_plenaria_list_sem_parametro(self): url = reverse(self.url_pattern) url_e = reverse( 'sapl.sessao:pesquisar_sessao') - year = '' - month = '' - day = '' - tipo_sessao = '' + year = EMPTY_STRING + month = EMPTY_STRING + day = EMPTY_STRING + tipo_sessao = EMPTY_STRING - args = '' + args = EMPTY_STRING args += "?ano_sessao_sel=%s" % (year) args += "&mes_sessao_sel=%s" % (month) args += "&dia_sessao_sel=%s" % (day) @@ -368,7 +371,7 @@ class RedirecionaSessaoPlenariaTests(TestCase): # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (year) args_e += "&data_inicio__month=%s" % (month) args_e += "&data_inicio__day=%s" % (day) @@ -376,20 +379,19 @@ class RedirecionaSessaoPlenariaTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_sessao_plenaria_list_sem_tipo(self): - # import ipdb; ipdb.set_trace() url = reverse(self.url_pattern) url_e = reverse( 'sapl.sessao:pesquisar_sessao') year = '2015' month = '04' day = '06' - tipo_sessao = '' + tipo_sessao = EMPTY_STRING - args = '' + args = EMPTY_STRING args += "?ano_sessao_sel=%s" % (year) args += "&mes_sessao_sel=%s" % (month) args += "&dia_sessao_sel=%s" % (day) @@ -399,7 +401,7 @@ class RedirecionaSessaoPlenariaTests(TestCase): # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (year) args_e += "&data_inicio__month=%s" % (month) args_e += "&data_inicio__day=%s" % (day) @@ -407,20 +409,19 @@ class RedirecionaSessaoPlenariaTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_sessao_plenaria_list_sem_tipo_e_ano(self): - # import ipdb; ipdb.set_trace() url = reverse(self.url_pattern) url_e = reverse( 'sapl.sessao:pesquisar_sessao') - year = '' + year = EMPTY_STRING month = '04' day = '06' - tipo_sessao = '' + tipo_sessao = EMPTY_STRING - args = '' + args = EMPTY_STRING args += "?ano_sessao_sel=%s" % (year) args += "&mes_sessao_sel=%s" % (month) args += "&dia_sessao_sel=%s" % (day) @@ -430,7 +431,7 @@ class RedirecionaSessaoPlenariaTests(TestCase): # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (year) args_e += "&data_inicio__month=%s" % (month) args_e += "&data_inicio__day=%s" % (day) @@ -438,20 +439,19 @@ class RedirecionaSessaoPlenariaTests(TestCase): url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_sessao_plenaria_list_sem_ano(self): - # import ipdb; ipdb.set_trace() url = reverse(self.url_pattern) url_e = reverse( 'sapl.sessao:pesquisar_sessao') - year = '' + year = EMPTY_STRING month = '04' day = '06' tipo_sessao = '4' - args = '' + args = EMPTY_STRING args += "?ano_sessao_sel=%s" % (year) args += "&mes_sessao_sel=%s" % (month) args += "&dia_sessao_sel=%s" % (day) @@ -461,27 +461,26 @@ class RedirecionaSessaoPlenariaTests(TestCase): # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (year) args_e += "&data_inicio__month=%s" % (month) args_e += "&data_inicio__day=%s" % (day) args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) self.assertEqual(response.url, url_e) def test_redireciona_sessao_plenaria_list_sem_mes_dia(self): - # import ipdb; ipdb.set_trace() url = reverse(self.url_pattern) url_e = reverse( 'sapl.sessao:pesquisar_sessao') year = '2015' - month = '' - day = '' + month = EMPTY_STRING + day = EMPTY_STRING tipo_sessao = '4' - args = '' + args = EMPTY_STRING args += "?ano_sessao_sel=%s" % (year) args += "&mes_sessao_sel=%s" % (month) args += "&dia_sessao_sel=%s" % (day) @@ -491,12 +490,114 @@ class RedirecionaSessaoPlenariaTests(TestCase): # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args_e = '' + args_e = EMPTY_STRING args_e += "?data_inicio__year=%s" % (year) args_e += "&data_inicio__month=%s" % (month) args_e += "&data_inicio__day=%s" % (day) args_e += "&tipo=%s&salvar=Pesquisar" % (tipo_sessao) url_e = "%s%s" % (url_e, args_e) response = self.client.get(url) - self.assertEqual(response.status_code, 301) + self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode) + self.assertEqual(response.url, url_e) + + +class RedirecionaHistoricoTramitacoesListTests(TestCase): + url_pattern = 'sapl.redireciona_urls:redireciona_historico_tramitacoes' + + def test_redireciona_historico_tramitacoes_sem_parametros(self): + args_e = EMPTY_STRING + args = EMPTY_STRING + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.base:historico_tramitacoes') + + inicio_intervalo_data_tramitacao = EMPTY_STRING + fim_intervalo_data_tramitacao = EMPTY_STRING + tipo_materia = EMPTY_STRING + unidade_local_tramitacao = EMPTY_STRING + status_tramitacao = EMPTY_STRING + + args += "?txt_dat_inicio_periodo=%s" % (inicio_intervalo_data_tramitacao) + args += "&txt_dat_fim_periodo=%s" % (fim_intervalo_data_tramitacao) + args += "&lst_tip_materia=%s" % (tipo_materia) + args += "&lst_cod_unid_tram_dest=%s" % (unidade_local_tramitacao) + args += "&lst_status=%s" % (status_tramitacao) + args += "&btn_materia_pesquisar=%s" % ('Pesquisar') + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + inicio_intervalo_data_tramitacao = inicio_intervalo_data_tramitacao.lstrip("0") + fim_intervalo_data_tramitacao = fim_intervalo_data_tramitacao.lstrip("0") + tipo_materia = tipo_materia.lstrip("0") + unidade_local_tramitacao = unidade_local_tramitacao.lstrip("0") + status_tramitacao = status_tramitacao.lstrip("0") + + if ((inicio_intervalo_data_tramitacao != EMPTY_STRING) or + (fim_intervalo_data_tramitacao != EMPTY_STRING) or + (tipo_materia != EMPTY_STRING) or + (unidade_local_tramitacao != EMPTY_STRING) or + (status_tramitacao != EMPTY_STRING) + ): + args_e += "?tramitacao__data_tramitacao_0=%s" % ( + inicio_intervalo_data_tramitacao) + args_e += "&tramitacao__data_tramitacao_1=%s" % ( + fim_intervalo_data_tramitacao) + args_e += "&tipo=%s" % (tipo_materia) + args_e += "&tramitacao__unidade_tramitacao_local=%s" % ( + unidade_local_tramitacao) + args_e += "&tramitacao__status=%s" % (status_tramitacao) + 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_historico_tramitacoes(self): + args = EMPTY_STRING + args_e = EMPTY_STRING + url = reverse(self.url_pattern) + url_e = reverse( 'sapl.base:historico_tramitacoes') + + inicio_intervalo_data_tramitacao = '12/07/2000' + fim_intervalo_data_tramitacao = '26/05/2017' + unidade_local_tramitacao = '0' + tipo_materia = '0' + status_tramitacao = '0' + + args += "?txt_dat_inicio_periodo=%s" % (inicio_intervalo_data_tramitacao) + args += "&txt_dat_fim_periodo=%s" % (fim_intervalo_data_tramitacao) + args += "&lst_tip_materia=%s" % (tipo_materia) + args += "&lst_cod_unid_tram_dest=%s" % (unidade_local_tramitacao) + args += "&lst_status=%s" % (status_tramitacao) + args += "&btn_materia_pesquisar=%s" % ('Pesquisar') + url = "%s%s" % (url, args) + + # Remove zeros à esquerda + inicio_intervalo_data_tramitacao = inicio_intervalo_data_tramitacao.lstrip("0") + fim_intervalo_data_tramitacao = fim_intervalo_data_tramitacao.lstrip("0") + tipo_materia = tipo_materia.lstrip("0") + unidade_local_tramitacao = unidade_local_tramitacao.lstrip("0") + status_tramitacao = status_tramitacao.lstrip("0") + + if ((inicio_intervalo_data_tramitacao != EMPTY_STRING) or + (fim_intervalo_data_tramitacao != EMPTY_STRING) or + (tipo_materia != EMPTY_STRING) or + (unidade_local_tramitacao != EMPTY_STRING) or + (status_tramitacao != EMPTY_STRING) + ): + args_e += "?tramitacao__data_tramitacao_0=%s" % ( + inicio_intervalo_data_tramitacao) + args_e += "&tramitacao__data_tramitacao_1=%s" % ( + fim_intervalo_data_tramitacao) + args_e += "&tipo=%s" % (tipo_materia) + args_e += "&tramitacao__unidade_tramitacao_local=%s" % ( + unidade_local_tramitacao) + args_e += "&tramitacao__status=%s" % (status_tramitacao) + 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 4af22e6f1..7ba7fc063 100644 --- a/sapl/redireciona_urls/urls.py +++ b/sapl/redireciona_urls/urls.py @@ -1,5 +1,6 @@ from .views import ( RedirecionaComissao, + RedirecionaHistoricoTramitacoesList, RedirecionaMateriaLegislativaDetail, RedirecionaMateriaLegislativaList, RedirecionaMesaDiretoraView, @@ -58,4 +59,7 @@ urlpatterns = [ url(r'^generico/materia_pesquisar_', RedirecionaMateriaLegislativaList.as_view(), name='redireciona_materialegislativa_list'), + url(r'^relatorios_administrativos/historicoTramitacoes/historicoTramitacoes', + RedirecionaHistoricoTramitacoesList.as_view(), + name='redireciona_historico_tramitacoes'), ] diff --git a/sapl/redireciona_urls/views.py b/sapl/redireciona_urls/views.py index 11469c9c6..22181ec99 100644 --- a/sapl/redireciona_urls/views.py +++ b/sapl/redireciona_urls/views.py @@ -8,6 +8,7 @@ from sapl.norma.apps import AppConfig as normaConfig from sapl.parlamentares.apps import AppConfig as parlamentaresConfig from sapl.sessao.apps import AppConfig as sessaoConfig +EMPTY_STRING = '' app_parlamentares = parlamentaresConfig.name app_comissoes = comissoesConfig.name @@ -37,6 +38,7 @@ norma_juridica_pesquisa = (app_norma + ':norma_pesquisa') relatorios_list = (app_relatorios + ':relatorios_list') relatorio_materia_por_tramitacao = (app_relatorios + ':materia_por_tramitacao') +historico_tramitacoes = (app_relatorios + ':historico_tramitacoes') class RedirecionaSAPLIndex(RedirectView): @@ -55,8 +57,8 @@ class RedirecionaParlamentar(RedirectView): permanent = True def get_redirect_url(self): - url = '' - pk_parlamentar = self.request.GET.get('cod_parlamentar', '') + url = EMPTY_STRING + pk_parlamentar = self.request.GET.get('cod_parlamentar', EMPTY_STRING) if pk_parlamentar: try: @@ -70,7 +72,7 @@ class RedirecionaParlamentar(RedirectView): except NoReverseMatch: raise UnknownUrlNameError(parlamentar_list) - numero_legislatura = self.request.GET.get('hdn_num_legislatura', '') + numero_legislatura = self.request.GET.get('hdn_num_legislatura', EMPTY_STRING) if numero_legislatura: args = '?pk=' + numero_legislatura url = "%s%s" % (url, args) @@ -82,8 +84,8 @@ class RedirecionaComissao(RedirectView): permanent = True def get_redirect_url(self): - url = '' - pk_comissao = self.request.GET.get('cod_comissao', '') + url = EMPTY_STRING + pk_comissao = self.request.GET.get('cod_comissao', EMPTY_STRING) if pk_comissao: kwargs = {'pk': pk_comissao} @@ -104,7 +106,7 @@ class RedirecionaPautaSessao(RedirectView): permanent = True def get_redirect_url(self): - pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', '') + pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', EMPTY_STRING) if pk_sessao_plenaria: kwargs = {'pk': pk_sessao_plenaria} @@ -119,14 +121,14 @@ class RedirecionaPautaSessao(RedirectView): raise UnknownUrlNameError(pauta_sessao_list) - data_sessao_plenaria = self.request.GET.get('dat_sessao_sel', '') + data_sessao_plenaria = self.request.GET.get('dat_sessao_sel', EMPTY_STRING) if data_sessao_plenaria: dia_s_p, mes_s_p, ano_s_p = data_sessao_plenaria.split('/') # Remove zeros à esquerda de dia_s_p e mes_s_p dia_s_p = dia_s_p.lstrip("0") mes_s_p = mes_s_p.lstrip("0") - args = '' + args = EMPTY_STRING args += "?data_inicio__year=%s" % (ano_s_p) args += "&data_inicio__month=%s" % (mes_s_p) args += "&data_inicio__day=%s" % (dia_s_p) @@ -140,8 +142,8 @@ class RedirecionaSessaoPlenaria(RedirectView): permanent = True def get_redirect_url(self): - pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', '') - url = '' + pk_sessao_plenaria = self.request.GET.get('cod_sessao_plen', EMPTY_STRING) + url = EMPTY_STRING if pk_sessao_plenaria: kwargs = {'pk': pk_sessao_plenaria} try: @@ -155,15 +157,15 @@ class RedirecionaSessaoPlenaria(RedirectView): except NoReverseMatch: raise UnknownUrlNameError(sessao_plenaria_list) - year = self.request.GET.get('ano_sessao_sel', '') - month = self.request.GET.get('mes_sessao_sel', '') - day = self.request.GET.get('dia_sessao_sel', '') - tipo_sessao = self.request.GET.get('tip_sessao_sel', '') + year = self.request.GET.get('ano_sessao_sel', EMPTY_STRING) + month = self.request.GET.get('mes_sessao_sel', EMPTY_STRING) + day = self.request.GET.get('dia_sessao_sel', EMPTY_STRING) + tipo_sessao = self.request.GET.get('tip_sessao_sel', EMPTY_STRING) # Remove zeros à esquerda day = day.lstrip("0") month = month.lstrip("0") - args = '' + args = EMPTY_STRING args += "?data_inicio__year=%s" % (year) args += "&data_inicio__month=%s" % (month) args += "&data_inicio__day=%s" % (day) @@ -177,7 +179,7 @@ class RedirecionaRelatoriosList(RedirectView): permanent = True def get_redirect_url(self): - url = '' + url = EMPTY_STRING try: url = reverse(relatorios_list) except NoReverseMatch: @@ -189,24 +191,24 @@ class RedirecionaRelatoriosMateriasEmTramitacaoList(RedirectView): permanent = True def get_redirect_url(self): - url = '' + url = EMPTY_STRING try: url = reverse(relatorio_materia_por_tramitacao) except NoReverseMatch: raise UnknownUrlNameError(relatorio_materia_por_tramitacao) - year = self.request.GET.get('selAno', '') + year = self.request.GET.get('selAno', EMPTY_STRING) if year: - tramitacao_tipo = self.request.GET.get('lst_tip_materia', '') - tramitacao_unidade_local = self.request.GET.get('lst_cod_unid_tram_dest', '') - tramitacao_status = self.request.GET.get('lst_status', '') + tramitacao_tipo = self.request.GET.get('lst_tip_materia', EMPTY_STRING) + tramitacao_unidade_local = self.request.GET.get('lst_cod_unid_tram_dest', EMPTY_STRING) + tramitacao_status = self.request.GET.get('lst_status', EMPTY_STRING) salvar = self.request.GET.get('btn_materia_pesquisar', 'Pesquisar') tramitacao_tipo = tramitacao_tipo.lstrip("0") tramitacao_unidade_local = tramitacao_unidade_local.lstrip("0") tramitacao_status = tramitacao_status.lstrip("0") - args = '' + args = EMPTY_STRING args += "?ano=%s" % (year) args += "&tipo=%s" % (tramitacao_tipo) args += "&tramitacao__unidade_tramitacao_local=%s" % (tramitacao_unidade_local) @@ -221,7 +223,7 @@ class RedirecionaMateriaLegislativaDetail(RedirectView): permanent = True def get_redirect_url(self): - pk = self.request.GET.get('cod_materia', '') + pk = self.request.GET.get('cod_materia', EMPTY_STRING) if pk: kwargs = {'pk': pk} @@ -234,28 +236,27 @@ class RedirecionaMateriaLegislativaList(RedirectView): permanent = True def get_redirect_url(self): - empty_string = '' - url = empty_string - args = empty_string + url = EMPTY_STRING + args = EMPTY_STRING try: url = reverse(materialegislativa_list) except NoReverseMatch: raise UnknownUrlNameError(materialegislativa_list) - tipo_materia = self.request.GET.get('lst_tip_materia', empty_string) - numero_materia = self.request.GET.get('txt_numero', empty_string) - ano_materia = self.request.GET.get('txt_ano', empty_string) - numero_processo = self.request.GET.get('txt_npc', empty_string) - num_protocolo_materia = self.request.GET.get('txt_num_protocolo', empty_string) - periodo_inicial_apresentacao = self.request.GET.get('dt_apres', empty_string) - periodo_final_apresentacao = self.request.GET.get('dt_apres2', empty_string) - periodo_inicial_publicacao = self.request.GET.get('dt_public', empty_string) - periodo_final_publicacao = self.request.GET.get('dt_public2', empty_string) - hdn_cod_autor = self.request.GET.get('hdn_cod_autor', empty_string) - tipo_autor = self.request.GET.get('lst_tip_autor', empty_string) - ementa_materia = self.request.GET.get('txt_assunto', empty_string) - tramitando = self.request.GET.get('rad_tramitando', empty_string) - status_tramitacao = self.request.GET.get('lst_status', empty_string) + tipo_materia = self.request.GET.get('lst_tip_materia', EMPTY_STRING) + numero_materia = self.request.GET.get('txt_numero', EMPTY_STRING) + ano_materia = self.request.GET.get('txt_ano', EMPTY_STRING) + numero_processo = self.request.GET.get('txt_npc', EMPTY_STRING) + num_protocolo_materia = self.request.GET.get('txt_num_protocolo', EMPTY_STRING) + periodo_inicial_apresentacao = self.request.GET.get('dt_apres', EMPTY_STRING) + periodo_final_apresentacao = self.request.GET.get('dt_apres2', EMPTY_STRING) + periodo_inicial_publicacao = self.request.GET.get('dt_public', EMPTY_STRING) + periodo_final_publicacao = self.request.GET.get('dt_public2', EMPTY_STRING) + hdn_cod_autor = self.request.GET.get('hdn_cod_autor', EMPTY_STRING) + tipo_autor = self.request.GET.get('lst_tip_autor', EMPTY_STRING) + ementa_materia = self.request.GET.get('txt_assunto', EMPTY_STRING) + tramitando = self.request.GET.get('rad_tramitando', EMPTY_STRING) + status_tramitacao = self.request.GET.get('lst_status', EMPTY_STRING) args += "?tipo=%s" % (tipo_materia) args += "&numero=%s" % (numero_materia) @@ -265,15 +266,15 @@ class RedirecionaMateriaLegislativaList(RedirectView): args += "&data_apresentacao_1=%s" % (periodo_final_apresentacao) args += "&data_publicacao_0=%s" % (periodo_inicial_publicacao) args += "&data_publicacao_1=%s" % (periodo_final_publicacao) - args += "&autoria__autor=%s" % (empty_string) + args += "&autoria__autor=%s" % (EMPTY_STRING) args += "&autoria__autor__tipo=%s" % (tipo_autor) - args += "&relatoria__parlamentar_id=%s" % (empty_string) - args += "&local_origem_externa=%s" % (empty_string) - args += "&tramitacao__unidade_tramitacao_destino=%s" % (empty_string) + args += "&relatoria__parlamentar_id=%s" % (EMPTY_STRING) + args += "&local_origem_externa=%s" % (EMPTY_STRING) + args += "&tramitacao__unidade_tramitacao_destino=%s" % (EMPTY_STRING) args += "&tramitacao__status=%s" % (status_tramitacao) args += "&em_tramitacao=%s" % (tramitando) - args += "&o=%s" % (empty_string) - args += "&materiaassunto__assunto=%s" % (empty_string) + args += "&o=%s" % (EMPTY_STRING) + args += "&materiaassunto__assunto=%s" % (EMPTY_STRING) args += "&ementa=%s" % (ementa_materia) args += "&salvar=%s" % ('Pesquisar') # Default in both SAPL version @@ -298,7 +299,7 @@ class RedirecionaNormasJuridicasDetail(RedirectView): permanent = True def get_redirect_url(self): - pk_norma = self.request.GET.get('cod_norma', '') + pk_norma = self.request.GET.get('cod_norma', EMPTY_STRING) if pk_norma: kwargs = {'pk': pk_norma} @@ -311,9 +312,8 @@ class RedirecionaNormasJuridicasList(RedirectView): permanent = True def get_redirect_url(self): - empty_string = '' - url = empty_string - args = empty_string + url = EMPTY_STRING + args = EMPTY_STRING try: url = reverse(norma_juridica_pesquisa) except NoReverseMatch: @@ -321,31 +321,31 @@ class RedirecionaNormasJuridicasList(RedirectView): tipo_norma = self.request.GET.get( 'lst_tip_norma', - empty_string) + EMPTY_STRING) numero_norma = self.request.GET.get( 'txt_numero', - empty_string) + EMPTY_STRING) ano_norma = self.request.GET.get( 'txt_ano', - empty_string) + EMPTY_STRING) periodo_inicial_aprovacao = self.request.GET.get( 'dt_norma', - empty_string) + EMPTY_STRING) periodo_final_aprovacao = self.request.GET.get( 'dt_norma2', - empty_string) + EMPTY_STRING) periodo_inicial_publicacao = self.request.GET.get( 'dt_public', - empty_string) + EMPTY_STRING) periodo_final_publicacao = self.request.GET.get( 'dt_public2', - empty_string) + EMPTY_STRING) ementa_norma = self.request.GET.get( 'txt_assunto', - empty_string) + EMPTY_STRING) assuntos_norma = self.request.GET.get( 'lst_assunto_norma', - empty_string) + EMPTY_STRING) args += "?tipo=%s" % (tipo_norma) args += "&numero=%s" % (numero_norma) @@ -361,3 +361,58 @@ class RedirecionaNormasJuridicasList(RedirectView): url = "%s%s" % (url, args) return url + + +class RedirecionaHistoricoTramitacoesList(RedirectView): + + permanent = True + + def get_redirect_url(self): + url = EMPTY_STRING + args = EMPTY_STRING + try: + url = reverse(historico_tramitacoes) + except NoReverseMatch: + raise UnknownUrlNameError(historico_tramitacoes) + + inicio_intervalo_data_tramitacao = self.request.GET.get( + 'txt_dat_inicio_periodo', + EMPTY_STRING + ).lstrip("0") + fim_intervalo_data_tramitacao = self.request.GET.get( + 'txt_dat_fim_periodo', + EMPTY_STRING + ).lstrip("0") + tipo_materia = self.request.GET.get( + 'lst_tip_materia', + EMPTY_STRING + ).lstrip("0") + unidade_local_tramitacao = self.request.GET.get( + 'lst_cod_unid_tram_dest', + EMPTY_STRING + ).lstrip("0") + status_tramitacao = self.request.GET.get( + 'lst_status', + EMPTY_STRING + ).lstrip("0") + + if ((inicio_intervalo_data_tramitacao != EMPTY_STRING) or + (fim_intervalo_data_tramitacao != EMPTY_STRING) or + (tipo_materia != EMPTY_STRING) or + (unidade_local_tramitacao != EMPTY_STRING) or + (status_tramitacao != EMPTY_STRING) + ): + + args += "?tramitacao__data_tramitacao_0=%s" % ( + inicio_intervalo_data_tramitacao) + args += "&tramitacao__data_tramitacao_1=%s" % ( + fim_intervalo_data_tramitacao) + args += "&tipo=%s" % (tipo_materia) + args += "&tramitacao__unidade_tramitacao_local=%s" % ( + unidade_local_tramitacao) + args += "&tramitacao__status=%s" % (status_tramitacao) + args += "&salvar=%s" % ('Pesquisar') + + url = "%s%s" % (url, args) + + return url diff --git a/sapl/test_urls.py b/sapl/test_urls.py index b980e0c4e..106b81fd2 100644 --- a/sapl/test_urls.py +++ b/sapl/test_urls.py @@ -187,6 +187,7 @@ apps_url_patterns_prefixs_and_users = { '/consultas/mesa_diretora/parlamentar/parlamentar_', '/generico/norma_juridica_pesquisar_', '/consultas/norma_juridica/norma_juridica_mostrar_proc', + '/relatorios_administrativos/historicoTramitacoes/historicoTramitacoes', ]}, 'lexml': { 'prefixs': [