Browse Source

Retira namespaces das urls do crud

pull/258/head
Marcio Mazza 9 years ago
parent
commit
46055a6bfa
  1. 6
      comissoes/urls.py
  2. 28
      crud/base.py
  3. 10
      crud/tests/test_base.py
  4. 5
      materia/urls.py
  5. 6
      norma/urls.py
  6. 6
      sessao/urls.py

6
comissoes/urls.py

@ -7,9 +7,7 @@ from comissoes.views import (CadastrarComissaoView, CargoCrud, ComissaoCrud,
PeriodoComposicaoCrud, ReunioesView, PeriodoComposicaoCrud, ReunioesView,
TipoComissaoCrud) TipoComissaoCrud)
comissao_url_patterns, namespace = ComissaoCrud.get_urls() comissao_url_patterns = ComissaoCrud.get_urls() + [
comissao_url_patterns = comissao_url_patterns + [
url(r'^(?P<pk>\d+)/composicao$', url(r'^(?P<pk>\d+)/composicao$',
ComposicaoView.as_view(), name='composicao'), ComposicaoView.as_view(), name='composicao'),
url(r'^(?P<pk>\d+)/materias-em-tramitacao$', url(r'^(?P<pk>\d+)/materias-em-tramitacao$',
@ -29,7 +27,7 @@ comissao_url_patterns = comissao_url_patterns + [
] ]
urlpatterns = [ urlpatterns = [
url(r'^comissoes/', include(comissao_url_patterns, namespace)), url(r'^comissoes/', include(comissao_url_patterns)),
url(r'^sistema/comissoes/cargo/', include(CargoCrud.get_urls())), url(r'^sistema/comissoes/cargo/', include(CargoCrud.get_urls())),
url(r'^sistema/comissoes/periodo-composicao/', url(r'^sistema/comissoes/periodo-composicao/',

28
crud/base.py

@ -55,12 +55,12 @@ def make_pagination(index, num_pages):
class BaseMixin(CrispyLayoutFormMixin): class BaseMixin(CrispyLayoutFormMixin):
@property @classmethod
def namespace(self): def url_name(cls, suffix):
return self.model._meta.model_name return '%s_%s' % (cls.model._meta.model_name, suffix)
def resolve_url(self, url_name, args=None): def resolve_url(self, suffix, args=None):
return reverse('%s:%s' % (self.namespace, url_name), args=args) return reverse(self.url_name(suffix), args=args)
@property @property
def list_url(self): def list_url(self):
@ -195,17 +195,13 @@ class Crud:
CrudUpdateView = _add_base(cls.UpdateView) CrudUpdateView = _add_base(cls.UpdateView)
CrudDeleteView = _add_base(cls.DeleteView) CrudDeleteView = _add_base(cls.DeleteView)
urlpatterns = [ return [url(regex, view.as_view(), name=view.url_name(suffix))
url(r'^$', CrudListView.as_view(), name='list'), for regex, view, suffix in [
url(r'^create$', CrudCreateView.as_view(), name='create'), (r'^$', CrudListView, 'list'),
url(r'^(?P<pk>\d+)$', CrudDetailView.as_view(), name='detail'), (r'^create$', CrudCreateView, 'create'),
url(r'^(?P<pk>\d+)/edit$', (r'^(?P<pk>\d+)$', CrudDetailView, 'detail'),
CrudUpdateView.as_view(), name='update'), (r'^(?P<pk>\d+)/edit$', CrudUpdateView, 'update'),
url(r'^(?P<pk>\d+)/delete$', (r'^(?P<pk>\d+)/delete$', CrudDeleteView, 'delete'), ]]
CrudDeleteView.as_view(), name='delete'),
]
return urlpatterns, _add_base(object)().namespace
@classonlymethod @classonlymethod
def build(cls, _model, _help_path): def build(cls, _model, _help_path):

10
crud/tests/test_base.py

@ -140,11 +140,11 @@ def test_layout_detail_fieldsets(monkeypatch):
def test_reverse(): def test_reverse():
assert '/countries/' == reverse('country:list') assert '/countries/' == reverse('country_list')
assert '/countries/create' == reverse('country:create') assert '/countries/create' == reverse('country_create')
assert '/countries/2' == reverse('country:detail', args=(2,)) assert '/countries/2' == reverse('country_detail', args=(2,))
assert '/countries/2/edit' == reverse('country:update', args=(2,)) assert '/countries/2/edit' == reverse('country_update', args=(2,))
assert '/countries/2/delete' == reverse('country:delete', args=(2,)) assert '/countries/2/delete' == reverse('country_delete', args=(2,))
def assert_h1(res, title): def assert_h1(res, title):

5
materia/urls.py

@ -22,11 +22,8 @@ from materia.views import (AcompanhamentoConfirmarView,
TramitacaoEditView, TramitacaoView, TramitacaoEditView, TramitacaoView,
UnidadeTramitacaoCrud, ProposicaoEditView) UnidadeTramitacaoCrud, ProposicaoEditView)
materia_legislativa_patterns, namespace = MateriaLegislativaCrud.get_urls()
urlpatterns = [ urlpatterns = [
url(r'^materia/', include(materia_legislativa_patterns, namespace)), url(r'^materia/', include(MateriaLegislativaCrud.get_urls())),
url(r'^materia/(?P<pk>[0-9]+)/ta$', url(r'^materia/(?P<pk>[0-9]+)/ta$',

6
norma/urls.py

@ -14,15 +14,13 @@ from norma.views import (AssuntoNormaCrud, NormaEditView, NormaIncluirView,
# o código abaixo: # o código abaixo:
# url(r'^norma/(?P<pk>[0-9]+)/ta$', NormaTaView.as_view(), name='ta') # url(r'^norma/(?P<pk>[0-9]+)/ta$', NormaTaView.as_view(), name='ta')
# bem como a classe NormaTaView que está em norma.views # bem como a classe NormaTaView que está em norma.views
norma_url_patterns, namespace = NormaTemporarioCrud.get_urls() norma_url_patterns = NormaTemporarioCrud.get_urls() + [
norma_url_patterns += [
url(r'^norma/(?P<pk>[0-9]+)/ta$', url(r'^norma/(?P<pk>[0-9]+)/ta$',
NormaTaView.as_view(), name='ta') NormaTaView.as_view(), name='ta')
] ]
urlpatterns = [ urlpatterns = [
url(r'^norma/', include(norma_url_patterns, namespace)), url(r'^norma/', include(norma_url_patterns)),
url(r'^sistema/norma/tipo/', include(TipoNormaCrud.get_urls())), url(r'^sistema/norma/tipo/', include(TipoNormaCrud.get_urls())),
url(r'^sistema/norma/assunto/', include(AssuntoNormaCrud.get_urls())), url(r'^sistema/norma/assunto/', include(AssuntoNormaCrud.get_urls())),

6
sessao/urls.py

@ -21,9 +21,7 @@ from sessao.views import (EditExpedienteOrdemDiaView, EditMateriaOrdemDiaView,
VotacaoNominalExpedienteView, VotacaoNominalView, VotacaoNominalExpedienteView, VotacaoNominalView,
VotacaoView) VotacaoView)
urlpatterns_sessao, namespace = SessaoCrud.get_urls() urlpatterns_sessao = SessaoCrud.get_urls() + [
urlpatterns_sessao = urlpatterns_sessao + [
url(r'^(?P<pk>\d+)/expediente$', url(r'^(?P<pk>\d+)/expediente$',
ExpedienteView.as_view(), name='expediente'), ExpedienteView.as_view(), name='expediente'),
url(r'^(?P<pk>\d+)/presenca$', url(r'^(?P<pk>\d+)/presenca$',
@ -105,7 +103,7 @@ sessao_rest = [
] ]
urlpatterns = [ urlpatterns = [
url(r'^sessao/', include(urlpatterns_sessao, namespace)), url(r'^sessao/', include(urlpatterns_sessao)),
url(r'^media/(?P<path>.*)$', serve, url(r'^media/(?P<path>.*)$', serve,
{'document_root': settings.MEDIA_ROOT}), {'document_root': settings.MEDIA_ROOT}),
url(r'^rest/', include(sessao_rest)), url(r'^rest/', include(sessao_rest)),

Loading…
Cancel
Save