diff --git a/comissoes/views.py b/comissoes/views.py index 4ba30b38a..b39f3a8f9 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -14,54 +14,10 @@ from .forms import (CadastrarComissaoForm, ComposicaoForm, from .models import (CargoComissao, Comissao, Composicao, Participacao, Periodo, TipoComissao) -cargo_crud = Crud( - CargoComissao, 'cargo_comissao', [ - - [_('Período de composição de Comissão'), - [('nome', 10), ('unico', 2)]], - ]) - -periodo_composicao_crud = Crud( - Periodo, 'periodo_composicao_comissao', [ - - [_('Cargo de Comissão'), - [('data_inicio', 6), ('data_fim', 6)]], - ]) - -tipo_comissao_crud = Crud( - TipoComissao, 'tipo_comissao', [ - - [_('Tipo Comissão'), - [('nome', 9), ('sigla', 3)], - [('dispositivo_regimental', 9), ('natureza', 3)]], - ]) -comissao_crud = Crud( - Comissao, 'modulo_comissoes', [ - - [_('Dados Básicos'), - [('nome', 9), ('sigla', 3)], - [('tipo', 3), - ('data_criacao', 3), - ('unidade_deliberativa', 3), - ('data_extincao', 3)]], - - [_('Dados Complementares'), - [('local_reuniao', 4), - ('agenda_reuniao', 4), - ('telefone_reuniao', 4)], - [('endereco_secretaria', 4), - ('telefone_secretaria', 4), - ('fax_secretaria', 4)], - [('secretario', 4), ('email', 8)], - [('finalidade', 12)]], - - [_('Temporária'), - [('apelido_temp', 8), - ('data_instalacao_temp', 4)], - [('data_final_prevista_temp', 4), - ('data_prorrogada_temp', 4), - ('data_fim_comissao', 4)]], - ]) +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') class CadastrarComissaoView(FormMixin, GenericView): diff --git a/compilacao/views.py b/compilacao/views.py index 371696288..127d8a1ca 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -42,86 +42,13 @@ DISPOSITIVO_SELECT_RELATED = ( 'ta_publicado', 'ta',) -tipo_nota_crud = Crud( - TipoNota, 'tipo_nota', [ - - [_('Tipo da Nota'), - [('sigla', 2), ('nome', 10)], - [('modelo', 12)]], - ]) - -tipo_vide_crud = Crud( - TipoVide, 'tipo_vide', [ - - [_('Tipo de Vide'), - [('sigla', 2), ('nome', 10)]], - ]) - -tipo_publicacao_crud = Crud( - TipoPublicacao, 'tipo_publicacao', [ - - [_('Tipo de Publicação'), - [('sigla', 2), ('nome', 10)]], - ]) - - -veiculo_publicacao_crud = Crud( - VeiculoPublicacao, 'veiculo_publicacao', [ - - [_('Veículo de Publicação'), - [('sigla', 2), ('nome', 10)]], - ]) - - -perfil_estr_txt_norm = Crud( - PerfilEstruturalTextoArticulado, 'perfil_estrutural', [ - - [_('Perfil Estrutural de Textos Articulados'), - [('sigla', 2), ('nome', 10)]], - ]) - - -tipo_dispositivo_crud = Crud( - TipoDispositivo, 'tipo_dispositivo', [ - - [_('Dados Básicos'), - [('nome', 8), ('class_css', 4)]], - - [_('Configurações para Edição do Rótulo'), - [('rotulo_prefixo_texto', 3), - ('rotulo_sufixo_texto', 3), - ('rotulo_ordinal', 3), - ('contagem_continua', 3)], - - ], - - [_('Configurações para Renderização de Rótulo e Texto'), - [('rotulo_prefixo_html', 6), - ('rotulo_sufixo_html', 6), ], - - [('texto_prefixo_html', 4), - ('dispositivo_de_articulacao', 4), - ('texto_sufixo_html', 4)], - ], - - [_('Configurações para Nota Automática'), - [('nota_automatica_prefixo_html', 6), - ('nota_automatica_sufixo_html', 6), - ], - ], - - [_('Configurações para Variações Numéricas'), - - [('formato_variacao0', 12)], - [('rotulo_separador_variacao01', 5), ('formato_variacao1', 7), ], - [('rotulo_separador_variacao12', 5), ('formato_variacao2', 7), ], - [('rotulo_separador_variacao23', 5), ('formato_variacao3', 7), ], - [('rotulo_separador_variacao34', 5), ('formato_variacao4', 7), ], - [('rotulo_separador_variacao45', 5), ('formato_variacao5', 7), ], - - ], - - ]) +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') class IntegracaoTaView(TemplateView): diff --git a/crispy_layout_mixin.py b/crispy_layout_mixin.py index 1bb2eac49..e6eee5aed 100644 --- a/crispy_layout_mixin.py +++ b/crispy_layout_mixin.py @@ -1,4 +1,5 @@ from math import ceil +from os.path import dirname, join import rtyaml from crispy_forms.bootstrap import FormActions @@ -61,17 +62,23 @@ def get_field_display(obj, fieldname): class CrispyLayoutFormMixin(object): + def get_layout(self): + filename = join( + dirname(self.model._meta.app_config.models_module.__file__), + 'layouts.yaml') + return read_layout_from_yaml(filename, self.model.__name__) + @property def fields(self): '''Returns all fields in the layout''' - return [fieldname for legend_rows in self.layout + return [fieldname for legend_rows in self.get_layout() for row in legend_rows[1:] for fieldname, span in row] def get_form(self, form_class=None): form = super(CrispyLayoutFormMixin, self).get_form(form_class) form.helper = FormHelper() - form.helper.layout = SaplFormLayout(*self.layout) + form.helper.layout = SaplFormLayout(*self.get_layout()) return form @property @@ -81,7 +88,7 @@ class CrispyLayoutFormMixin(object): This base implementation returns the field names in the first fieldset of the layout. ''' - rows = self.layout[0][1:] + rows = self.get_layout()[0][1:] return [fieldname for row in rows for fieldname, __ in row] def get_column(self, fieldname, span): @@ -101,17 +108,17 @@ class CrispyLayoutFormMixin(object): 'rows': [[self.get_column(fieldname, span) for fieldname, span in row] for row in rows] - } for legend, *rows in self.layout] + } for legend, *rows in self.get_layout()] -# TODO cache this def read_yaml_from_file(filename): + # TODO cache this at application level with open(filename, 'r') as yamlfile: return rtyaml.load(yamlfile) def read_layout_from_yaml(filename, key): - # TODO cache this + # TODO cache this at application level yaml = read_yaml_from_file(filename) base = yaml[key] @@ -127,5 +134,5 @@ def read_layout_from_yaml(filename, key): remaining = remaining - span return list(map(tuple, namespans)) - return [(legend, [line_to_namespans(l) for l in lines]) + return [[legend] + [line_to_namespans(l) for l in lines] for legend, lines in base.items()] diff --git a/crud.py b/crud.py index 115d1b9fb..1b4194739 100644 --- a/crud.py +++ b/crud.py @@ -179,7 +179,7 @@ class CrudDeleteMixin(FormMessagesMixin): class Crud(object): - def __init__(self, model, help_path, layout, + def __init__(self, model, help_path, base_mixin=BaseCrudMixin, list_mixin=CrudListMixin, create_mixin=CrudCreateMixin, @@ -191,7 +191,6 @@ class Crud(object): pass CrudMixin.model = model CrudMixin.help_path = help_path - CrudMixin.layout = layout class CrudListView(CrudMixin, list_mixin, ListView): pass diff --git a/crud_tests/test_flux.py b/crud_tests/test_flux.py index 06d529c4a..ba3f851d3 100644 --- a/crud_tests/test_flux.py +++ b/crud_tests/test_flux.py @@ -79,7 +79,9 @@ def test_get_field_display(): def test_layout_fieldnames(_layout, result): class StubMixin(CrispyLayoutFormMixin): - layout = _layout + + def get_layout(self): + return _layout view = StubMixin() assert view.list_field_names == result @@ -93,12 +95,14 @@ def test_layout_detail_fieldsets(monkeypatch): is_cold=False) class StubMixin(CrispyLayoutFormMixin): - layout = [['Basic Data', - [('name', 9), ('continent', 3)], - [('population', 6), ('is_cold', 6)] - ], - ['More Details', [('description', 12)]], - ] + + def get_layout(self): + return [['Basic Data', + [('name', 9), ('continent', 3)], + [('population', 6), ('is_cold', 6)] + ], + ['More Details', [('description', 12)]], + ] def get_object(self): return stub diff --git a/crud_tests/views.py b/crud_tests/views.py index 60aad8743..7c699dc45 100644 --- a/crud_tests/views.py +++ b/crud_tests/views.py @@ -8,11 +8,6 @@ class CountryCrudListMixin(CrudListMixin): country_crud = Crud( - Country, 'help_path', [ - ['Basic Data', - [('name', 9), ('continent', 3)], - [('population', 6), ('is_cold', 6)] - ], - ['More Details', [('description', 12)]], - ], + Country, + 'help_path', list_mixin=CountryCrudListMixin) diff --git a/lexml/views.py b/lexml/views.py index e75ef2db9..d8daec7a2 100644 --- a/lexml/views.py +++ b/lexml/views.py @@ -4,24 +4,5 @@ from crud import Crud from .models import LexmlProvedor, LexmlPublicador -lexml_provedor_crud = Crud( - LexmlProvedor, 'lexml_provedor', [ - - [_('Provedor Lexml'), - [('id_provedor', 2), - ('nome', 10)], - [('id_responsavel', 2), ('nome_responsavel', 5), - ('email_responsavel', 5)], - [('xml', 12)]], - - ]) - -lexml_publicador_crud = Crud( - LexmlPublicador, 'lexml_publicador', [ - - [_('Publicador Lexml'), - [('id_publicador', 2), - ('nome', 5), ('sigla', 5)], - [('id_responsavel', 2), ('nome_responsavel', 5), - ('email_responsavel', 5)]], - ]) +lexml_provedor_crud = Crud(LexmlProvedor, 'lexml_provedor') +lexml_publicador_crud = Crud(LexmlPublicador, 'lexml_publicador') diff --git a/materia/views.py b/materia/views.py index b0c18a74f..dc914f349 100644 --- a/materia/views.py +++ b/materia/views.py @@ -37,199 +37,25 @@ from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, TipoFimRelatoria, TipoMateriaLegislativa, TipoProposicao, Tramitacao, UnidadeTramitacao) -origem_crud = Crud( - Origem, 'origem', [ - - [_('Origem'), - [('nome', 8), ('sigla', 4)]], - ]) - -tipo_materia_crud = Crud( - TipoMateriaLegislativa, 'tipo_materia_legislativa', [ - - [_('Tipo Matéria Legislativa'), - [('sigla', 4), ('descricao', 8)]], - ]) - -regime_tramitacao_crud = Crud( - RegimeTramitacao, 'regime_tramitacao', [ - - [_('Tipo de Documento'), - [('descricao', 12)]], - ]) - -tipo_documento_crud = Crud( - TipoDocumento, 'tipo_documento', [ - - [_('Regime Tramitação'), - [('descricao', 12)]], - ]) - -tipo_fim_relatoria_crud = Crud( - TipoFimRelatoria, 'fim_relatoria', [ - - [_('Tipo Fim de Relatoria'), - [('descricao', 12)]], - ]) - -materia_legislativa_crud = Crud( - MateriaLegislativa, '', [ - - [_('Identificação Básica'), - [('tipo', 4), ('numero', 4), ('ano', 4)], - [('data_apresentacao', 4), - ('numero_protocolo', 4), - ('tipo_apresentacao', 4)], - [('texto_original', 12)]], - - [_('Outras Informações'), - [('apelido', 4), ('dias_prazo', 4), ('polemica', 4)], - [('objeto', 4), ('regime_tramitacao', 4), ('em_tramitacao', 4)], - [('data_fim_prazo', 4), - ('data_publicacao', 4), - ('complementar', 4)]], - - [_('Origem Externa'), - [('tipo_origem_externa', 4), - ('numero_origem_externa', 4), - ('ano_origem_externa', 4)], - [('local_origem_externa', 6), ('data_origem_externa', 6)]], - - [_('Dados Textuais'), - [('ementa', 12)], - [('indexacao', 12)], - [('observacao', 12)]], - ]) - -Anexada_crud = Crud( - Anexada, '', [ - - [_('Matéria Legislativa'), - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('data_anexacao', 6), ('data_desanexacao', 6)]], - - [_('Matéria Anexada'), - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('data_anexacao', 6), ('data_desanexacao', 6)]], - ]) - -tipo_autor_crud = Crud( - TipoAutor, 'tipo_autor', [ - - [_('Tipo Autor'), - [('descricao', 12)]], - ]) - -autor_crud = Crud( - Autor, 'autor', [ - - [_('Autor'), - [('tipo', 3), ('nome', 9)], - [('username', 12)]], - ]) - -autoria_crud = Crud( - Autoria, '', [ - - [_('Autoria'), - [('tip_autor_FIXME', 4), - ('nom_autor_FIXME', 4), - ('primeiro_autor', 4)]], - ]) - -documento_acessorio_crud = Crud( - DocumentoAcessorio, '', [ - - [_('Documento Acessório'), - [('tipo', 6), ('nome', 6)], - [('data', 6), ('autor', 6)], - [('nom_arquivo_FIXME', 12)], - [('ementa', 12)], - [('txt_observacao_FIXME', 12)]], - ]) - -numeracao_crud = Crud( - Numeracao, '', [ - - [_('Numeração'), - [('tipo_materia', 6), ('numero_materia', 6)], - [('ano_materia', 6), ('data_materia', 6)]], - ]) - -orgao_crud = Crud( - Orgao, 'orgao', [ - - [_('Órgão'), - [('nome', 4), - ('sigla', 2), - ('telefone', 2), - ('endereco', 2), - ('unidade_deliberativa', 2)]], - ]) - -relatoria_crud = Crud( - Relatoria, '', [ - - [_('Relatoria'), - [('data_designacao_relator', 12)], - [('dados_FIXME', 12)], - [('data_destituicao_relator', 6), ('tipo_fim_relatoria', 6)]], - ]) - -tipo_proposicao_crud = Crud( - TipoProposicao, 'tipo_proposicao', [ - - [_('Tipo Proposição'), - [('descricao', 12)], - [('materia_ou_documento', 6), ('tipo_documento', 6)], - [('modelo', 12)]], - ]) - -proposicao_crud = Crud( - Proposicao, '', [ - - [_('Proposição'), - [('tipo', 4), ('dat_criacao_FIXME', 4), ('data_recebimento', 4)], - [('descricao_FIXME', 12)], - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('nom_arquivo_FIXME', 6), ('modelo_FIXME', 6)]], - ]) - -status_tramitacao_crud = Crud( - StatusTramitacao, 'status_tramitacao', [ - - [_('Status Tramitação'), - [('indicador', 3), - ('sigla', 2), - ('descricao', 7)]], - ]) - -unidade_tramitacao_crud = Crud( - UnidadeTramitacao, 'unidade_tramitacao', [ - - [_('Unidade Tramitação'), - [('orgao', 12)], - [('comissao', 12)], - [('parlamentar', 12)]], - ]) - -tramitacao_crud = Crud( - Tramitacao, '', [ - - [_('Tramitação'), - [('cod_ult_tram_dest_FIXME', 6), ('unidade_tramitacao_local', 6)], - [('status', 4), ('turno', 4), ('urgente', 4)], - [('unidade_tramitacao_destino', 4), - ('data_encaminhamento', 4), - ('data_fim_prazo', 4)], - [('texto', 12)]], - ]) +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, '') class FormularioSimplificadoView(FormMixin, GenericView): @@ -312,8 +138,8 @@ class MateriaAnexadaView(FormMixin, GenericView): if mat_principal.tipo == mat_anexada.tipo: - msg = 'A matéria a ser anexada não pode ser do mesmo \ - tipo da matéria principal.' + msg = _('A matéria a ser anexada não pode ser do mesmo' + ' tipo da matéria principal.') messages.add_message(request, messages.INFO, msg) return self.render_to_response( {'form': form, @@ -331,8 +157,8 @@ class MateriaAnexadaView(FormMixin, GenericView): anexada.save() except ObjectDoesNotExist: - msg = 'A matéria a ser anexada não existe no cadastro \ - de matérias legislativas.' + msg = _('A matéria a ser anexada não existe no cadastro' + ' de matérias legislativas.') messages.add_message(request, messages.INFO, msg) return self.render_to_response( {'form': form, diff --git a/norma/views.py b/norma/views.py index 02651ed51..873bda1a4 100644 --- a/norma/views.py +++ b/norma/views.py @@ -15,62 +15,11 @@ from .forms import NormaJuridicaForm from .models import (AssuntoNorma, LegislacaoCitada, NormaJuridica, TipoNormaJuridica) -assunto_norma_crud = Crud( - AssuntoNorma, 'assunto_norma_juridica', [ - - [_('Assunto Norma Jurídica'), - [('assunto', 6), ('descricao', 6)]], - ]) - -tipo_norma_crud = Crud( - TipoNormaJuridica, 'tipo_norma_juridica', [ - - [_('Tipo Norma Jurídica'), - [('descricao', 4), - ('sigla', 4), - ('equivalente_lexml', 4)]], - ]) - -norma_crud = Crud( - - NormaJuridica, '', [ - - [_('Identificação Básica'), - [('tipo', 4), ('numero', 4), ('ano', 4)], - [('data', 4), ('esfera_federacao', 4), ('complemento', 4)], - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('data_publicacao', 3), - ('veiculo_publicacao', 3), - ('pagina_inicio_publicacao', 3), - ('pagina_fim_publicacao', 3)], - [('file_FIXME', 6), ('tip_situacao_norma_FIXME', 6)], - [('ementa', 12)], - [('indexacao', 12)], - [('observacao', 12)]], - ]) - -norma_temporario_crud = Crud( - NormaJuridica, 'normajuridica', [ - - [_('Identificação Básica'), - [('tipo', 5), ('numero', 2), ('ano', 2), ('data', 3)], - [('ementa', 12)]], - ]) - - -legislacao_citada_crud = Crud( - LegislacaoCitada, '', [ - - [_('Legislação Citada'), - [('tip_norma_FIXME', 4), - ('num_norma_FIXME', 4), - ('ano_norma_FIXME', 4)], - [('disposicoes', 3), ('parte', 3), ('livro', 3), ('titulo', 3)], - [('capitulo', 3), ('secao', 3), ('subsecao', 3), ('artigo', 3)], - [('paragrafo', 3), ('inciso', 3), ('alinea', 3), ('item', 3)]], - ]) +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, '') class NormaIncluirView(FormMixin, GenericView): diff --git a/painel/views.py b/painel/views.py index 7483205a2..c5b6448e8 100644 --- a/painel/views.py +++ b/painel/views.py @@ -14,13 +14,7 @@ from sessao.models import (ExpedienteMateria, OrdemDia, PresencaOrdemDia, from .models import Cronometro -cronometro_painel_crud = Crud( - Cronometro, '', [ - - [_('Cronometro'), - [('status', 3), ('data_cronometro', 6), - ('tipo', 3)]], - ]) +cronometro_painel_crud = Crud(Cronometro, '') def controlador_painel(request): diff --git a/parlamentares/views.py b/parlamentares/views.py index 788567036..1a3f4aa5b 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -22,131 +22,19 @@ from .models import (CargoMesa, Coligacao, ComposicaoMesa, Dependente, Parlamentar, Partido, SessaoLegislativa, SituacaoMilitar, TipoAfastamento, TipoDependente) -cargo_mesa_crud = Crud( - CargoMesa, 'cargo_mesa', [ - - [_('Cargo na Mesa'), - [('descricao', 10), - ('unico', 2)]], - ]) - -legislatura_crud = Crud( - Legislatura, 'tabelas_auxiliares#legislatura', [ - - [_('Legislatura'), - [('data_inicio', 4), ('data_fim', 4), ('data_eleicao', 4)]], - ]) - -coligacao_crud = Crud( - Coligacao, 'coligacao', [ - - [_('Coligação'), - [('nome', 5), - ('legislatura', 5), - ('numero_votos', 2)]], - ]) - -partido_crud = Crud( - Partido, 'partidos', [ - - [_('Partido Político'), - [('nome', 6), - ('sigla', 2), - ('data_criacao', 2), - ('data_extincao', 2)]], - ]) - - -dependente_crud = Crud( - Dependente, '', [ - - [_('Dependentes'), - [('nome', 12)], - [('tipo', 4), ('sexo', 4), ('data_nascimento', 4)], - [('cpf', 4), ('rg', 4), ('titulo_eleitor', 4)]], - ]) - - -sessao_legislativa_crud = Crud( - SessaoLegislativa, 'sessao_legislativa', [ - - [_('Sessão Legislativa'), - [('numero', 4), - ('tipo', 4), - ('legislatura', 4), - ('data_inicio', 6), - ('data_fim', 6), - ('data_inicio_intervalo', 6), - ('data_fim_intervalo', 6)]], - ]) - - -parlamentar_crud = Crud( - Parlamentar, '', [ - - [_('Cadastro do Parlamentar'), - [('nome_parlamentar', 8), ('ativo', 4)], - [('nome_completo', 12)], - [('nivel_instrucao', 4), ('sexo', 4), ('data_nascimento', 4)], - [('cpf', 4), ('rg', 4), ('titulo_eleitor', 4)], - [('situacao_militar', 6), ('profissao', 6)], - [('endereco_web', 12)], - [('email', 12)], - [('numero_gab_parlamentar', 4), ('telefone', 4), ('fax', 4)], - [('endereco_residencia', 6), ('cep_residencia', 6)], - [('municipio_residencia', 12)], - [('telefone_residencia', 6), ('fax_residencia', 6)], - [('locais_atuacao', 12)], - [('fotografia', 12)], - [('biografia', 12)]], - ]) - -filiacao_crud = Crud( - Filiacao, '', [ - - [_('Filiações Partidárias '), - [('partido', 4), ('data', 4), ('data_desfiliacao', 4)]], - ]) - -mandato_crud = Crud( - Mandato, '', [ - - [_('Mandato'), - [('legislatura', 4), ('coligacao', 4), ('votos_recebidos', 4)], - [('ind_titular_FIXME', 3), - ('dat_inicio_mandato_FIXME', 3), - ('data_fim_mandato', 3), - ('data_expedicao_diploma', 3)], - [('observacao', 12)]], - ]) - -tipo_dependente_crud = Crud( - TipoDependente, 'tipo_dependente', [ - - [_('Tipo de Dependente'), - [('descricao', 12)]], - ]) - -nivel_instrucao_crud = Crud( - NivelInstrucao, 'nivel_instrucao', [ - - [_('Nível Instrução'), - [('descricao', 12)]], - ]) - -tipo_afastamento_crud = Crud( - TipoAfastamento, 'tipo_afastamento', [ - - [_('Tipo de Afastamento'), - [('descricao', 5), ('dispositivo', 5), ('afastamento', 2)]], - ]) - -tipo_militar_crud = Crud( - SituacaoMilitar, 'tipo_situa_militar', [ - - [_('Tipo Situação Militar'), - [('descricao', 12)]], - ]) +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') class ParlamentaresView(GenericView): @@ -156,8 +44,8 @@ class ParlamentaresView(GenericView): form = ParlamentaresListForm() if not Legislatura.objects.all(): - mensagem = "Cadastre alguma Legislatura antes\ - de cadastrar algum Parlamentar" + mensagem = _('Cadastre alguma Legislatura antes' + ' de cadastrar algum Parlamentar') messages.add_message(request, messages.INFO, mensagem) return self.render_to_response( {'legislaturas': [], diff --git a/protocoloadm/views.py b/protocoloadm/views.py index 1d09b7ce0..9db7316f7 100644 --- a/protocoloadm/views.py +++ b/protocoloadm/views.py @@ -27,77 +27,17 @@ from .models import (Autor, DocumentoAcessorioAdministrativo, StatusTramitacaoAdministrativo, TipoDocumentoAdministrativo, TramitacaoAdministrativo) -tipo_documento_administrativo_crud = Crud( - TipoDocumentoAdministrativo, '', [ - - [_('Tipo Documento Administrativo'), - [('sigla', 4), ('descricao', 8)]], - ]) - -documento_administrativo_crud = Crud( - DocumentoAdministrativo, '', [ - - [_('Indentificação Básica'), - [('tipo', 4), ('numero', 4), ('ano', 4)], - [('data', 6), ('numero_protocolo', 6)], - [('assunto', 12)], - [('interessado', 6), ('tramitacao', 6)], - [('texto_integral', 12)]], - - [_('Outras Informações'), - [('dias_prazo', 6), ('data_fim_prazo', 6)], - [('observacao', 12)]], - ]) - +tipo_documento_administrativo_crud = Crud(TipoDocumentoAdministrativo, '') +documento_administrativo_crud = Crud(DocumentoAdministrativo, '') documento_acessorio_administrativo_crud = Crud( - DocumentoAcessorioAdministrativo, '', [ - - [_('Documento Acessório'), - [('tipo', 4), ('nome', 4), ('data', 4)], - [('autor', 12)], - [('arquivo', 12)], - [('assunto', 12)]], - ]) - + DocumentoAcessorioAdministrativo, '') status_tramitacao_administrativo_crud = Crud( - StatusTramitacaoAdministrativo, '', [ - - [_('Status Tramitação Administrativo'), - [('indicador', 3), - ('sigla', 2), - ('descricao', 7)]], - ]) - -tramitacao_administrativo_crud = Crud( - TramitacaoAdministrativo, '', [ - - [_('Tramitação'), - [('data_tramitacao', 4), ('unidade_tramitacao_local', 8)], - [('status', 4), ('unidade_tramitacao_destino', 8)], - [('data_encaminhamento', 6), ('data_fim_prazo', 6)], - [('texto', 12)]], - ]) - -protocolo_documento_crud = Crud( - Protocolo, '', [ - - [_('Indentificação Documento'), - [('tipo_protocolo', 12)], - [('tipo_documento', 6), ('numero_paginas', 6)], - [('assunto_ementa', 12)], - [('interessado', 12)], - [('observacao', 12)]], - ]) - -protocolo_materia_crud = Crud( - Protocolo, '', [ - - [_('Indentificação da Matéria'), - [('tipo_materia', 6), ('numero_paginas', 6)], - [('assunto_ementa', 12)], - [('autor', 12)], - [('observacao', 12)]], - ]) + StatusTramitacaoAdministrativo, '') +tramitacao_administrativo_crud = Crud(TramitacaoAdministrativo, '') +protocolo_documento_crud = Crud(Protocolo, '') + +# FIXME precisa de uma chave diferente para o layout +protocolo_materia_crud = Crud(Protocolo, '') class ProtocoloListView(FormMixin, ListView): diff --git a/sessao/views.py b/sessao/views.py index 60ba39c28..93563ab68 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -27,78 +27,14 @@ from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao, TipoExpediente, TipoResultadoVotacao, TipoSessaoPlenaria, VotoParlamentar) -tipo_sessao_crud = Crud( - TipoSessaoPlenaria, 'tipo_sessao_plenaria', [ - - [_('Tipo de Sessão Plenária'), - [('nome', 6), ('quorum_minimo', 6)]], - ]) - -sessao_crud = Crud( - SessaoPlenaria, '', [ - - [_('Dados Básicos'), - [('numero', 1), - ('tipo', 3), - ('legislatura', 4), - ('sessao_legislativa', 4)], - [('data_inicio', 5), ('hora_inicio', 5), ('iniciada', 2)], - [('data_fim', 5), ('hora_fim', 5), ('finalizada', 2)], - [('upload_pauta', 6), ('upload_ata', 6)], - [('url_audio', 6), ('url_video', 6)]], - ]) - -expediente_materia_crud = Crud( - ExpedienteMateria, '', [ - - [_('Cadastro de Matérias do Expediente'), - [('data_ordem', 4), ('tip_sessao_FIXME', 4), ('numero_ordem', 4)], - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('tipo_votacao', 12)], - [('observacao', 12)]], - ]) - -ordem_dia_crud = Crud( - OrdemDia, '', [ - - [_('Cadastro de Matérias da Ordem do Dia'), - [('data_ordem', 4), ('tip_sessao_FIXME', 4), ('numero_ordem', 4)], - [('tip_id_basica_FIXME', 4), - ('num_ident_basica_FIXME', 4), - ('ano_ident_basica_FIXME', 4)], - [('tipo_votacao', 12)], - [('observacao', 12)]], - ]) - +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( - TipoResultadoVotacao, 'tipo_resultado_votacao', [ - - [_('Tipo de Resultado da Votação'), - [('nome', 12)]], - ]) - -tipo_expediente_crud = Crud( - TipoExpediente, 'tipo_expediente', [ - - [_('Tipo de Expediente'), - [('nome', 12)]], - ]) - -registro_votacao_crud = Crud( - RegistroVotacao, '', [ - - [_('Votação Simbólica'), - [('numero_votos_sim', 3), - ('numero_votos_nao', 3), - ('numero_abstencoes', 3), - ('nao_votou_FIXME', 3)], - [('votacao_branco_FIXME', 6), - ('ind_votacao_presidente_FIXME', 6)], - [('tipo_resultado_votacao', 12)], - [('observacao', 12)]], - ]) + TipoResultadoVotacao, 'tipo_resultado_votacao') +tipo_expediente_crud = Crud(TipoExpediente, 'tipo_expediente') +registro_votacao_crud = Crud(RegistroVotacao, '') class PresencaView(sessao_crud.CrudDetailView): @@ -646,7 +582,7 @@ class ExpedienteOrdemDiaView(sessao_crud.CrudDetailView): return self.form_valid(form) else: context.update( - {'error_message': "Não foi possível salvar formulário!"}) + {'error_message': _("Não foi possível salvar formulário!")}) return self.form_invalid(form) def get_success_url(self): diff --git a/test_crispy_layout_mixin.py b/test_crispy_layout_mixin.py index d7d422b06..0375dca3d 100644 --- a/test_crispy_layout_mixin.py +++ b/test_crispy_layout_mixin.py @@ -16,14 +16,14 @@ ModelName: file.write(contents) expected = [ - ('Cool Legend', [ - [('name', 9), ('place', 2), ('tiny', 1)], - [('field', 10), ('nature', 2)], - [('kind', 1), ('date', 3), ('unit', 5), ('status', 3)], - ]), - ('More data', [ - [('equalA', 4), ('equalB', 4), ('equalC', 4)], - [('highlander', 12)], - ]), + ['Cool Legend', + [('name', 9), ('place', 2), ('tiny', 1)], + [('field', 10), ('nature', 2)], + [('kind', 1), ('date', 3), ('unit', 5), ('status', 3)], + ], + ['More data', + [('equalA', 4), ('equalB', 4), ('equalC', 4)], + [('highlander', 12)], + ], ] assert read_layout_from_yaml(file.strpath, 'ModelName') == expected