Browse Source

Usa arqs yaml para definição de layouts

pull/237/head
Marcio Mazza 9 years ago
parent
commit
056ca40a3a
  1. 52
      comissoes/views.py
  2. 87
      compilacao/views.py
  3. 21
      crispy_layout_mixin.py
  4. 3
      crud.py
  5. 8
      crud_tests/test_flux.py
  6. 9
      crud_tests/views.py
  7. 23
      lexml/views.py
  8. 220
      materia/views.py
  9. 61
      norma/views.py
  10. 8
      painel/views.py
  11. 142
      parlamentares/views.py
  12. 78
      protocoloadm/views.py
  13. 80
      sessao/views.py
  14. 8
      test_crispy_layout_mixin.py

52
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):

87
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):

21
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()]

3
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

8
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,7 +95,9 @@ def test_layout_detail_fieldsets(monkeypatch):
is_cold=False)
class StubMixin(CrispyLayoutFormMixin):
layout = [['Basic Data',
def get_layout(self):
return [['Basic Data',
[('name', 9), ('continent', 3)],
[('population', 6), ('is_cold', 6)]
],

9
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)

23
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')

220
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,

61
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):

8
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):

142
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': [],

78
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):

80
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):

8
test_crispy_layout_mixin.py

@ -16,14 +16,14 @@ ModelName:
file.write(contents)
expected = [
('Cool Legend', [
['Cool Legend',
[('name', 9), ('place', 2), ('tiny', 1)],
[('field', 10), ('nature', 2)],
[('kind', 1), ('date', 3), ('unit', 5), ('status', 3)],
]),
('More data', [
],
['More data',
[('equalA', 4), ('equalB', 4), ('equalC', 4)],
[('highlander', 12)],
]),
],
]
assert read_layout_from_yaml(file.strpath, 'ModelName') == expected

Loading…
Cancel
Save