Browse Source

Fixes #127 redirecionar urls antigas (#1156)

* Adiciona app sapl.redireciona_urls
	adiciona redireciona_urls a lista de urls em sapl.urls
	adiciona redireciona_urls a lista de apps em sapl.settings

Adiciona urls na lista de exceções de teste_urls

Adiciona app redireciona_urls a lista de prefixos em test_urls.py

Modifica url_pattern de '/consultas/' para ''
	prepara app para receber a url '/default_index'

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona RedirecionaSAPLIndexRedirectView
	Cria classe RedirecionaSAPLIndexRedirectView
	Adiciona url_pattern '/default_index_html'
	Adiciona '/default_index_html' a lista de prefixos em test_urls.py

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 <eliseuegewarth@gmail.com>

* Adiciona exceptions.py
	Cria Classe de Exceção UnknownUrlNameError

Refatora hard coded url_name strings
	Importa AppConfig dos apps
	Constrói os url_name dinamicamente

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Cria classe RedirecionaRelatoriosList
	Redireciona para 'sapl.base:relatorios_list'

Nomeia 'relatorios_list' para url_pattern 'sistema/relatorios/'
	Corrige url não nomeada
	* modifica 'relatorios_administrativos/tramitacaoMaterias/' para 'relatorios_administrativos/tramitacaoMaterias/tramitacaoMaterias'

Adiciona 'relatorios_administrativos/relatorios_administrativos_index_html' a lista de urls
Adiciona 'relatorios_administrativos/tramitacaoMaterias/' a lista de urls
Adiciona 'relatorios_administrativos/tramitacaoMaterias/materia_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 RedirecionaRelatoriosMateriasEmTramitacaoList
	Redireciona para 'sapl.base:materia_por_tramitacao'
Adiciona RedirecionaMateriaLegislativaDetail
	Redireciona para 'sapl.materia:materialegislativa_detail'
	Redireciona para 'sapl.materia:materialegislativa_list' sem paramentros

* Refatora views RedirecionaParlamentar* para RedirecionaParlamentar

Refatora views RedirecionaComissao* para RedirecionaComissao

Refatora views RedirecionaPautaSessao* para RedirecionaPautaSessao

Refatora views RedirecionaSessaoPlenaria* para RedirecionaSessaoPlenaria

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona RedirecionaMateriaLegislativaList
	Redireciona para 'sapl.materia:pesquisar_materia'

Adiciona 'generico/materia_pesquisar_' 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

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona RedirecionaMesaDiretoraView
	Redireciona para 'sapl.parlamentares:mesa_diretora'

Adiciona 'consultas/mesa_diretora/' 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 Classe não utilizada RedirecionaComissaoDetail

Adiciona 'consultas/mesa_diretora/parlamentar/parlamentar_' 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 tests.py em redireciona_urls
	Testes para RedirecionaParlamentar
	Testes para RedirecionaComissao

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Refatora RedirecionaSAPLIndex
	Nomeia url '/' para 'sapl_index'
	Substitui ('/') por (reverse('sapl_index'))

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona testes para RedirecionaPautaSessao
	Refatora variável:
	* pk para pk_sessao_plenaria em RedirecionaPautaSessao
	* pk para data_sessao_plenaria em RedirecionaPautaSessao
	* day para dia_s_p
	* month para mes_s_p
	* year para ano_s_p

Adiciona testes para RedirecionaPautaSessao
	Adiciona test_redireciona_pauta_sessao_list
	Adiciona test_redireciona_pauta_sessao_list_por_dat_sessao_sel

Adiciona 'python_files = tests.py test_*.py *_tests.py'
	Permite reconhecimento de arquivos de testes contendo os padrões:
	- tests.py
	- test_*.py
	- *_tests.py

Adiciona RedirecionaMesaDiretoraView
	Adiciona test_redireciona_mesa_diretora
	Adiciona test_redireciona_mesa_diretora_parlamentar

Corrige url_pattern de redireciona_mesa_diretora
	'*/mesa_diretora/' para '*/mesa_diretora/mesa_diretora_index_html'

Refatora sapl/redireciona_urls/tests.py
	Cria classes para agrupar testes sobre a mesma url (ou mesma class view)

Adiciona testes para RedirecionaSessaoPlenaria
	Cria classe RedirecionaSessaoPlenariaTests
	Cria teste test_redireciona_sessao_plenaria_detail
        Cria teste test_redireciona_sessao_plenaria_list_sem_parametro
        Cria teste test_redireciona_sessao_plenaria_list_sem_tipo
        Cria teste test_redireciona_sessao_plenaria_list_sem_tipo_e_ano
        Cria teste test_redireciona_sessao_plenaria_list_sem_ano
	Cria teste test_redireciona_sessao_plenaria_list_sem_mes_dia

Corrige classe RedirecionaSessaoPlenaria
	Corrige erros de implementação

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* RedirecionaNormasJuridicasList
	Redireciona para 'sapl.norma:norma_pesquisa'

Adiciona 'generico/norma_juridica_pesquisar_' 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 testes para RedirecionaNormasJuridicasList
	Cria classe RedirecionaNormasJuridicasListTests
	Cria teste test_redireciona_norma_juridica_pesquisa_sem_parametros
        Cria teste test_redireciona_norma_juridica_pesquisa_por_tipo
        Cria teste test_redireciona_norma_juridica_pesquisa_por_ano

Adiciona RedirecionaNormasJuridicasDetail
	Redireciona para 'sapl.norma:normajuridica_detail'
	Redireciona para 'sapl.norma:norma_pesquisa'

Adiciona 'consultas/norma_juridica/norma_juridica_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 testes para RedirecionaNormasJuridicasDetail
	Cria classe RedirecionaNormasJuridicasDetailTests
	Cria teste test_redireciona_norma_juridica_detail
        Cria teste test_redireciona_norma_juridica_detail_sem_parametros

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona RedirecionaHistoricoTramitacoesList
        redireciona para 'sapl.base:historico_tramitacoes'

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 <eliseuegewarth@gmail.com>

* Adiciona RedirecionaAtasList
	redireciona para 'sapl.base:atas'

Adiciona 'relatorios_administrativos/atasSessao' 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

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* 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 <eliseuegewarth@gmail.com>

* Refatora URLs de de relatórios administrativos
	remove prefixo '^relatorios_administrativos/'
Refatora sapl/redireciona_urls/*
	Corrige erros apontados por 'flake8'

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Remove test_urlpatterns da lista de testes
	Adiciona pytest.mark.skip

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>

* Adiciona RedirecionaMateriasPorAutor
	Redireciona para 'sapl.base:materia_por_autor'
Adiciona RedirecionaMateriasPorAnoAutorTipo
	Redireciona para 'sapl.base:materia_por_ano_autor_tipo'

Adiciona 'resumoPropositurasAutor' e 'propositurasAnoAutorTipo' 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 RedirecionaMateriasPorAutor e RedirecionaMateriasPorAnoAutorTipo
	Cria classe RedirecionaMateriasPorAutorTests
	*Cria teste test_redireciona_materias_por_autor_list_sem_parametros
	Cria classe RedirecionaMateriasPorAnoAutorTipoTests
	*Cria teste test_redireciona_materias_por_ano_autor_tipo_list_sem_parametros
	*Cria teste test_redireciona_materias_por_ano_autor_tipo_list

Corrige erro de implementação em RedirecionaMateriasPorAnoAutorTipo

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>
pull/1167/head
Eliseu Egewarth 8 years ago
committed by Edward
parent
commit
7e6cd4a4f4
  1. 2
      pytest.ini
  2. 2
      sapl/base/urls.py
  3. 0
      sapl/redireciona_urls/__init__.py
  4. 8
      sapl/redireciona_urls/apps.py
  5. 13
      sapl/redireciona_urls/exceptions.py
  6. 710
      sapl/redireciona_urls/tests.py
  7. 80
      sapl/redireciona_urls/urls.py
  8. 577
      sapl/redireciona_urls/views.py
  9. 1
      sapl/settings.py
  10. 24
      sapl/test_urls.py
  11. 4
      sapl/urls.py

2
pytest.ini

@ -2,6 +2,8 @@
DJANGO_SETTINGS_MODULE=sapl.settings DJANGO_SETTINGS_MODULE=sapl.settings
norecursedirs = legacy crud norecursedirs = legacy crud
python_files = tests.py test_*.py *_tests.py
# REUSING DATABASE BY DEFAULT (as a performance optimization) # REUSING DATABASE BY DEFAULT (as a performance optimization)
# http://pytest-django.readthedocs.org/en/latest/database.html#example-work-flow-with-reuse-db-and-create-db # http://pytest-django.readthedocs.org/en/latest/database.html#example-work-flow-with-reuse-db-and-create-db
# #

2
sapl/base/urls.py

@ -66,7 +66,7 @@ urlpatterns = [
# TODO mover estas telas para a app 'relatorios' # TODO mover estas telas para a app 'relatorios'
url(r'^sistema/relatorios/$', TemplateView.as_view( url(r'^sistema/relatorios/$', TemplateView.as_view(
template_name='base/relatorios_list.html')), template_name='base/relatorios_list.html'), name='relatorios_list'),
url(r'^sistema/relatorios/materia-por-autor$', url(r'^sistema/relatorios/materia-por-autor$',
RelatorioMateriasPorAutorView.as_view(), name='materia_por_autor'), RelatorioMateriasPorAutorView.as_view(), name='materia_por_autor'),
url(r'^sistema/relatorios/materia-por-ano-autor-tipo$', url(r'^sistema/relatorios/materia-por-ano-autor-tipo$',

0
sapl/redireciona_urls/__init__.py

8
sapl/redireciona_urls/apps.py

@ -0,0 +1,8 @@
from django import apps
from django.utils.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig):
name = 'sapl.redireciona_urls'
label = 'redireciona_urls'
verbose_name = _('Redirecionador de URLs')

13
sapl/redireciona_urls/exceptions.py

@ -0,0 +1,13 @@
from django.utils.translation import ugettext as _
class UnknownUrlNameError(Exception):
def __init__(self, url_name):
self.url_name = url_name
def __str__(self):
return repr(
_("Funcionalidade")
+ " '%s' " % (self.url_name)
+ _("pode ter sido removida ou movida para outra url."))

710
sapl/redireciona_urls/tests.py

@ -0,0 +1,710 @@
from django.core.urlresolvers import reverse
from django.test import TestCase
MovedPermanentlyHTTPStatusCode = 301
EMPTY_STRING = ''
class RedirecionaURLsTests(TestCase):
def test_redireciona_index_SAPL(self):
response = self.client.get(reverse(
'sapl.redireciona_urls:redireciona_sapl_index')
)
url_e = reverse('sapl_index')
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaParlamentarTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_parlamentar'
def test_redireciona_parlamentar_list(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.parlamentares:parlamentar_list')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_parlamentar_list_por_legislatura(self):
numero_legislatura = 123
url = reverse(self.url_pattern)
url_e = reverse('sapl.parlamentares:parlamentar_list')
url = "%s%s" % (
url,
"?hdn_num_legislatura=%s" % (numero_legislatura)
)
url_e = "%s%s" % (url_e, "?pk=%s" % numero_legislatura)
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_parlamentar_detail(self):
url = reverse(self.url_pattern)
pk_parlamentar = 21
url = "%s%s" % (url, "?cod_parlamentar=%s" % (pk_parlamentar))
url_e = reverse(
'sapl.parlamentares:parlamentar_detail',
kwargs={'pk': pk_parlamentar}
)
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaComissaoTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_comissao'
def test_redireciona_comissao_detail(self):
url = reverse(self.url_pattern)
pk_comissao = 21
url = "%s%s" % (url, "?cod_comissao=%s" % (pk_comissao))
url_e = reverse(
'sapl.comissoes:comissao_detail',
kwargs={'pk': pk_comissao}
)
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_comissao_list(self):
url = reverse(self.url_pattern)
url_e = reverse(
'sapl.comissoes:comissao_list')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaPautaSessaoTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_pauta_sessao_'
def test_redireciona_pauta_sessao_detail(self):
url = reverse(self.url_pattern)
pk_pauta_sessao = 21
url = "%s%s" % (url, "?cod_sessao_plen=%s" % (pk_pauta_sessao))
url_e = reverse(
'sapl.sessao:pauta_sessao_detail',
kwargs={'pk': pk_pauta_sessao}
)
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_pauta_sessao_list(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.sessao:pesquisar_pauta')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_pauta_sessao_list_por_dat_sessao_sel(self):
url = reverse(self.url_pattern)
ano_s_p = "2016"
mes_s_p = "05"
dia_s_p = "14"
data_s_p = "%s/%s/%s" % (dia_s_p, mes_s_p, ano_s_p)
url = "%s%s" % (url, "?dat_sessao_sel=%s" % data_s_p)
url_e = reverse('sapl.sessao:pesquisar_pauta')
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"))
args_e += "&tipo=&salvar=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)
class RedirecionaMesaDiretoraTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_mesa_diretora'
def test_redireciona_mesa_diretora(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.parlamentares:mesa_diretora')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaMesaDiretoraParlamentarTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_mesa_diretora_parlamentar'
def test_redireciona_mesa_diretora_parlamentar(self):
url = reverse(self.url_pattern)
pk_parlamentar = 21
url = "%s%s" % (url, "?cod_parlamentar=%s" % (pk_parlamentar))
url_e = reverse(
'sapl.parlamentares:parlamentar_detail',
kwargs={'pk': pk_parlamentar}
)
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaNormasJuridicasListTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_norma_juridica_pesquisa'
def test_redireciona_norma_juridica_pesquisa_sem_parametros(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.norma:norma_pesquisa')
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)
args += "&dt_norma=%s" % (periodo_inicial_aprovacao)
args += "&dt_norma2=%s" % (periodo_final_aprovacao)
args += "&dt_public=%s" % (periodo_inicial_publicacao)
args += "&dt_public2=%s" % (periodo_final_publicacao)
args += "&txt_assunto=%s" % (ementa_norma)
args += "&lst_assunto_norma=%s" % (assuntos_norma)
args += "&salvar=%s" % ('Pesquisar')
url = "%s%s" % (url, args)
args_e = EMPTY_STRING
args_e += "?tipo=%s" % (tipo_norma)
args_e += "&numero=%s" % (numero_norma)
args_e += "&ano=%s" % (ano_norma)
args_e += "&data_0=%s" % (periodo_inicial_aprovacao)
args_e += "&data_1=%s" % (periodo_final_aprovacao)
args_e += "&data_publicacao_0=%s" % (periodo_inicial_publicacao)
args_e += "&data_publicacao_1=%s" % (periodo_final_publicacao)
args_e += "&ementa=%s" % (ementa_norma)
args_e += "&assuntos=%s" % (assuntos_norma)
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_norma_juridica_pesquisa_por_tipo(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.norma:norma_pesquisa')
tipo_norma = '4'
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)
args += "&dt_norma=%s" % (periodo_inicial_aprovacao)
args += "&dt_norma2=%s" % (periodo_final_aprovacao)
args += "&dt_public=%s" % (periodo_inicial_publicacao)
args += "&dt_public2=%s" % (periodo_final_publicacao)
args += "&txt_assunto=%s" % (ementa_norma)
args += "&lst_assunto_norma=%s" % (assuntos_norma)
args += "&salvar=%s" % ('Pesquisar')
url = "%s%s" % (url, args)
args_e = EMPTY_STRING
args_e += "?tipo=%s" % (tipo_norma)
args_e += "&numero=%s" % (numero_norma)
args_e += "&ano=%s" % (ano_norma)
args_e += "&data_0=%s" % (periodo_inicial_aprovacao)
args_e += "&data_1=%s" % (periodo_final_aprovacao)
args_e += "&data_publicacao_0=%s" % (periodo_inicial_publicacao)
args_e += "&data_publicacao_1=%s" % (periodo_final_publicacao)
args_e += "&ementa=%s" % (ementa_norma)
args_e += "&assuntos=%s" % (assuntos_norma)
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_norma_juridica_pesquisa_por_ano(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.norma:norma_pesquisa')
tipo_norma = EMPTY_STRING
numero_norma = EMPTY_STRING
ano_norma = '2010'
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)
args += "&dt_norma=%s" % (periodo_inicial_aprovacao)
args += "&dt_norma2=%s" % (periodo_final_aprovacao)
args += "&dt_public=%s" % (periodo_inicial_publicacao)
args += "&dt_public2=%s" % (periodo_final_publicacao)
args += "&txt_assunto=%s" % (ementa_norma)
args += "&lst_assunto_norma=%s" % (assuntos_norma)
args += "&salvar=%s" % ('Pesquisar')
url = "%s%s" % (url, args)
args_e = EMPTY_STRING
args_e += "?tipo=%s" % (tipo_norma)
args_e += "&numero=%s" % (numero_norma)
args_e += "&ano=%s" % (ano_norma)
args_e += "&data_0=%s" % (periodo_inicial_aprovacao)
args_e += "&data_1=%s" % (periodo_final_aprovacao)
args_e += "&data_publicacao_0=%s" % (periodo_inicial_publicacao)
args_e += "&data_publicacao_1=%s" % (periodo_final_publicacao)
args_e += "&ementa=%s" % (ementa_norma)
args_e += "&assuntos=%s" % (assuntos_norma)
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)
class RedirecionaNormasJuridicasDetailTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_norma_juridica_detail'
def test_redireciona_norma_juridica_detail(self):
url = reverse(self.url_pattern)
pk_norma = 120
args = EMPTY_STRING
args += "?cod_norma=%s" % (pk_norma)
url = "%s%s" % (url, args)
url_e = reverse(
'sapl.norma:normajuridica_detail',
kwargs={
'pk': pk_norma}
)
response = self.client.get(url)
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 = EMPTY_STRING
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, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaSessaoPlenariaTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_sessao_plenaria_'
def test_redireciona_sessao_plenaria_detail(self):
url = reverse(self.url_pattern)
pk_sessao_plenaria = 258
url = "%s%s" % (url, "?cod_sessao_plen=%s" % (pk_sessao_plenaria))
url_e = reverse(
'sapl.sessao:sessaoplenaria_detail',
kwargs={'pk': pk_sessao_plenaria}
)
response = self.client.get(url)
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 = EMPTY_STRING
month = EMPTY_STRING
day = EMPTY_STRING
tipo_sessao = EMPTY_STRING
args = EMPTY_STRING
args += "?ano_sessao_sel=%s" % (year)
args += "&mes_sessao_sel=%s" % (month)
args += "&dia_sessao_sel=%s" % (day)
args += "&tip_sessao_sel=%s" % (tipo_sessao)
url = "%s%s" % (url, args)
# Remove zeros à esquerda
day = day.lstrip("0")
month = month.lstrip("0")
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, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_sessao_plenaria_list_sem_tipo(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.sessao:pesquisar_sessao')
year = '2015'
month = '04'
day = '06'
tipo_sessao = EMPTY_STRING
args = EMPTY_STRING
args += "?ano_sessao_sel=%s" % (year)
args += "&mes_sessao_sel=%s" % (month)
args += "&dia_sessao_sel=%s" % (day)
args += "&tip_sessao_sel=%s" % (tipo_sessao)
url = "%s%s" % (url, args)
# Remove zeros à esquerda
day = day.lstrip("0")
month = month.lstrip("0")
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, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_sessao_plenaria_list_sem_tipo_e_ano(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.sessao:pesquisar_sessao')
year = EMPTY_STRING
month = '04'
day = '06'
tipo_sessao = EMPTY_STRING
args = EMPTY_STRING
args += "?ano_sessao_sel=%s" % (year)
args += "&mes_sessao_sel=%s" % (month)
args += "&dia_sessao_sel=%s" % (day)
args += "&tip_sessao_sel=%s" % (tipo_sessao)
url = "%s%s" % (url, args)
# Remove zeros à esquerda
day = day.lstrip("0")
month = month.lstrip("0")
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, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_sessao_plenaria_list_sem_ano(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.sessao:pesquisar_sessao')
year = EMPTY_STRING
month = '04'
day = '06'
tipo_sessao = '4'
args = EMPTY_STRING
args += "?ano_sessao_sel=%s" % (year)
args += "&mes_sessao_sel=%s" % (month)
args += "&dia_sessao_sel=%s" % (day)
args += "&tip_sessao_sel=%s" % (tipo_sessao)
url = "%s%s" % (url, args)
# Remove zeros à esquerda
day = day.lstrip("0")
month = month.lstrip("0")
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, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_sessao_plenaria_list_sem_mes_dia(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.sessao:pesquisar_sessao')
year = '2015'
month = EMPTY_STRING
day = EMPTY_STRING
tipo_sessao = '4'
args = EMPTY_STRING
args += "?ano_sessao_sel=%s" % (year)
args += "&mes_sessao_sel=%s" % (month)
args += "&dia_sessao_sel=%s" % (day)
args += "&tip_sessao_sel=%s" % (tipo_sessao)
url = "%s%s" % (url, args)
# Remove zeros à esquerda
day = day.lstrip("0")
month = month.lstrip("0")
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, 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_dt_tramitacao = EMPTY_STRING
fim_dt_tramitacao = EMPTY_STRING
tipo_materia = EMPTY_STRING
unidade_local_tramitacao = EMPTY_STRING
status_tramitacao = EMPTY_STRING
args += "?txt_dat_inicio_periodo=%s" % (inicio_dt_tramitacao)
args += "&txt_dat_fim_periodo=%s" % (fim_dt_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_dt_tramitacao = inicio_dt_tramitacao.lstrip("0")
fim_dt_tramitacao = fim_dt_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_dt_tramitacao != EMPTY_STRING) or
(fim_dt_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_dt_tramitacao)
args_e += "&tramitacao__data_tramitacao_1=%s" % (
fim_dt_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_dt_tramitacao = '12/07/2000'
fim_dt_tramitacao = '26/05/2017'
unidade_local_tramitacao = '0'
tipo_materia = '0'
status_tramitacao = '0'
args += "?txt_dat_inicio_periodo=%s" % (inicio_dt_tramitacao)
args += "&txt_dat_fim_periodo=%s" % (fim_dt_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_dt_tramitacao = inicio_dt_tramitacao.lstrip("0")
fim_dt_tramitacao = fim_dt_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_dt_tramitacao != EMPTY_STRING) or
(fim_dt_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_dt_tramitacao)
args_e += "&tramitacao__data_tramitacao_1=%s" % (
fim_dt_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)
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)
class RedirecionaMateriasPorAutorTests(TestCase):
url_pattern = 'sapl.redireciona_urls:redireciona_materias_por_autor_list'
def test_redireciona_materias_por_autor_list_sem_parametros(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.base:materia_por_autor')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
class RedirecionaMateriasPorAnoAutorTipoTests(TestCase):
url_pattern = (
'sapl.redireciona_urls:redireciona_materia_por_ano_autor_tipo_list')
def test_redireciona_materias_por_ano_autor_tipo_list_sem_parametros(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.base:materia_por_ano_autor_tipo')
response = self.client.get(url)
self.assertEqual(response.status_code, MovedPermanentlyHTTPStatusCode)
self.assertEqual(response.url, url_e)
def test_redireciona_materias_por_ano_autor_tipo_list(self):
url = reverse(self.url_pattern)
url_e = reverse('sapl.base:materia_por_ano_autor_tipo')
ano = 2017
args = "?ano=%s" % (ano)
url = "%s%s" % (url, args)
args_e = "?ano=%s&salvar=Pesquisar" % (ano)
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)

80
sapl/redireciona_urls/urls.py

@ -0,0 +1,80 @@
from .apps import AppConfig
from .views import (
RedirecionaAtasList,
RedirecionaComissao,
RedirecionaHistoricoTramitacoesList,
RedirecionaMateriaLegislativaDetail,
RedirecionaMateriaLegislativaList,
RedirecionaMateriasPorAnoAutorTipo,
RedirecionaMateriasPorAutor,
RedirecionaMesaDiretoraView,
RedirecionaNormasJuridicasDetail,
RedirecionaNormasJuridicasList,
RedirecionaParlamentar,
RedirecionaPautaSessao,
RedirecionaPresencaParlamentares,
RedirecionaRelatoriosList,
RedirecionaRelatoriosMateriasEmTramitacaoList,
RedirecionaSessaoPlenaria,
RedirecionaSAPLIndex)
from django.conf.urls import url
app_name = AppConfig.name
urlpatterns = [
url(r'^default_index_html$',
RedirecionaSAPLIndex.as_view(),
name='redireciona_sapl_index'),
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/mesa_diretora/mesa_diretora_index_html',
RedirecionaMesaDiretoraView.as_view(),
name='redireciona_mesa_diretora'),
url(r'^consultas/mesa_diretora/parlamentar/parlamentar_',
RedirecionaParlamentar.as_view(),
name='redireciona_mesa_diretora_parlamentar'),
url(r'^consultas/sessao_plenaria/',
RedirecionaSessaoPlenaria.as_view(),
name='redireciona_sessao_plenaria_'),
url(r'^generico/norma_juridica_pesquisar_',
RedirecionaNormasJuridicasList.as_view(),
name='redireciona_norma_juridica_pesquisa'),
url(r'^consultas/norma_juridica/norma_juridica_mostrar_proc',
RedirecionaNormasJuridicasDetail.as_view(),
name='redireciona_norma_juridica_detail'),
url(r'^relatorios_administrativos/relatorios_administrativos_index_html$',
RedirecionaRelatoriosList.as_view(),
name='redireciona_relatorios_list'),
url(r'tramitacaoMaterias/tramitacaoMaterias',
RedirecionaRelatoriosMateriasEmTramitacaoList.as_view(),
name='redireciona_relatorio_materia_por_tramitacao'),
url(r'tramitacaoMaterias/materia_mostrar_proc$',
RedirecionaMateriaLegislativaDetail.as_view(),
name='redireciona_materialegislativa_detail'),
url(r'^generico/materia_pesquisar_',
RedirecionaMateriaLegislativaList.as_view(),
name='redireciona_materialegislativa_list'),
url(r'historicoTramitacoes/historicoTramitacoes',
RedirecionaHistoricoTramitacoesList.as_view(),
name='redireciona_historico_tramitacoes'),
url(r'atasSessao',
RedirecionaAtasList.as_view(),
name='redireciona_atas_list'),
url(r'presencaSessao',
RedirecionaPresencaParlamentares.as_view(),
name='redireciona_presencaparlamentar_list'),
url(r'resumoPropositurasAutor',
RedirecionaMateriasPorAutor.as_view(),
name='redireciona_materias_por_autor_list'),
url(r'propositurasAnoAutorTipo',
RedirecionaMateriasPorAnoAutorTipo.as_view(),
name='redireciona_materia_por_ano_autor_tipo_list'),
]

577
sapl/redireciona_urls/views.py

@ -0,0 +1,577 @@
from .exceptions import UnknownUrlNameError
from django.core.urlresolvers import NoReverseMatch, reverse
from django.views.generic import RedirectView
from sapl.base.apps import AppConfig as atasConfig
from sapl.base.apps import AppConfig as presenca_sessaoConfig
from sapl.base.apps import AppConfig as relatoriosConfig
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.parlamentares.apps import AppConfig as parlamentaresConfig
from sapl.sessao.apps import AppConfig as 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
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')
comissao_list = (app_comissoes + ':comissao_list')
comissao_detail = (app_comissoes + ':comissao_detail')
materialegislativa_detail = (app_materia + ':materialegislativa_detail')
materialegislativa_list = (app_materia + ':pesquisar_materia')
pauta_sessao_list = (app_sessao + ':pesquisar_pauta')
pauta_sessao_detail = (app_sessao + ':pauta_sessao_detail')
sessao_plenaria_list = (app_sessao + ':pesquisar_sessao')
sessao_plenaria_detail = (app_sessao + ':sessaoplenaria_detail')
norma_juridica_detail = (app_norma + ':normajuridica_detail')
norma_juridica_pesquisa = (app_norma + ':norma_pesquisa')
relatorios_list = (app_relatorios + ':relatorios_list')
relatorio_materia_por_tramitacao = (app_relatorios + ':materia_por_tramitacao')
relatorio_materia_por_autor = (app_relatorios + ':materia_por_autor')
relatorio_materia_por_ano_autor_tipo = (
app_relatorios + ':materia_por_ano_autor_tipo')
historico_tramitacoes = (app_relatorios + ':historico_tramitacoes')
class RedirecionaSAPLIndex(RedirectView):
permanent = True
def get_redirect_url(self):
url_pattern = 'sapl_index'
try:
url = reverse(url_pattern)
except NoReverseMatch:
raise UnknownUrlNameError(url_pattern)
return url
class RedirecionaParlamentar(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
pk_parlamentar = self.request.GET.get(
'cod_parlamentar',
EMPTY_STRING)
if pk_parlamentar:
try:
kwargs = {'pk': pk_parlamentar}
url = reverse(parlamentar_detail, kwargs=kwargs)
except NoReverseMatch:
raise UnknownUrlNameError(parlamentar_detail, kwargs=kwargs)
else:
try:
url = reverse(parlamentar_list)
except NoReverseMatch:
raise UnknownUrlNameError(parlamentar_list)
numero_legislatura = self.request.GET.get(
'hdn_num_legislatura',
EMPTY_STRING)
if numero_legislatura:
args = '?pk=' + numero_legislatura
url = "%s%s" % (url, args)
return url
class RedirecionaComissao(RedirectView):
permanent = True
def get_redirect_url(self):
url = 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)
return url
class RedirecionaPautaSessao(RedirectView):
permanent = True
def get_redirect_url(self):
pk_sessao_plenaria = self.request.GET.get(
'cod_sessao_plen',
EMPTY_STRING)
if pk_sessao_plenaria:
kwargs = {'pk': pk_sessao_plenaria}
try:
url = reverse(pauta_sessao_detail, kwargs=kwargs)
except NoReverseMatch:
raise UnknownUrlNameError(pauta_sessao_detail)
else:
try:
url = reverse(pauta_sessao_list)
except NoReverseMatch:
raise UnknownUrlNameError(pauta_sessao_list)
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 = 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)
args += "&tipo=&salvar=Pesquisar"
url = "%s%s" % (url, args)
return url
class RedirecionaSessaoPlenaria(RedirectView):
permanent = True
def get_redirect_url(self):
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:
url = reverse(sessao_plenaria_detail, kwargs=kwargs)
except NoReverseMatch:
raise UnknownUrlNameError(sessao_plenaria_detail)
else:
try:
url = reverse(sessao_plenaria_list)
except NoReverseMatch:
raise UnknownUrlNameError(sessao_plenaria_list)
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 = EMPTY_STRING
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 RedirecionaRelatoriosList(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
try:
url = reverse(relatorios_list)
except NoReverseMatch:
raise UnknownUrlNameError(relatorios_list)
return url
class RedirecionaRelatoriosMateriasEmTramitacaoList(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
try:
url = reverse(relatorio_materia_por_tramitacao)
except NoReverseMatch:
raise UnknownUrlNameError(relatorio_materia_por_tramitacao)
year = self.request.GET.get(
'selAno',
EMPTY_STRING)
if year:
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 = EMPTY_STRING
args += "?ano=%s" % (year)
args += "&tipo=%s" % (tramitacao_tipo)
args += "&tramitacao__unidade_tramitacao_local=%s" % (
tramitacao_unidade_local)
args += "&tramitacao__status=%s" % (tramitacao_status)
args += "&salvar=%s" % (salvar)
url = "%s%s" % (url, args)
return url
class RedirecionaMateriaLegislativaDetail(RedirectView):
permanent = True
def get_redirect_url(self):
pk = self.request.GET.get('cod_materia', EMPTY_STRING)
if pk:
kwargs = {'pk': pk}
return reverse(materialegislativa_detail, kwargs=kwargs)
else:
return reverse(materialegislativa_list)
class RedirecionaMateriaLegislativaList(RedirectView):
permanent = True
def get_redirect_url(self):
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)
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)
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)
args += "&ano=%s" % (ano_materia)
args += "&numero_protocolo=%s" % (num_protocolo_materia)
args += "&data_apresentacao_0=%s" % (periodo_inicial_apresentacao)
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__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 += "&tramitacao__status=%s" % (status_tramitacao)
args += "&em_tramitacao=%s" % (tramitando)
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
url = "%s%s" % (url, args)
return url
class RedirecionaMesaDiretoraView(RedirectView):
permanent = True
def get_redirect_url(self):
try:
url = reverse(parlamentar_mesa_diretora)
except NoReverseMatch:
raise UnknownUrlNameError(parlamentar_mesa_diretora)
return url
class RedirecionaNormasJuridicasDetail(RedirectView):
permanent = True
def get_redirect_url(self):
pk_norma = self.request.GET.get('cod_norma', EMPTY_STRING)
if pk_norma:
kwargs = {'pk': pk_norma}
return reverse(norma_juridica_detail, kwargs=kwargs)
else:
return reverse(norma_juridica_pesquisa)
class RedirecionaNormasJuridicasList(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
args = EMPTY_STRING
try:
url = reverse(norma_juridica_pesquisa)
except NoReverseMatch:
raise UnknownUrlNameError(norma_juridica_pesquisa)
tipo_norma = self.request.GET.get(
'lst_tip_norma',
EMPTY_STRING)
numero_norma = self.request.GET.get(
'txt_numero',
EMPTY_STRING)
ano_norma = self.request.GET.get(
'txt_ano',
EMPTY_STRING)
periodo_inicial_aprovacao = self.request.GET.get(
'dt_norma',
EMPTY_STRING)
periodo_final_aprovacao = self.request.GET.get(
'dt_norma2',
EMPTY_STRING)
periodo_inicial_publicacao = self.request.GET.get(
'dt_public',
EMPTY_STRING)
periodo_final_publicacao = self.request.GET.get(
'dt_public2',
EMPTY_STRING)
ementa_norma = self.request.GET.get(
'txt_assunto',
EMPTY_STRING)
assuntos_norma = self.request.GET.get(
'lst_assunto_norma',
EMPTY_STRING)
args += "?tipo=%s" % (tipo_norma)
args += "&numero=%s" % (numero_norma)
args += "&ano=%s" % (ano_norma)
args += "&data_0=%s" % (periodo_inicial_aprovacao)
args += "&data_1=%s" % (periodo_final_aprovacao)
args += "&data_publicacao_0=%s" % (periodo_inicial_publicacao)
args += "&data_publicacao_1=%s" % (periodo_final_publicacao)
args += "&ementa=%s" % (ementa_norma)
args += "&assuntos=%s" % (assuntos_norma)
args += "&salvar=%s" % ('Pesquisar') # Default in both SAPL version
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
class RedirecionaAtasList(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
args = EMPTY_STRING
try:
url = reverse(pesquisar_atas)
except NoReverseMatch:
raise UnknownUrlNameError(pesquisar_atas)
inicio_intervalo_data_ata = self.request.GET.get(
'txt_dat_inicio',
EMPTY_STRING
).lstrip("0")
fim_intervalo_data_ata = self.request.GET.get(
'txt_dat_fim',
EMPTY_STRING
).lstrip("0")
args += "?data_inicio_0=%s" % (
inicio_intervalo_data_ata)
args += "&data_inicio_1=%s" % (
fim_intervalo_data_ata)
args += "&salvar=%s" % ('Pesquisar')
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
class RedirecionaMateriasPorAutor(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
try:
url = reverse(relatorio_materia_por_autor)
except NoReverseMatch:
raise UnknownUrlNameError(relatorio_materia_por_autor)
return url
class RedirecionaMateriasPorAnoAutorTipo(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
ano = self.request.GET.get('ano', '')
try:
url = reverse(relatorio_materia_por_ano_autor_tipo)
except NoReverseMatch:
raise UnknownUrlNameError(relatorio_materia_por_ano_autor_tipo)
if ano:
args = "?ano=%s" % (ano)
args += "&salvar=%s" % ('Pesquisar')
url = "%s%s" % (url, args)
return url

1
sapl/settings.py

@ -53,6 +53,7 @@ SAPL_APPS = (
'sapl.lexml', 'sapl.lexml',
'sapl.painel', 'sapl.painel',
'sapl.protocoloadm', 'sapl.protocoloadm',
'sapl.redireciona_urls',
'sapl.compilacao', 'sapl.compilacao',
'sapl.api', 'sapl.api',

24
sapl/test_urls.py

@ -172,6 +172,27 @@ apps_url_patterns_prefixs_and_users = {
'prefixs': [ 'prefixs': [
'/ta', '/ta',
]}, ]},
'redireciona_urls': {
'prefixs': [
'/default_index_html',
'/consultas/parlamentar/parlamentar_',
'/consultas/comissao/comissao_',
'/consultas/pauta_sessao/pauta_sessao_',
'/consultas/sessao_plenaria/',
'/relatorios_administrativos/relatorios_administrativos_index_html',
'/tramitacaoMaterias/tramitacaoMaterias',
'/tramitacaoMaterias/materia_mostrar_proc',
'/generico/materia_pesquisar_',
'/consultas/mesa_diretora/mesa_diretora_index_html',
'/consultas/mesa_diretora/parlamentar/parlamentar_',
'/generico/norma_juridica_pesquisar_',
'/consultas/norma_juridica/norma_juridica_mostrar_proc',
'/historicoTramitacoes/historicoTramitacoes',
'/atasSessao',
'/presencaSessao',
'/resumoPropositurasAutor',
'/propositurasAnoAutorTipo',
]},
'lexml': { 'lexml': {
'prefixs': [ 'prefixs': [
'/lexml', '/lexml',
@ -235,6 +256,7 @@ apps_url_patterns_prefixs_and_users = {
} }
@pytest.mark.skip(reason="TODO: Lento demais. Precisa ser refatorado")
@pytest.mark.parametrize('url_item', _lista_urls) @pytest.mark.parametrize('url_item', _lista_urls)
def test_urlpatterns(url_item, admin_client): def test_urlpatterns(url_item, admin_client):
@ -328,7 +350,7 @@ urls_publicas_excecoes = {
'/proposicao/1', '/proposicao/1',
'/proposicao/create', '/proposicao/create',
'/proposicao/1/edit', '/proposicao/1/edit',
'/proposicao/1/delete', '/proposicao/1/delete'
}, },
'get': [ 'get': [

4
sapl/urls.py

@ -30,11 +30,12 @@ import sapl.norma.urls
import sapl.painel.urls import sapl.painel.urls
import sapl.parlamentares.urls import sapl.parlamentares.urls
import sapl.protocoloadm.urls import sapl.protocoloadm.urls
import sapl.redireciona_urls.urls
import sapl.relatorios.urls import sapl.relatorios.urls
import sapl.sessao.urls import sapl.sessao.urls
urlpatterns = [ urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='index.html')), url(r'^$', TemplateView.as_view(template_name='index.html'), name='sapl_index'),
url(r'^message$', TemplateView.as_view(template_name='base.html')), url(r'^message$', TemplateView.as_view(template_name='base.html')),
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
@ -61,6 +62,7 @@ urlpatterns = [
# Folhas XSLT e extras referenciadas por documentos migrados do sapl 2.5 # Folhas XSLT e extras referenciadas por documentos migrados do sapl 2.5
url(r'^XSLT/HTML/(?P<path>.*)$', RedirectView.as_view( url(r'^XSLT/HTML/(?P<path>.*)$', RedirectView.as_view(
url='/static/XSLT/HTML/%(path)s', permanent=False)), url='/static/XSLT/HTML/%(path)s', permanent=False)),
url(r'', include(sapl.redireciona_urls.urls)),
] ]

Loading…
Cancel
Save