Browse Source

127 redirecionar urls (#2089)

* #127 Adicionando urls para composicao de comissão

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

* #127 Adicionando url para consultas/materia

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

* Fix #127 Ignorando app redireciona_urls em test_urls.py

Signed-off-by: Eliseu Egewarth <eliseuegewarth@gmail.com>
pull/2102/head
Eliseu Egewarth 7 years ago
committed by Victor Fabre
parent
commit
00f50cdca5
  1. 19
      sapl/redireciona_urls/urls.py
  2. 49
      sapl/redireciona_urls/views.py
  3. 41
      sapl/test_urls.py

19
sapl/redireciona_urls/urls.py

@ -2,20 +2,22 @@ from django.conf.urls import url
from .apps import AppConfig
from .views import (RedirecionaAtasList, RedirecionaComissao,
RedirecionaComposicaoComissao,
RedirecionaHistoricoTramitacoesList,
RedirecionaMateriaLegislativaDetail,
RedirecionaMateriaLegislativaList,
RedirecionaMateriasPorAnoAutorTipo,
RedirecionaMateriasPorAutor, RedirecionaMesaDiretoraView,
RedirecionaNormasJuridicasDetail,
RedirecionaNormasJuridicasList, RedirecionaParlamentar,
RedirecionaPautaSessao, RedirecionaPresencaParlamentares,
RedirecionaNormasJuridicasList,
RedirecionaNormasJuridicasTextoIntegral,
RedirecionaParlamentar, RedirecionaPautaSessao,
RedirecionaPresencaParlamentares,
RedirecionaRelatoriosList,
RedirecionaRelatoriosMateriasEmTramitacaoList,
RedirecionaSAPLIndex, RedirecionaSessaoPlenaria)
app_name = AppConfig.name
urlpatterns = [
url(r'^default_index_html$',
RedirecionaSAPLIndex.as_view(),
@ -26,6 +28,9 @@ urlpatterns = [
url(r'^consultas/comissao/comissao_',
RedirecionaComissao.as_view(),
name='redireciona_comissao'),
url(r'^consultas/comissao/composicao/composicao_index_html',
RedirecionaComposicaoComissao.as_view(),
name='redireciona_composicaio_comissao'),
url(r'^consultas/pauta_sessao/pauta_sessao_',
RedirecionaPautaSessao.as_view(),
name='redireciona_pauta_sessao_'),
@ -44,6 +49,9 @@ urlpatterns = [
url(r'^consultas/norma_juridica/norma_juridica_mostrar_proc',
RedirecionaNormasJuridicasDetail.as_view(),
name='redireciona_norma_juridica_detail'),
url(r'^sapl_documentos/normajuridica/(?P<norma_id>[0-9]+)_texto_integral',
RedirecionaNormasJuridicasTextoIntegral.as_view(),
name='redireciona_norma_juridica_texto_integral'),
url(r'^relatorios_administrativos/relatorios_administrativos_index_html$',
RedirecionaRelatoriosList.as_view(),
name='redireciona_relatorios_list'),
@ -51,6 +59,9 @@ urlpatterns = [
RedirecionaRelatoriosMateriasEmTramitacaoList.as_view(),
name='redireciona_relatorio_materia_por_tramitacao'),
url(r'tramitacaoMaterias/materia_mostrar_proc$',
RedirecionaMateriaLegislativaDetail.as_view(),
name='redireciona_materialegislativa_detail_tramitacao'),
url(r'consultas/materia/materia_mostrar_proc$',
RedirecionaMateriaLegislativaDetail.as_view(),
name='redireciona_materialegislativa_detail'),
url(r'^generico/materia_pesquisar_',
@ -71,4 +82,4 @@ urlpatterns = [
url(r'propositurasAnoAutorTipo',
RedirecionaMateriasPorAnoAutorTipo.as_view(),
name='redireciona_materia_por_ano_autor_tipo_list'),
]
]

49
sapl/redireciona_urls/views.py

@ -1,14 +1,14 @@
from django.core.urlresolvers import NoReverseMatch, reverse
from django.views.generic import RedirectView
from sapl.audiencia.apps import AppConfig as audienciaConfig
from sapl.base.apps import AppConfig as atasConfig
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.norma.models import NormaJuridica
from sapl.parlamentares.apps import AppConfig as parlamentaresConfig
from sapl.sessao.apps import AppConfig as sessaoConfig
from sapl.audiencia.apps import AppConfig as audienciaConfig
from .exceptions import UnknownUrlNameError
EMPTY_STRING = ''
@ -142,6 +142,33 @@ class RedirecionaComissao(RedirectView):
return url
class RedirecionaComposicaoComissao(RedirectView):
permanent = True
def get_redirect_url(self):
url = EMPTY_STRING
pk_composicao = self.request.GET.get(
'cod_periodo_comp_sel', 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)
url = has_iframe(url, self.request)
return url
class RedirecionaPautaSessao(RedirectView):
permanent = True
@ -418,6 +445,24 @@ class RedirecionaNormasJuridicasDetail(RedirectView):
return url
class RedirecionaNormasJuridicasTextoIntegral(RedirectView):
permanent = False
def get_redirect_url(self, **kwargs):
# import ipdb;ipdb.set_trace()
url = EMPTY_STRING
try:
norma = NormaJuridica.objects.get(pk=kwargs['norma_id'])
if norma:
url = norma.texto_integral.url
except Exception as e:
raise e
url = has_iframe(url, self.request)
return url
class RedirecionaNormasJuridicasList(RedirectView):
permanent = True

41
sapl/test_urls.py

@ -278,25 +278,28 @@ def test_urlpatterns(url_item, admin_client):
""" % (app_name, url)
app_name = app_name[5:]
assert app_name in apps_url_patterns_prefixs_and_users, """
A app (%s) da url (%s) não consta na lista de prefixos do teste
""" % (app_name, url)
if app_name in apps_url_patterns_prefixs_and_users:
prefixs = apps_url_patterns_prefixs_and_users[app_name]['prefixs']
isvalid = False
for prefix in prefixs:
if url.startswith(prefix):
isvalid = True
break
assert isvalid, """
O prefixo da url (%s) não está no padrão de sua app (%s).
Os prefixos permitidos são:
%s
""" % (url, app_name, prefixs)
if app_name != 'redireciona_urls':
assert app_name in apps_url_patterns_prefixs_and_users, """
A app (%s) da url (%s) não consta na lista de prefixos do teste
""" % (app_name, url)
if app_name in apps_url_patterns_prefixs_and_users:
prefixs = apps_url_patterns_prefixs_and_users[app_name]['prefixs']
isvalid = False
for prefix in prefixs:
if url.startswith(prefix):
isvalid = True
break
assert isvalid, """
O prefixo da url (%s) não está no padrão de sua app (%s).
Os prefixos permitidos são:
%s
""" % (url, app_name, prefixs)
else:
# ignorando app de redirecionamento de urls no padrão do SAPL 2.5
pass
urls_publicas_excecoes = {

Loading…
Cancel
Save