diff --git a/comissoes/urls.py b/comissoes/urls.py index 4415c0283..1cb39bd01 100644 --- a/comissoes/urls.py +++ b/comissoes/urls.py @@ -7,7 +7,9 @@ from comissoes.views import (CadastrarComissaoView, ReunioesView, cargo_crud, comissao_crud, periodo_composicao_crud, tipo_comissao_crud) -comissao_url_patterns = comissao_crud.urlpatterns + [ +comissao_url_patterns, namespace = comissao_crud.get_urls() + +comissao_url_patterns = comissao_url_patterns + [ url(r'^(?P\d+)/composicao$', ComposicaoView.as_view(), name='composicao'), url(r'^(?P\d+)/materias-em-tramitacao$', @@ -27,12 +29,10 @@ comissao_url_patterns = comissao_crud.urlpatterns + [ ] urlpatterns = [ - url(r'^comissoes/', include(comissao_url_patterns, - comissao_crud.namespace, - comissao_crud.namespace)), + url(r'^comissoes/', include(comissao_url_patterns, namespace)), - url(r'^sistema/comissoes/cargo/', include(cargo_crud.urls)), + url(r'^sistema/comissoes/cargo/', include(cargo_crud.get_urls())), url(r'^sistema/comissoes/periodo-composicao/', - include(periodo_composicao_crud.urls)), - url(r'^sistema/comissoes/tipo/', include(tipo_comissao_crud.urls)), + include(periodo_composicao_crud.get_urls())), + url(r'^sistema/comissoes/tipo/', include(tipo_comissao_crud.get_urls())), ] diff --git a/comissoes/views.py b/comissoes/views.py index f82e146e6..56eac2827 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -14,10 +14,10 @@ from .forms import (CadastrarComissaoForm, ComposicaoForm, from .models import (CargoComissao, Comissao, Composicao, Participacao, Periodo, TipoComissao) -cargo_crud = Crud(CargoComissao, 'cargo_comissao') -periodo_composicao_crud = Crud(Periodo, 'periodo_composicao_comissao') -tipo_comissao_crud = Crud(TipoComissao, 'tipo_comissao') -comissao_crud = Crud(Comissao, 'modulo_comissoes') +cargo_crud = Crud.build(CargoComissao, 'cargo_comissao') +periodo_composicao_crud = Crud.build(Periodo, 'periodo_composicao_comissao') +tipo_comissao_crud = Crud.build(TipoComissao, 'tipo_comissao') +comissao_crud = Crud.build(Comissao, 'modulo_comissoes') class CadastrarComissaoView(CreateView): @@ -137,7 +137,7 @@ class ComissaoParlamentarEditView(FormMixin, GenericView): participacao = Participacao.objects.get(id=participacao_id) comissao = Comissao.objects.get(id=self.kwargs['pk']) id_parlamentar = Filiacao.objects.filter( - parlamentar__id=participacao.parlamentar.id).order_by('data') + parlamentar__id=participacao.parlamentar.id).order_by('data') id_parlamentar = id_parlamentar.last().id form = ParticipacaoCadastroForm( initial={'parlamentar_id': id_parlamentar}, @@ -153,7 +153,7 @@ class ComissaoParlamentarEditView(FormMixin, GenericView): request.POST, request.FILES, instance=Participacao.objects.get(id=kwargs['id']) - ).save(commit=False) + ).save(commit=False) participacao.composicao = Composicao.objects.get( id=kwargs['cd']) diff --git a/compilacao/urls.py b/compilacao/urls.py index b90eb215b..f56b8c4ea 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -93,12 +93,12 @@ urlpatterns = [ url(r'^ta/', include(urlpatterns_compilacao, 'compilacao', 'compilacao')), url(r'^ta/config/tipo-nota/', - include(tipo_nota_crud.urls)), + include(tipo_nota_crud.get_urls())), url(r'^ta/config/tipo-vide/', - include(tipo_vide_crud.urls)), + include(tipo_vide_crud.get_urls())), url(r'^ta/config/tipo-publicacao/', - include(tipo_publicacao_crud.urls)), + include(tipo_publicacao_crud.get_urls())), url(r'^ta/config/veiculo-publicacao/', - include(veiculo_publicacao_crud.urls)), + include(veiculo_publicacao_crud.get_urls())), ] diff --git a/compilacao/views.py b/compilacao/views.py index aa11d8bd2..c3292f562 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -27,7 +27,7 @@ from compilacao.models import (Dispositivo, Nota, TextoArticulado, TipoDispositivo, TipoNota, TipoPublicacao, TipoTextoArticulado, TipoVide, VeiculoPublicacao, Vide) -from crud.base import Crud, ListMixin, make_pagination +from crud.base import Crud, CrudListView, make_pagination DISPOSITIVO_SELECT_RELATED = ( 'tipo_dispositivo', @@ -42,13 +42,13 @@ DISPOSITIVO_SELECT_RELATED = ( 'ta_publicado', 'ta',) -tipo_nota_crud = Crud(TipoNota, 'tipo_nota') -tipo_vide_crud = Crud(TipoVide, 'tipo_vide') -tipo_publicacao_crud = Crud(TipoPublicacao, 'tipo_publicacao') -veiculo_publicacao_crud = Crud(VeiculoPublicacao, 'veiculo_publicacao') -perfil_estr_txt_norm = Crud(PerfilEstruturalTextoArticulado, - 'perfil_estrutural') -tipo_dispositivo_crud = Crud(TipoDispositivo, 'tipo_dispositivo') +tipo_nota_crud = Crud.build(TipoNota, 'tipo_nota') +tipo_vide_crud = Crud.build(TipoVide, 'tipo_vide') +tipo_publicacao_crud = Crud.build(TipoPublicacao, 'tipo_publicacao') +veiculo_publicacao_crud = Crud.build(VeiculoPublicacao, 'veiculo_publicacao') +perfil_estr_txt_norm = Crud.build(PerfilEstruturalTextoArticulado, + 'perfil_estrutural') +tipo_dispositivo_crud = Crud.build(TipoDispositivo, 'tipo_dispositivo') class IntegracaoTaView(TemplateView): @@ -1667,7 +1667,7 @@ class PublicacaoListView(ListView): def get_context_data(self, **kwargs): context = super(PublicacaoListView, self).get_context_data(**kwargs) - context['NO_ENTRIES_MSG'] = ListMixin.no_entries_msg + context['NO_ENTRIES_MSG'] = CrudListView.no_entries_msg return context diff --git a/crud/base.py b/crud/base.py index 86f83754f..0010209ee 100644 --- a/crud/base.py +++ b/crud/base.py @@ -182,19 +182,18 @@ class Crud: @classonlymethod def get_urls(cls): - def _from(view): - return type(view.__name__, (cls.BaseMixin, view,), { - 'model': cls.model, - 'help_path': cls.help_path}) - - CrudListView = _from(cls.ListView) - CrudCreateView = _from(cls.CreateView) - CrudDetailView = _from(cls.DetailView) - CrudUpdateView = _from(cls.UpdateView) - CrudDeleteView = _from(cls.DeleteView) - - import ipdb - ipdb.set_trace() # flake8: noqa #################O + def _add_base(view): + class CrudViewWithBase(cls.BaseMixin, view): + model = cls.model + help_path = cls.help_path + CrudViewWithBase.__name__ = view.__name__ + return CrudViewWithBase + + CrudListView = _add_base(cls.ListView) + CrudCreateView = _add_base(cls.CreateView) + CrudDetailView = _add_base(cls.DetailView) + CrudUpdateView = _add_base(cls.UpdateView) + CrudDeleteView = _add_base(cls.DeleteView) urlpatterns = [ url(r'^$', CrudListView.as_view(), name='list'), @@ -206,4 +205,19 @@ class Crud: CrudDeleteView.as_view(), name='delete'), ] - return urlpatterns, _from(object)().namespace + return urlpatterns, _add_base(object)().namespace + + @classonlymethod + def build(cls, _model, _help_path): + class ModelCrud(cls): + model = _model + help_path = _help_path + + # FIXME!!!! corrigir referencias no codigo e remover isso!!!!! + # fazer com #230 + class CrudDetailView(cls.BaseMixin, cls.DetailView): + model = _model + help_path = _help_path + + ModelCrud.__name__ = '%sCrud' % _model.__name__ + return ModelCrud diff --git a/crud/tests/stub_app/urls.py b/crud/tests/stub_app/urls.py index 94880e39e..3224f5c1a 100644 --- a/crud/tests/stub_app/urls.py +++ b/crud/tests/stub_app/urls.py @@ -1,7 +1,7 @@ from django.conf.urls import include, url -from .views import country_crud +from .views import CountryCrud urlpatterns = [ - url(r'^countries/', include(country_crud.urls)), + url(r'^countries/', include(CountryCrud.get_urls())), ] diff --git a/crud/tests/stub_app/views.py b/crud/tests/stub_app/views.py index a3da663d3..315397696 100644 --- a/crud/tests/stub_app/views.py +++ b/crud/tests/stub_app/views.py @@ -1,13 +1,11 @@ -from crud.base import Crud, ListMixin +from crud.base import Crud, CrudListView from .models import Country -class CountryListMixin(ListMixin): - paginate_by = 10 +class CountryCrud(Crud): + model = Country + help_path = 'help_path', - -country_crud = Crud( - Country, - 'help_path', - list_mixin=CountryListMixin) + class ListView(CrudListView): + paginate_by = 10 diff --git a/crud/tests/test_base.py b/crud/tests/test_base.py index 792230fa4..b8a94a4c9 100644 --- a/crud/tests/test_base.py +++ b/crud/tests/test_base.py @@ -2,11 +2,11 @@ import pytest from django.core.urlresolvers import reverse from model_mommy import mommy -from crud.base import (CrispyLayoutFormMixin, ListMixin, from_to, +from crud.base import (CrispyLayoutFormMixin, CrudListView, from_to, get_field_display, make_pagination) from .stub_app.models import Continent, Country -from .stub_app.views import CountryListMixin +from .stub_app.views import CountryCrud pytestmark = pytest.mark.django_db @@ -151,7 +151,7 @@ def assert_h1(res, title): assert res.html.find('main').find('h1').text.strip() == title -NO_ENTRIES_MSG = str(ListMixin.no_entries_msg) # "unlazy" +NO_ENTRIES_MSG = str(CrudListView.no_entries_msg) # "unlazy" def assert_on_list_page(res): @@ -196,7 +196,7 @@ def test_flux_list_paginate_detail( population=population, is_cold=is_cold) - CountryListMixin.paginate_by = page_size + CountryCrud.ListView.paginate_by = page_size res = app.get('/countries/') diff --git a/lexml/urls.py b/lexml/urls.py index f47ab9bdd..1a44c162a 100644 --- a/lexml/urls.py +++ b/lexml/urls.py @@ -3,6 +3,8 @@ from django.conf.urls import include, url from lexml.views import lexml_provedor_crud, lexml_publicador_crud urlpatterns = [ - url(r'^sistema/lexml/provedor/', include(lexml_provedor_crud.urls)), - url(r'^sistema/lexml/publicador/', include(lexml_publicador_crud.urls)), + url(r'^sistema/lexml/provedor/', + include(lexml_provedor_crud.get_urls())), + url(r'^sistema/lexml/publicador/', + include(lexml_publicador_crud.get_urls())), ] diff --git a/lexml/views.py b/lexml/views.py index dc1fb392f..d2b473349 100644 --- a/lexml/views.py +++ b/lexml/views.py @@ -2,5 +2,5 @@ from crud.base import Crud from .models import LexmlProvedor, LexmlPublicador -lexml_provedor_crud = Crud(LexmlProvedor, 'lexml_provedor') -lexml_publicador_crud = Crud(LexmlPublicador, 'lexml_publicador') +lexml_provedor_crud = Crud.build(LexmlProvedor, 'lexml_provedor') +lexml_publicador_crud = Crud.build(LexmlPublicador, 'lexml_publicador') diff --git a/materia/urls.py b/materia/urls.py index 3475189c0..6269d6cce 100644 --- a/materia/urls.py +++ b/materia/urls.py @@ -21,38 +21,35 @@ from materia.views import (AcompanhamentoConfirmarView, tipo_materia_crud, tipo_proposicao_crud, unidade_tramitacao_crud) -materia_legislativa_patterns = materia_legislativa_crud.urlpatterns +materia_legislativa_patterns, namespace = materia_legislativa_crud.get_urls() urlpatterns = [ - url(r'^materia/', include(materia_legislativa_patterns, - materia_legislativa_crud.namespace, - materia_legislativa_crud.namespace)), - + url(r'^materia/', include(materia_legislativa_patterns, namespace)), url(r'^materia/(?P[0-9]+)/ta$', MateriaTaView.as_view(), name='materia_ta'), url(r'^materia/proposicao/(?P[0-9]+)/ta$', ProposicaoTaView.as_view(), name='proposicao_ta'), - - url(r'^sistema/proposicoes/tipo/', include(tipo_proposicao_crud.urls)), - url(r'^sistema/proposicoes/autor/', include(autor_crud.urls)), - url(r'^sistema/materia/tipo/', include(tipo_materia_crud.urls)), + url(r'^sistema/proposicoes/tipo/', + include(tipo_proposicao_crud.get_urls())), + url(r'^sistema/proposicoes/autor/', include(autor_crud.get_urls())), + url(r'^sistema/materia/tipo/', include(tipo_materia_crud.get_urls())), url(r'^sistema/materia/regime-tramitacao/', - include(regime_tramitacao_crud.urls)), - url(r'^sistema/materia/tipo-autor/', include(tipo_autor_crud.urls)), + include(regime_tramitacao_crud.get_urls())), + url(r'^sistema/materia/tipo-autor/', include(tipo_autor_crud.get_urls())), url(r'^sistema/materia/tipo-documento/', - include(tipo_documento_crud.urls)), + include(tipo_documento_crud.get_urls())), url(r'^sistema/materia/tipo-fim-relatoria/', - include(tipo_fim_relatoria_crud.urls)), + include(tipo_fim_relatoria_crud.get_urls())), url(r'^sistema/materia/unidade-tramitacao/', - include(unidade_tramitacao_crud.urls)), - url(r'^sistema/materia/origem/', include(origem_crud.urls)), - url(r'^sistema/materia/autor/', include(autor_crud.urls)), + include(unidade_tramitacao_crud.get_urls())), + url(r'^sistema/materia/origem/', include(origem_crud.get_urls())), + url(r'^sistema/materia/autor/', include(autor_crud.get_urls())), url(r'^sistema/materia/status-tramitacao/', - include(status_tramitacao_crud.urls)), - url(r'^sistema/materia/orgao/', include(orgao_crud.urls)), + include(status_tramitacao_crud.get_urls())), + url(r'^sistema/materia/orgao/', include(orgao_crud.get_urls())), url(r'^materia/formulario-simplificado', FormularioSimplificadoView.as_view(), name='formulario_simplificado'), diff --git a/materia/views.py b/materia/views.py index 9218ebdc0..f8c84f420 100644 --- a/materia/views.py +++ b/materia/views.py @@ -35,25 +35,26 @@ from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, TipoFimRelatoria, TipoMateriaLegislativa, TipoProposicao, Tramitacao, UnidadeTramitacao) -origem_crud = Crud(Origem, 'origem') -tipo_materia_crud = Crud(TipoMateriaLegislativa, 'tipo_materia_legislativa') -regime_tramitacao_crud = Crud(RegimeTramitacao, 'regime_tramitacao') -tipo_documento_crud = Crud(TipoDocumento, 'tipo_documento') -tipo_fim_relatoria_crud = Crud(TipoFimRelatoria, 'fim_relatoria') -materia_legislativa_crud = Crud(MateriaLegislativa, '') -Anexada_crud = Crud(Anexada, '') -tipo_autor_crud = Crud(TipoAutor, 'tipo_autor') -autor_crud = Crud(Autor, 'autor') -autoria_crud = Crud(Autoria, '') -documento_acessorio_crud = Crud(DocumentoAcessorio, '') -numeracao_crud = Crud(Numeracao, '') -orgao_crud = Crud(Orgao, 'orgao') -relatoria_crud = Crud(Relatoria, '') -tipo_proposicao_crud = Crud(TipoProposicao, 'tipo_proposicao') -proposicao_crud = Crud(Proposicao, '') -status_tramitacao_crud = Crud(StatusTramitacao, 'status_tramitacao') -unidade_tramitacao_crud = Crud(UnidadeTramitacao, 'unidade_tramitacao') -tramitacao_crud = Crud(Tramitacao, '') +origem_crud = Crud.build(Origem, 'origem') +tipo_materia_crud = Crud.build(TipoMateriaLegislativa, + 'tipo_materia_legislativa') +regime_tramitacao_crud = Crud.build(RegimeTramitacao, 'regime_tramitacao') +tipo_documento_crud = Crud.build(TipoDocumento, 'tipo_documento') +tipo_fim_relatoria_crud = Crud.build(TipoFimRelatoria, 'fim_relatoria') +materia_legislativa_crud = Crud.build(MateriaLegislativa, '') +Anexada_crud = Crud.build(Anexada, '') +tipo_autor_crud = Crud.build(TipoAutor, 'tipo_autor') +autor_crud = Crud.build(Autor, 'autor') +autoria_crud = Crud.build(Autoria, '') +documento_acessorio_crud = Crud.build(DocumentoAcessorio, '') +numeracao_crud = Crud.build(Numeracao, '') +orgao_crud = Crud.build(Orgao, 'orgao') +relatoria_crud = Crud.build(Relatoria, '') +tipo_proposicao_crud = Crud.build(TipoProposicao, 'tipo_proposicao') +proposicao_crud = Crud.build(Proposicao, '') +status_tramitacao_crud = Crud.build(StatusTramitacao, 'status_tramitacao') +unidade_tramitacao_crud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao') +tramitacao_crud = Crud.build(Tramitacao, '') class FormularioSimplificadoView(CreateView): diff --git a/norma/urls.py b/norma/urls.py index 2b93767eb..842d8ed02 100644 --- a/norma/urls.py +++ b/norma/urls.py @@ -5,19 +5,19 @@ from norma.views import (NormaEditView, NormaIncluirView, NormaPesquisaView, assunto_norma_crud, norma_temporario_crud, tipo_norma_crud) -# norma_url_patterns = norma_crud.urlpatterns + [] -norma_url_patterns = norma_temporario_crud.urlpatterns + [ +# FIXME???? usar norma_crud ???? +norma_url_patterns, namespace = norma_temporario_crud.get_urls() + +norma_url_patterns += [ url(r'^norma/(?P[0-9]+)/ta$', NormaTaView.as_view(), name='ta') ] urlpatterns = [ - url(r'^norma/', include(norma_url_patterns, - norma_temporario_crud.namespace, - norma_temporario_crud.namespace)), + url(r'^norma/', include(norma_url_patterns, namespace)), - url(r'^sistema/norma/tipo/', include(tipo_norma_crud.urls)), - url(r'^sistema/norma/assunto/', include(assunto_norma_crud.urls)), + url(r'^sistema/norma/tipo/', include(tipo_norma_crud.get_urls())), + url(r'^sistema/norma/assunto/', include(assunto_norma_crud.get_urls())), url(r'^norma/incluir$', NormaIncluirView.as_view(), name='norma_incluir'), url(r'^norma/(?P[0-9]+)/editar$', diff --git a/norma/views.py b/norma/views.py index dab643931..6b0b40652 100644 --- a/norma/views.py +++ b/norma/views.py @@ -16,11 +16,11 @@ from .forms import NormaJuridicaForm, NormaJuridicaPesquisaForm from .models import (AssuntoNorma, LegislacaoCitada, NormaJuridica, TipoNormaJuridica) -assunto_norma_crud = Crud(AssuntoNorma, 'assunto_norma_juridica') -tipo_norma_crud = Crud(TipoNormaJuridica, 'tipo_norma_juridica') -norma_crud = Crud(NormaJuridica, '') -norma_temporario_crud = Crud(NormaJuridica, 'normajuridica') -legislacao_citada_crud = Crud(LegislacaoCitada, '') +assunto_norma_crud = Crud.build(AssuntoNorma, 'assunto_norma_juridica') +tipo_norma_crud = Crud.build(TipoNormaJuridica, 'tipo_norma_juridica') +norma_crud = Crud.build(NormaJuridica, '') +norma_temporario_crud = Crud.build(NormaJuridica, 'normajuridica') +legislacao_citada_crud = Crud.build(LegislacaoCitada, '') class NormaPesquisaView(GenericView): diff --git a/painel/urls.py b/painel/urls.py index 4b7e00bd5..1090b63f4 100644 --- a/painel/urls.py +++ b/painel/urls.py @@ -15,5 +15,5 @@ urlpatterns = [ name='painel_parlamentares'), url(r'^painel/votacao$', painel_votacao_view, name='painel_votacao'), url(r'^painel/cronometro$', cronometro_painel, name='cronometro_painel'), - # url(r'^painel/cronometro$', include(cronometro_painel_crud.urls)), + # url(r'^painel/cronometro$', include(cronometro_painel_crud.get_urls())), ] diff --git a/painel/views.py b/painel/views.py index d42d0bd58..b2f4d1288 100644 --- a/painel/views.py +++ b/painel/views.py @@ -14,7 +14,7 @@ from sessao.models import (ExpedienteMateria, OrdemDia, PresencaOrdemDia, from .models import Cronometro -cronometro_painel_crud = Crud(Cronometro, '') +cronometro_painel_crud = Crud.build(Cronometro, '') def controlador_painel(request): diff --git a/parlamentares/urls.py b/parlamentares/urls.py index a9180ddfc..7ac9caae3 100644 --- a/parlamentares/urls.py +++ b/parlamentares/urls.py @@ -14,22 +14,23 @@ from parlamentares.views import (FiliacaoEditView, FiliacaoView, urlpatterns = [ url(r'^sistema/parlamentares/legislatura/', - include(legislatura_crud.urls)), + include(legislatura_crud.get_urls())), url(r'^sistema/parlamentares/tipo-dependente/', - include(tipo_dependente_crud.urls)), + include(tipo_dependente_crud.get_urls())), url(r'^sistema/parlamentares/nivel-instrucao/', - include(nivel_instrucao_crud.urls)), - url(r'^sistema/parlamentares/coligacao/', include(coligacao_crud.urls)), + include(nivel_instrucao_crud.get_urls())), + url(r'^sistema/parlamentares/coligacao/', + include(coligacao_crud.get_urls())), url(r'^sistema/parlamentares/tipo-afastamento/', - include(tipo_afastamento_crud.urls)), + include(tipo_afastamento_crud.get_urls())), url(r'^sistema/parlamentares/tipo-militar/', - include(tipo_militar_crud.urls)), - url(r'^sistema/parlamentares/partido/', include(partido_crud.urls)), + include(tipo_militar_crud.get_urls())), + url(r'^sistema/parlamentares/partido/', include(partido_crud.get_urls())), url(r'^sistema/mesa-diretora/sessao-legislativa/', - include(sessao_legislativa_crud.urls)), + include(sessao_legislativa_crud.get_urls())), url(r'^sistema/mesa-diretora/cargo-mesa/', - include(cargo_mesa_crud.urls)), + include(cargo_mesa_crud.get_urls())), url(r'^parlamentares/$', ParlamentaresView.as_view(), name='parlamentares'), diff --git a/parlamentares/views.py b/parlamentares/views.py index a52eca12e..4cc3d7b8a 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -19,19 +19,19 @@ from .models import (CargoMesa, Coligacao, ComposicaoMesa, Dependente, Parlamentar, Partido, SessaoLegislativa, SituacaoMilitar, TipoAfastamento, TipoDependente) -cargo_mesa_crud = Crud(CargoMesa, 'cargo_mesa') -legislatura_crud = Crud(Legislatura, 'tabelas_auxiliares#legislatura') -coligacao_crud = Crud(Coligacao, 'coligacao') -partido_crud = Crud(Partido, 'partidos') -dependente_crud = Crud(Dependente, '') -sessao_legislativa_crud = Crud(SessaoLegislativa, 'sessao_legislativa') -parlamentar_crud = Crud(Parlamentar, '') -filiacao_crud = Crud(Filiacao, '') -mandato_crud = Crud(Mandato, '') -tipo_dependente_crud = Crud(TipoDependente, 'tipo_dependente') -nivel_instrucao_crud = Crud(NivelInstrucao, 'nivel_instrucao') -tipo_afastamento_crud = Crud(TipoAfastamento, 'tipo_afastamento') -tipo_militar_crud = Crud(SituacaoMilitar, 'tipo_situa_militar') +cargo_mesa_crud = Crud.build(CargoMesa, 'cargo_mesa') +legislatura_crud = Crud.build(Legislatura, 'tabelas_auxiliares#legislatura') +coligacao_crud = Crud.build(Coligacao, 'coligacao') +partido_crud = Crud.build(Partido, 'partidos') +dependente_crud = Crud.build(Dependente, '') +sessao_legislativa_crud = Crud.build(SessaoLegislativa, 'sessao_legislativa') +parlamentar_crud = Crud.build(Parlamentar, '') +filiacao_crud = Crud.build(Filiacao, '') +mandato_crud = Crud.build(Mandato, '') +tipo_dependente_crud = Crud.build(TipoDependente, 'tipo_dependente') +nivel_instrucao_crud = Crud.build(NivelInstrucao, 'nivel_instrucao') +tipo_afastamento_crud = Crud.build(TipoAfastamento, 'tipo_afastamento') +tipo_militar_crud = Crud.build(SituacaoMilitar, 'tipo_situa_militar') class ParlamentaresView(GenericView): diff --git a/protocoloadm/urls.py b/protocoloadm/urls.py index eb427c88d..0a5faf6ca 100644 --- a/protocoloadm/urls.py +++ b/protocoloadm/urls.py @@ -25,19 +25,20 @@ from protocoloadm.views import (AnularProtocoloAdmView, tramitacao_administrativo_crud) urlpatterns = [ - url(r'^protocoloadm/docadm/', include(documento_administrativo_crud.urls)), + url(r'^protocoloadm/docadm/', + include(documento_administrativo_crud.get_urls())), url(r'^protocoloadm/tipo-documento-adm/', - include(tipo_documento_administrativo_crud.urls)), + include(tipo_documento_administrativo_crud.get_urls())), url(r'^protocoloadm/doc-acessorio/', - include(documento_acessorio_administrativo_crud.urls)), + include(documento_acessorio_administrativo_crud.get_urls())), url(r'^protocoloadm/status-tramitacao-adm/', - include(status_tramitacao_administrativo_crud.urls)), + include(status_tramitacao_administrativo_crud.get_urls())), url(r'^protocoloadm/tramitacao-adm/', - include(tramitacao_administrativo_crud.urls)), + include(tramitacao_administrativo_crud.get_urls())), url(r'^protocoloadm/protocolo-doc/', - include(protocolo_documento_crud.urls)), + include(protocolo_documento_crud.get_urls())), url(r'^protocoloadm/protocolo-mat/', - include(protocolo_materia_crud.urls), name='protocolomat'), + include(protocolo_materia_crud.get_urls()), name='protocolomat'), url(r'^protocoloadm/protocolo$', ProtocoloPesquisaView.as_view(), name='protocolo'), url(r'^protocoloadm/protocolo_list$', diff --git a/protocoloadm/views.py b/protocoloadm/views.py index 019ad45ba..cf7a77899 100644 --- a/protocoloadm/views.py +++ b/protocoloadm/views.py @@ -26,17 +26,18 @@ from .models import (Autor, DocumentoAcessorioAdministrativo, StatusTramitacaoAdministrativo, TipoDocumentoAdministrativo, TramitacaoAdministrativo) -tipo_documento_administrativo_crud = Crud(TipoDocumentoAdministrativo, '') -documento_administrativo_crud = Crud(DocumentoAdministrativo, '') -documento_acessorio_administrativo_crud = Crud( +tipo_documento_administrativo_crud = Crud.build(TipoDocumentoAdministrativo, + '') +documento_administrativo_crud = Crud.build(DocumentoAdministrativo, '') +documento_acessorio_administrativo_crud = Crud.build( DocumentoAcessorioAdministrativo, '') -status_tramitacao_administrativo_crud = Crud( +status_tramitacao_administrativo_crud = Crud.build( StatusTramitacaoAdministrativo, '') -tramitacao_administrativo_crud = Crud(TramitacaoAdministrativo, '') -protocolo_documento_crud = Crud(Protocolo, '') +tramitacao_administrativo_crud = Crud.build(TramitacaoAdministrativo, '') +protocolo_documento_crud = Crud.build(Protocolo, '') # FIXME precisa de uma chave diferente para o layout -protocolo_materia_crud = Crud(Protocolo, '') +protocolo_materia_crud = Crud.build(Protocolo, '') class ProtocoloPesquisaView(FormView): @@ -140,7 +141,7 @@ class AnularProtocoloAdmView(FormView): protocolo = Protocolo.objects.get(numero=numero, ano=ano) protocolo.anulado = True protocolo.justificativa_anulacao = sub(' ', ' ', strip_tags( - form.cleaned_data['justificativa_anulacao'])) + form.cleaned_data['justificativa_anulacao'])) protocolo.user_anulacao = form.cleaned_data['user_anulacao'] protocolo.ip_anulacao = form.cleaned_data['ip_anulacao'] protocolo.save() diff --git a/sessao/urls.py b/sessao/urls.py index 45e7f7c1c..a4e812dd0 100644 --- a/sessao/urls.py +++ b/sessao/urls.py @@ -21,7 +21,9 @@ from sessao.views import (EditExpedienteOrdemDiaView, EditMateriaOrdemDiaView, VotacaoView, sessao_crud, tipo_expediente_crud, tipo_resultado_votacao_crud, tipo_sessao_crud) -urlpatterns_sessao = sessao_crud.urlpatterns + [ +urlpatterns_sessao, namespace = sessao_crud.get_urls() + +urlpatterns_sessao = urlpatterns_sessao + [ url(r'^(?P\d+)/expediente$', ExpedienteView.as_view(), name='expediente'), url(r'^(?P\d+)/presenca$', @@ -98,21 +100,19 @@ urlpatterns_sessao = sessao_crud.urlpatterns + [ PautaOrdemDetail.as_view(), name='pauta_ordem_detail'), ] -sessao_urls = urlpatterns_sessao, sessao_crud.namespace, sessao_crud.namespace - sessao_rest = [ url(r'^sessao$', SessaoPlenariaView.as_view(), name='sessao_rest') ] urlpatterns = [ - url(r'^sessao/', include(urlpatterns_sessao, - sessao_crud.namespace, sessao_crud.namespace)), + url(r'^sessao/', include(urlpatterns_sessao, namespace)), url(r'^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT}), url(r'^rest/', include(sessao_rest)), - url(r'^sistema/sessao-plenaria/tipo/', include(tipo_sessao_crud.urls)), + url(r'^sistema/sessao-plenaria/tipo/', + include(tipo_sessao_crud.get_urls())), url(r'^sistema/sessao-plenaria/tipo-resultado-votacao/', - include(tipo_resultado_votacao_crud.urls)), + include(tipo_resultado_votacao_crud.get_urls())), url(r'^sistema/sessao-plenaria/tipo-expediente/', - include(tipo_expediente_crud.urls)) + include(tipo_expediente_crud.get_urls())) ] diff --git a/sessao/views.py b/sessao/views.py index 5665adc75..cb61fa7eb 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -29,14 +29,14 @@ from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao, TipoExpediente, TipoResultadoVotacao, TipoSessaoPlenaria, VotoParlamentar) -tipo_sessao_crud = Crud(TipoSessaoPlenaria, 'tipo_sessao_plenaria') -sessao_crud = Crud(SessaoPlenaria, '') -expediente_materia_crud = Crud(ExpedienteMateria, '') -ordem_dia_crud = Crud(OrdemDia, '') -tipo_resultado_votacao_crud = Crud( +tipo_sessao_crud = Crud.build(TipoSessaoPlenaria, 'tipo_sessao_plenaria') +sessao_crud = Crud.build(SessaoPlenaria, '') +expediente_materia_crud = Crud.build(ExpedienteMateria, '') +ordem_dia_crud = Crud.build(OrdemDia, '') +tipo_resultado_votacao_crud = Crud.build( TipoResultadoVotacao, 'tipo_resultado_votacao') -tipo_expediente_crud = Crud(TipoExpediente, 'tipo_expediente') -registro_votacao_crud = Crud(RegistroVotacao, '') +tipo_expediente_crud = Crud.build(TipoExpediente, 'tipo_expediente') +registro_votacao_crud = Crud.build(RegistroVotacao, '') class PresencaMixin: