Browse Source

Add views and urls to tabelas auxiliares

pull/6/head
Eduardo Edson Batista Cordeiro Alves 10 years ago
parent
commit
bf7fe11218
  1. 15
      comissoes/views.py
  2. 26
      lexml/views.py
  3. 333
      materia/forms.py
  4. 224
      materia/views.py
  5. 99
      norma/forms.py
  6. 57
      norma/views.py
  7. 34
      parlamentares/views.py
  8. 172
      protocoloadm/forms.py
  9. 114
      protocoloadm/views.py
  10. 71
      sapl/urls.py
  11. 151
      sessao/forms.py
  12. 86
      sessao/views.py

15
comissoes/views.py

@ -1,8 +1,21 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from .models import TipoComissao, Comissao from .models import (TipoComissao, Comissao, Periodo, CargoComissao)
from sapl.crud import build_crud from sapl.crud import build_crud
cargo_crud = build_crud(
CargoComissao,
[_('Período de composição de Comissão'),
[('nome', 8), ('unico', 4)]],
)
periodo_composicao_crud = build_crud(
Periodo,
[_('Cargo de Comissão'),
[('data_inicio', 6), ('data_inicio', 6)]],
)
tipo_comissao_crud = build_crud( tipo_comissao_crud = build_crud(
TipoComissao, TipoComissao,

26
lexml/views.py

@ -0,0 +1,26 @@
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from .models import (LexmlProvedor, LexmlPublicador)
lexml_provedor_crud = build_crud(
LexmlProvedor,
[_('Provedor Lexml'),
[('id_provedor', 2),
('nome', 10)],
[('id_responsavel', 2), ('nome_responsavel', 5),
('email_responsavel', 5)],
[('xml', 12)]],
)
lexml_publicador_crud = build_crud(
LexmlPublicador,
[_('Publicador Lexml'),
[('id_publicador', 2),
('nome', 5), ('sigla', 5)],
[('id_responsavel', 2), ('nome_responsavel', 5),
('email_responsavel', 5)]],
)

333
materia/forms.py

@ -1,333 +0,0 @@
from crispy_forms.helper import FormHelper
from django import forms
from django.utils.translation import ugettext as _
from .models import (
Origem, MateriaLegislativa, Anexada, TipoAutor, Autor, Autoria,
DocumentoAcessorio, Numeracao, Orgao, Relatoria, TipoProposicao,
Proposicao, StatusTramitacao, UnidadeTramitacao, Tramitacao)
from sapl.layout import SaplFormLayout
class OrigemForm(forms.ModelForm):
class Meta:
model = Origem
exclude = []
def __init__(self, *args, **kwargs):
super(OrigemForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Origem'),
[('nome', 4), ('nome', 4), ('sigla', 4)],
[('nome', 6), ('sigla', 6)]],
)
class MateriaLegislativaForm(forms.ModelForm):
class Meta:
model = MateriaLegislativa
exclude = []
def __init__(self, *args, **kwargs):
super(MateriaLegislativaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Identificação Básica'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data_apresentacao', 4),
('num_protocolo_spdo_FIXME', 4),
('tipo_apresentacao', 4)],
[('nom_arquivo_FIXME', 6), ('modelo_FIXME', 6)]],
[_('Proposição Eletrônica')],
[_('Outras Informações'),
[('apelido', 4), ('dias_prazo', 4), ('polemica', 4)],
[('objeto', 4), ('regime_tramitacao', 4), ('em_tramitacao', 4)],
[('data_fim_prazo', 3),
('data_publicacao', 3),
('complementar', 3),
('txt_cep_FIXME', 3)]],
[_('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)]],
)
class AnexadaForm(forms.ModelForm):
class Meta:
model = Anexada
exclude = []
def __init__(self, *args, **kwargs):
super(AnexadaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)
class TipoAutorForm(forms.ModelForm):
class Meta:
model = TipoAutor
exclude = []
def __init__(self, *args, **kwargs):
super(TipoAutorForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo Autor'),
[('descricao', 4), ('descricao', 4), ('descricao', 4)],
[('descricao', 6), ('descricao', 6)]],
)
class AutorForm(forms.ModelForm):
class Meta:
model = Autor
exclude = []
def __init__(self, *args, **kwargs):
super(AutorForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Autor'),
[('tipo', 6), ('nome', 6)],
[('autor_eh_usuario_FIXME', 12)],
[('login_FIXME', 12)]],
[_('Acesso ao SAPL'),
[('autor_eh_usuario_FIXME', 12)],
[('login_FIXME', 12)]],
)
class AutoriaForm(forms.ModelForm):
class Meta:
model = Autoria
exclude = []
def __init__(self, *args, **kwargs):
super(AutoriaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Autoria'),
[('tip_autor_FIXME', 4),
('nom_autor_FIXME', 4),
('primeiro_autor', 4)]],
)
class DocumentoAcessorioForm(forms.ModelForm):
class Meta:
model = DocumentoAcessorio
exclude = []
def __init__(self, *args, **kwargs):
super(DocumentoAcessorioForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Documento Acessório'),
[('tipo', 6), ('nome', 6)],
[('data', 6), ('autor', 6)],
[('nom_arquivo_FIXME', 12)],
[('ementa', 12)],
[('txt_observacao_FIXME', 12)]],
)
class NumeracaoForm(forms.ModelForm):
class Meta:
model = Numeracao
exclude = []
def __init__(self, *args, **kwargs):
super(NumeracaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Numeração'),
[('tipo_materia', 6), ('numero_materia', 6)],
[('ano_materia', 6), ('data_materia', 6)]],
)
class OrgaoForm(forms.ModelForm):
class Meta:
model = Orgao
exclude = []
def __init__(self, *args, **kwargs):
super(OrgaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Órgão'),
[('nome', 2),
('nome', 2),
('sigla', 2),
('ind_unidade_deliberativa_FIXME', 2),
('endereco', 2),
('telefone', 2)],
[('nome', 4),
('sigla', 4),
('ind_unidade_deliberativa_FIXME', 4)],
[('endereco', 6), ('telefone', 6)]],
)
class RelatoriaForm(forms.ModelForm):
class Meta:
model = Relatoria
exclude = []
def __init__(self, *args, **kwargs):
super(RelatoriaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Relatoria'),
[('data_designacao_relator', 12)],
[('dados_FIXME', 12)],
[('data_destituicao_relator', 6), ('tipo_fim_relatoria', 6)]],
)
class TipoProposicaoForm(forms.ModelForm):
class Meta:
model = TipoProposicao
exclude = []
def __init__(self, *args, **kwargs):
super(TipoProposicaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo Proposição'),
[('tipo_proposicao_FIXME', 3),
('tipo_proposicao_FIXME', 3),
('mat_ou_doc_FIXME', 2),
('mat_ou_doc_FIXME', 2),
('modelo_FIXME', 2)],
[('tipo_proposicao_FIXME', 12)],
[('mat_ou_doc_FIXME', 6), ('mat_ou_doc_FIXME', 6)],
[('modelo_FIXME', 12)]],
)
class ProposicaoForm(forms.ModelForm):
class Meta:
model = Proposicao
exclude = []
def __init__(self, *args, **kwargs):
super(ProposicaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)
class StatusTramitacaoForm(forms.ModelForm):
class Meta:
model = StatusTramitacao
exclude = []
def __init__(self, *args, **kwargs):
super(StatusTramitacaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Status Tramitação'),
[('sigla', 3),
('sigla', 3),
('ind_tramitacao_FIXME', 3),
('descricao', 3)],
[('sigla', 6), ('ind_tramitacao_FIXME', 6)],
[('descricao', 12)]],
)
class UnidadeTramitacaoForm(forms.ModelForm):
class Meta:
model = UnidadeTramitacao
exclude = []
def __init__(self, *args, **kwargs):
super(UnidadeTramitacaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Unidade Tramitação'),
[('orgao', 6), ('cod_unid_spdo_FIXME', 6)],
[('comissao', 12)],
[('parlamentar', 12)]],
)
class TramitacaoForm(forms.ModelForm):
class Meta:
model = Tramitacao
exclude = []
def __init__(self, *args, **kwargs):
super(TramitacaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)

224
materia/views.py

@ -0,0 +1,224 @@
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from .models import (Origem, TipoMateriaLegislativa, RegimeTramitacao,
TipoDocumento, TipoFimRelatoria, MateriaLegislativa,
Anexada, TipoAutor, Autor, Autoria, DocumentoAcessorio,
Numeracao, Orgao, Relatoria, TipoProposicao, Proposicao,
StatusTramitacao, UnidadeTramitacao, Tramitacao)
origem_crud = build_crud(
Origem,
[_('Origem'),
[('nome', 8), ('sigla', 4)]],
)
tipo_materia_crud = build_crud(
TipoMateriaLegislativa,
[_('Tipo Matéria Legislativa'),
[('sigla', 4), ('descricao', 8)]],
)
regime_tramitacao_crud = build_crud(
RegimeTramitacao,
[_('Tipo de Documento'),
[('descricao', 12)]],
)
tipo_documento_crud = build_crud(
TipoDocumento,
[_('Regime Tramitação'),
[('descricao', 12)]],
)
tipo_fim_relatoria_crud = build_crud(
TipoFimRelatoria,
[_('Tipo Fim de Relatoria'),
[('descricao', 12)]],
)
materia_legislativa_crud = build_crud(
MateriaLegislativa,
[_('Identificação Básica'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data_apresentacao', 4),
('num_protocolo_spdo_FIXME', 4),
('tipo_apresentacao', 4)],
[('nom_arquivo_FIXME', 6), ('modelo_FIXME', 6)]],
[_('Proposição Eletrônica')],
[_('Outras Informações'),
[('apelido', 4), ('dias_prazo', 4), ('polemica', 4)],
[('objeto', 4), ('regime_tramitacao', 4), ('em_tramitacao', 4)],
[('data_fim_prazo', 3),
('data_publicacao', 3),
('complementar', 3),
('txt_cep_FIXME', 3)]],
[_('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 = build_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 = build_crud(
TipoAutor,
[_('Tipo Autor'),
[('descricao', 4)]],
)
autor_crud = build_crud(
Autor,
[_('Autor'),
[('tipo', 6), ('nome', 6)],
[('autor_eh_usuario_FIXME', 12)],
[('login_FIXME', 12)]],
[_('Acesso ao SAPL'),
[('autor_eh_usuario_FIXME', 12)],
[('login_FIXME', 12)]],
)
autoria_crud = build_crud(
Autoria,
[_('Autoria'),
[('tip_autor_FIXME', 4),
('nom_autor_FIXME', 4),
('primeiro_autor', 4)]],
)
documento_acessorio_crud = build_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 = build_crud(
Numeracao,
[_('Numeração'),
[('tipo_materia', 6), ('numero_materia', 6)],
[('ano_materia', 6), ('data_materia', 6)]],
)
orgao_crud = build_crud(
Orgao,
[_('Órgão'),
[('nome', 2),
('nome', 2),
('sigla', 2),
('ind_unidade_deliberativa_FIXME', 2),
('endereco', 2),
('telefone', 2)],
[('nome', 4),
('sigla', 4),
('ind_unidade_deliberativa_FIXME', 4)],
[('endereco', 6), ('telefone', 6)]],
)
relatoria_crud = build_crud(
Relatoria,
[_('Relatoria'),
[('data_designacao_relator', 12)],
[('dados_FIXME', 12)],
[('data_destituicao_relator', 6), ('tipo_fim_relatoria', 6)]],
)
tipo_proposicao_crud = build_crud(
TipoProposicao,
[_('Tipo Proposição'),
[('tipo_proposicao_FIXME', 3),
('tipo_proposicao_FIXME', 3),
('mat_ou_doc_FIXME', 2),
('mat_ou_doc_FIXME', 2),
('modelo_FIXME', 2)],
[('tipo_proposicao_FIXME', 12)],
[('mat_ou_doc_FIXME', 6), ('mat_ou_doc_FIXME', 6)],
[('modelo_FIXME', 12)]],
)
proposicao_crud = build_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 = build_crud(
StatusTramitacao,
[_('Status Tramitação'),
[('sigla', 3),
('sigla', 3),
('ind_tramitacao_FIXME', 3),
('descricao', 3)],
[('sigla', 6), ('ind_tramitacao_FIXME', 6)],
[('descricao', 12)]],
)
unidade_tramitacao_crud = build_crud(
UnidadeTramitacao,
[_('Unidade Tramitação'),
[('orgao', 12)],
[('comissao', 12)],
[('parlamentar', 12)]],
)
tramitacao_crud = build_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)]],
)

99
norma/forms.py

@ -1,99 +0,0 @@
from crispy_forms.helper import FormHelper
from django import forms
from django.utils.translation import ugettext as _
from .models import (AssuntoNorma, TipoNormaJuridica, NormaJuridica,
LegislacaoCitada)
from sapl.layout import SaplFormLayout
class AssuntoNormaForm(forms.ModelForm):
class Meta:
model = AssuntoNorma
exclude = []
def __init__(self, *args, **kwargs):
super(AssuntoNormaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Assunto Norma Jurídica'),
[('assunto', 4), ('assunto', 4), ('descricao', 4)],
[('assunto', 12)],
[('descricao', 12)]],
)
class TipoNormaJuridicaForm(forms.ModelForm):
class Meta:
model = TipoNormaJuridica
exclude = []
def __init__(self, *args, **kwargs):
super(TipoNormaJuridicaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo Norma Jurídica'),
[('descricao', 3),
('descricao', 3),
('sigla', 3),
('equivalente_lexml', 3)],
[('descricao', 4), ('sigla', 4), ('equivalente_lexml', 4)]],
)
class NormaJuridicaForm(forms.ModelForm):
class Meta:
model = NormaJuridica
exclude = []
def __init__(self, *args, **kwargs):
super(NormaJuridicaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
[_('Assuntos (Classificação) [+] '),
[('assunto_norma_FIXME', 12)],
[('assunto_norma_FIXME', 12)],
[('assunto_norma_FIXME', 12)]],
)
class LegislacaoCitadaForm(forms.ModelForm):
class Meta:
model = LegislacaoCitada
exclude = []
def __init__(self, *args, **kwargs):
super(LegislacaoCitadaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)

57
norma/views.py

@ -0,0 +1,57 @@
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from .models import (AssuntoNorma, TipoNormaJuridica,
NormaJuridica, LegislacaoCitada)
assunto_norma_crud = build_crud(
AssuntoNorma,
[_('Assunto Norma Jurídica'),
[('assunto', 6), ('descricao', 6)]],
)
tipo_norma_crud = build_crud(
TipoNormaJuridica,
[_('Tipo Norma Jurídica'),
[('descricao', 4),
('sigla', 4),
('equivalente_lexml', 4)]],
)
norma_crud = build_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)]],
[_('Assuntos (Classificação) [+] '),
[('assunto_norma_FIXME', 12)],
[('assunto_norma_FIXME', 12)],
[('assunto_norma_FIXME', 12)]],
)
legislacao_citada_crud = build_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)]],
)

34
parlamentares/views.py

@ -5,18 +5,25 @@ from .models import (Legislatura, Coligacao, Partido,
Dependente, SessaoLegislativa, Dependente, SessaoLegislativa,
Parlamentar, Filiacao, Mandato, Parlamentar, Filiacao, Mandato,
TipoDependente, NivelInstrucao, TipoDependente, NivelInstrucao,
TipoAfastamento, SituacaoMilitar) TipoAfastamento, SituacaoMilitar,
CargoMesa)
cargo_mesa_crud = build_crud(
CargoMesa,
[_('Cargo na Mesa'),
[('descricao', 8),
('unico', 4)]],
)
legislatura_crud = build_crud( legislatura_crud = build_crud(
Legislatura, Legislatura,
[_('Legislatura'), [_('Legislatura'),
[('id', 3), [('id', 3),
('id', 3),
('data_inicio', 2), ('data_inicio', 2),
('data_fim', 2), ('data_fim', 2),
('data_eleicao', 2)], ('data_eleicao', 2)],
[('id', 12)],
[('data_inicio', 4), ('data_fim', 4), ('data_eleicao', 4)]], [('data_inicio', 4), ('data_fim', 4), ('data_eleicao', 4)]],
) )
@ -25,10 +32,9 @@ coligacao_crud = build_crud(
[_('Coligação'), [_('Coligação'),
[('nome', 3), [('nome', 3),
('nome', 3),
('legislatura', 3), ('legislatura', 3),
('numero_votos', 3)], ('numero_votos', 3)],
[('nome', 4), ('legislatura', 4), ('numero_votos', 4)]], [('legislatura', 4), ('numero_votos', 4)]],
) )
partido_crud = build_crud( partido_crud = build_crud(
@ -36,11 +42,10 @@ partido_crud = build_crud(
[_('Partido Político'), [_('Partido Político'),
[('nome', 3), [('nome', 3),
('nome', 3),
('sigla', 2), ('sigla', 2),
('data_criacao', 2), ('data_criacao', 2),
('data_extincao', 2)], ('data_extincao', 2)],
[('nome', 6), ('sigla', 6)], [('sigla', 6)],
[('data_criacao', 6), ('data_extincao', 6)]], [('data_criacao', 6), ('data_extincao', 6)]],
) )
@ -58,14 +63,11 @@ sessao_legislativa_crud = build_crud(
[_('Sessão Legislativa'), [_('Sessão Legislativa'),
[('numero', 2), [('numero', 2),
('numero', 2),
('tipo', 2), ('tipo', 2),
('data_inicio', 2), ('data_inicio', 2),
('data_fim', 2), ('data_fim', 2),
('data_inicio_intervalo', 1), ('data_inicio_intervalo', 1),
('data_fim_intervalo', 1)], ('data_fim_intervalo', 1)]],
[('numero', 3), ('tipo', 3), ('data_inicio', 3), ('data_fim', 3)],
[('data_inicio_intervalo', 6), ('data_fim_intervalo', 6)]],
) )
dependente_crud = build_crud( dependente_crud = build_crud(
@ -109,13 +111,6 @@ mandato_crud = build_crud(
[('observacao', 12)]], [('observacao', 12)]],
) )
filiacao_crud = build_crud(
Filiacao,
[_('Filiações Partidárias '),
[('partido', 4), ('data', 4), ('data_desfiliacao', 4)]],
)
tipo_dependente_crud = build_crud( tipo_dependente_crud = build_crud(
TipoDependente, TipoDependente,
@ -135,8 +130,7 @@ tipo_afastamento_crud = build_crud(
[_('Tipo de Afastamento'), [_('Tipo de Afastamento'),
[('descricao', 6), ('dispositivo', 6)], [('descricao', 6), ('dispositivo', 6)],
[('afastamento', 6), [('afastamento', 6)]],
('fim_afastamento', 6)]],
) )
tipo_militar_crud = build_crud( tipo_militar_crud = build_crud(

172
protocoloadm/forms.py

@ -1,172 +0,0 @@
from crispy_forms.helper import FormHelper
from django import forms
from django.utils.translation import ugettext as _
from .models import (TipoDocumentoAdministrativo, DocumentoAdministrativo,
DocumentoAcessorioAdministrativo, Protocolo,
StatusTramitacaoAdministrativo, TramitacaoAdministrativo)
from sapl.layout import SaplFormLayout
class TipoDocumentoAdministrativoForm(forms.ModelForm):
class Meta:
model = TipoDocumentoAdministrativo
exclude = []
def __init__(self, *args, **kwargs):
super(TipoDocumentoAdministrativoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo Documento Administrativo'),
[('sigla', 4), ('sigla', 4), ('descricao', 4)],
[('sigla', 6), ('descricao', 6)]],
)
class DocumentoAdministrativoForm(forms.ModelForm):
class Meta:
model = DocumentoAdministrativo
exclude = []
def __init__(self, *args, **kwargs):
super(DocumentoAdministrativoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Formulário de Cadastro'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data', 6), ('numero_protocolo', 6)],
[('assunto', 12)],
[('interessado', 6), ('tramitacao', 6)],
[('nom_arquivo_FIXME', 12)],
[('dias_prazo', 4), ('data_fim_prazo', 4), ('observacao', 4)],
[('observacao', 12)]],
[_('Indentificação Básica'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data', 6), ('numero_protocolo', 6)],
[('assunto', 12)],
[('interessado', 6), ('tramitacao', 6)],
[('nom_arquivo_FIXME', 12)]],
[_('Outras Informações'),
[('dias_prazo', 4), ('data_fim_prazo', 4), ('observacao', 4)],
[('observacao', 12)]],
)
class DocumentoAcessorioAdministrativoForm(forms.ModelForm):
class Meta:
model = DocumentoAcessorioAdministrativo
exclude = []
def __init__(self, *args, **kwargs):
super(DocumentoAcessorioAdministrativoForm, self).__init__(
*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Documento Administrativo'),
[('tipo', 4), ('nome', 4), ('data', 4)],
[('autor', 12)],
[('arquivo', 12)],
[('assunto', 12)]],
[_('Documento Acessório'),
[('tipo', 4), ('nome', 4), ('data', 4)],
[('autor', 12)],
[('arquivo', 12)],
[('assunto', 12)]],
)
class ProtocoloForm(forms.ModelForm):
class Meta:
model = Protocolo
exclude = []
def __init__(self, *args, **kwargs):
super(ProtocoloForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Formulário de Cadastro'),
[('tipo_documento', 4),
('num_documento_FIXME', 4),
('ano_documento_FIXME', 4)],
[('dat_documento_FIXME', 6), ('numero', 6)],
[('txt_assunto_FIXME', 12)],
[('interessado', 6), ('ind_tramitacao_FIXME', 6)],
[('nom_arquivo_FIXME', 12)],
[('num_dias_prazo_FIXME', 4),
('dat_fim_prazo_FIXME', 4),
('observacao', 4)],
[('observacao', 12)]],
[_('Indentificação Básica'),
[('tipo_documento', 4),
('num_documento_FIXME', 4),
('ano_documento_FIXME', 4)],
[('dat_documento_FIXME', 6), ('numero', 6)],
[('txt_assunto_FIXME', 12)],
[('interessado', 6), ('ind_tramitacao_FIXME', 6)],
[('nom_arquivo_FIXME', 12)]],
[_('Outras Informações'),
[('num_dias_prazo_FIXME', 4),
('dat_fim_prazo_FIXME', 4),
('observacao', 4)],
[('observacao', 12)]],
)
class StatusTramitacaoAdministrativoForm(forms.ModelForm):
class Meta:
model = StatusTramitacaoAdministrativo
exclude = []
def __init__(self, *args, **kwargs):
super(StatusTramitacaoAdministrativoForm, self).__init__(
*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Status Tramitação Administrativo'),
[('sigla', 3),
('sigla', 3),
('ind_tramitacao_FIXME', 3),
('descricao', 3)],
[('sigla', 6), ('ind_tramitacao_FIXME', 6)],
[('descricao', 12)]],
)
class TramitacaoAdministrativoForm(forms.ModelForm):
class Meta:
model = TramitacaoAdministrativo
exclude = []
def __init__(self, *args, **kwargs):
super(TramitacaoAdministrativoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Documento Administrativo'),
[('cod_ult_tram_dest_FIXME', 6), ('unidade_tramitacao_local', 6)],
[('status', 6), ('unidade_tramitacao_destino', 6)],
[('data_encaminhamento', 6), ('data_fim_prazo', 6)],
[('texto', 12)]],
[_('Tramitação'),
[('cod_ult_tram_dest_FIXME', 6), ('unidade_tramitacao_local', 6)],
[('status', 6), ('unidade_tramitacao_destino', 6)],
[('data_encaminhamento', 6), ('data_fim_prazo', 6)],
[('texto', 12)]],
)

114
protocoloadm/views.py

@ -0,0 +1,114 @@
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from .models import (TipoDocumentoAdministrativo, DocumentoAdministrativo,
Protocolo, StatusTramitacaoAdministrativo,
TramitacaoAdministrativo,
DocumentoAcessorioAdministrativo)
tipo_documento_administrativo_crud = build_crud(
TipoDocumentoAdministrativo,
[_('Tipo Documento Administrativo'),
[('sigla', 4), ('sigla', 4), ('descricao', 4)]],
)
documento_administrativo_crud = build_crud(
DocumentoAdministrativo,
[_('Formulário de Cadastro'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data', 6), ('numero_protocolo', 6)],
[('assunto', 12)],
[('interessado', 6), ('tramitacao', 6)],
[('nom_arquivo_FIXME', 12)],
[('dias_prazo', 4), ('data_fim_prazo', 4), ('observacao', 4)],
[('observacao', 12)]],
[_('Indentificação Básica'),
[('tipo', 4), ('numero', 4), ('ano', 4)],
[('data', 6), ('numero_protocolo', 6)],
[('assunto', 12)],
[('interessado', 6), ('tramitacao', 6)],
[('nom_arquivo_FIXME', 12)]],
[_('Outras Informações'),
[('dias_prazo', 4), ('data_fim_prazo', 4), ('observacao', 4)],
[('observacao', 12)]],
)
documento_acessorio_administrativo_crud = build_crud(
DocumentoAcessorioAdministrativo,
[_('Documento Administrativo'),
[('tipo', 4), ('nome', 4), ('data', 4)],
[('autor', 12)],
[('arquivo', 12)],
[('assunto', 12)]],
[_('Documento Acessório'),
[('tipo', 4), ('nome', 4), ('data', 4)],
[('autor', 12)],
[('arquivo', 12)],
[('assunto', 12)]],
)
protocolo_crud = build_crud(
Protocolo,
[_('Formulário de Cadastro'),
[('tipo_documento', 4),
('num_documento_FIXME', 4),
('ano_documento_FIXME', 4)],
[('dat_documento_FIXME', 6), ('numero', 6)],
[('txt_assunto_FIXME', 12)],
[('interessado', 6), ('ind_tramitacao_FIXME', 6)],
[('nom_arquivo_FIXME', 12)],
[('num_dias_prazo_FIXME', 4),
('dat_fim_prazo_FIXME', 4),
('observacao', 4)],
[('observacao', 12)]],
[_('Indentificação Básica'),
[('tipo_documento', 4),
('num_documento_FIXME', 4),
('ano_documento_FIXME', 4)],
[('dat_documento_FIXME', 6), ('numero', 6)],
[('txt_assunto_FIXME', 12)],
[('interessado', 6), ('ind_tramitacao_FIXME', 6)],
[('nom_arquivo_FIXME', 12)]],
[_('Outras Informações'),
[('num_dias_prazo_FIXME', 4),
('dat_fim_prazo_FIXME', 4),
('observacao', 4)],
[('observacao', 12)]],
)
status_tramitacao_administrativo_crud = build_crud(
StatusTramitacaoAdministrativo,
[_('Status Tramitação Administrativo'),
[('sigla', 3),
('sigla', 3),
('ind_tramitacao_FIXME', 3),
('descricao', 3)],
[('sigla', 6), ('ind_tramitacao_FIXME', 6)],
[('descricao', 12)]],
)
tramitacao_administrativo_crud = build_crud(
TramitacaoAdministrativo,
[_('Documento Administrativo'),
[('cod_ult_tram_dest_FIXME', 6), ('unidade_tramitacao_local', 6)],
[('status', 6), ('unidade_tramitacao_destino', 6)],
[('data_encaminhamento', 6), ('data_fim_prazo', 6)],
[('texto', 12)]],
[_('Tramitação'),
[('cod_ult_tram_dest_FIXME', 6), ('unidade_tramitacao_local', 6)],
[('status', 6), ('unidade_tramitacao_destino', 6)],
[('data_encaminhamento', 6), ('data_fim_prazo', 6)],
[('texto', 12)]],
)

71
sapl/urls.py

@ -17,12 +17,22 @@ from django.conf.urls import include, url
from django.contrib import admin from django.contrib import admin
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from comissoes.views import tipo_comissao_crud, comissao_crud from comissoes.views import (tipo_comissao_crud, comissao_crud,
periodo_composicao_crud, cargo_crud)
from parlamentares.views import (legislatura_crud, coligacao_crud, from parlamentares.views import (legislatura_crud, coligacao_crud,
partido_crud, tipo_dependente_crud, partido_crud, tipo_dependente_crud,
nivel_instrucao_crud, tipo_afastamento_crud, nivel_instrucao_crud, tipo_afastamento_crud,
tipo_militar_crud) tipo_militar_crud, sessao_legislativa_crud,
cargo_mesa_crud)
from materia.views import (tipo_materia_crud, regime_tramitacao_crud,
tipo_autor_crud, tipo_documento_crud,
tipo_fim_relatoria_crud, unidade_tramitacao_crud,
origem_crud, autor_crud, status_tramitacao_crud,
orgao_crud, tipo_proposicao_crud)
from lexml.views import (lexml_provedor_crud, lexml_publicador_crud)
from norma.views import (tipo_norma_crud, assunto_norma_crud)
from sessao.views import (tipo_sessao_crud, tipo_resultado_votacao_crud,
tipo_expediente_crud)
urlpatterns = [ urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='index.html')), url(r'^$', TemplateView.as_view(template_name='index.html')),
@ -33,10 +43,6 @@ urlpatterns = [
url(r'^sessao/', include('sessao.urls')), url(r'^sessao/', include('sessao.urls')),
# system data # system data
# comissao
url(r'^sistema/comissoes/tipo/', include(tipo_comissao_crud.urls)),
url(r'^sistema/comissoes/tipo/', include(tipo_comissao_crud.urls)),
# parlamentares # parlamentares
url(r'^sistema/parlamentares/legislatura/', url(r'^sistema/parlamentares/legislatura/',
include(legislatura_crud.urls)), include(legislatura_crud.urls)),
@ -50,4 +56,55 @@ urlpatterns = [
url(r'^sistema/parlamentares/tipo-militar/', url(r'^sistema/parlamentares/tipo-militar/',
include(tipo_militar_crud.urls)), include(tipo_militar_crud.urls)),
url(r'^sistema/parlamentares/partido/', include(partido_crud.urls)), url(r'^sistema/parlamentares/partido/', include(partido_crud.urls)),
# mesa diretora
url(r'^sistema/mesa-diretora/sessao-legislativa/',
include(sessao_legislativa_crud.urls)),
url(r'^sistema/mesa-diretora/cargo-mesa/',
include(cargo_mesa_crud.urls)),
# comissao
url(r'^sistema/comissoes/cargo/', include(cargo_crud.urls)),
url(r'^sistema/comissoes/periodo-composicao/',
include(periodo_composicao_crud.urls)),
url(r'^sistema/comissoes/tipo/', include(tipo_comissao_crud.urls)),
# bancada
# TODO
# proposições
url(r'^sistema/proposicoes/tipo/', include(tipo_proposicao_crud.urls)),
url(r'^sistema/proposicoes/autor/', include(autor_crud.urls)),
# materia
url(r'^sistema/materia/tipo-materia/', include(tipo_materia_crud.urls)),
url(r'^sistema/materia/regime-tramitacao/',
include(regime_tramitacao_crud.urls)),
url(r'^sistema/materia/tipo-autor/', include(tipo_autor_crud.urls)),
url(r'^sistema/materia/tipo-documento/',
include(tipo_documento_crud.urls)),
url(r'^sistema/materia/tipo-fim-relatoria/',
include(tipo_fim_relatoria_crud.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)),
url(r'^sistema/materia/status-tramitacao/',
include(status_tramitacao_crud.urls)),
url(r'^sistema/materia/orgao/', include(orgao_crud.urls)),
# norma
url(r'^sistema/norma/tipo/', include(tipo_norma_crud.urls)),
url(r'^sistema/norma/assunto/', include(assunto_norma_crud.urls)),
# sessao plenaria
url(r'^sistema/sessao-plenaria/tipo/', include(tipo_sessao_crud.urls)),
url(r'^sistema/sessao-plenaria/tipo-resultado-votacao/',
include(tipo_resultado_votacao_crud.urls)),
url(r'^sistema/sessao-plenaria/tipo-expediente/',
include(tipo_expediente_crud.urls)),
# lexml
url(r'^sistema/lexml/provedor/', include(lexml_provedor_crud.urls)),
url(r'^sistema/lexml/publicador/', include(lexml_publicador_crud.urls)),
] ]

151
sessao/forms.py

@ -1,151 +0,0 @@
from crispy_forms.helper import FormHelper
from django import forms
from django.utils.translation import ugettext as _
from .models import (TipoSessaoPlenaria, SessaoPlenaria, ExpedienteMateria,
TipoExpediente, OrdemDia, TipoResultadoVotacao,
RegistroVotacao)
from sapl.layout import SaplFormLayout
class TipoSessaoPlenariaForm(forms.ModelForm):
class Meta:
model = TipoSessaoPlenaria
exclude = []
def __init__(self, *args, **kwargs):
super(TipoSessaoPlenariaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo de Sessão Plenária'),
[('nome', 6), ('quorum_minimo', 6)],
[('tipo_sessao_plenaria_salvar_FIXME', 12)]],
)
class SessaoPlenariaForm(forms.ModelForm):
class Meta:
model = SessaoPlenaria
exclude = []
def __init__(self, *args, **kwargs):
super(SessaoPlenariaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Dados Básicos'),
[('numero', 3),
('tipo', 3),
('legislatura', 3),
('sessao_legislativa', 3)],
[('data_inicio', 12)],
[('data_fim', 12)],
[('dia', 2),
('hora_inicio', 2),
('hora_fim', 2),
('tipo_expediente', 6)],
[('url_audio', 6), ('url_video', 6)]],
)
class ExpedienteMateriaForm(forms.ModelForm):
class Meta:
model = ExpedienteMateria
exclude = []
def __init__(self, *args, **kwargs):
super(ExpedienteMateriaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)
class TipoExpedienteForm(forms.ModelForm):
class Meta:
model = TipoExpediente
exclude = []
def __init__(self, *args, **kwargs):
super(TipoExpedienteForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo de Expediente'),
[('nome', 12)],
[('tipo_expediente_salvar_FIXME', 12)]],
)
class OrdemDiaForm(forms.ModelForm):
class Meta:
model = OrdemDia
exclude = []
def __init__(self, *args, **kwargs):
super(OrdemDiaForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)
class TipoResultadoVotacaoForm(forms.ModelForm):
class Meta:
model = TipoResultadoVotacao
exclude = []
def __init__(self, *args, **kwargs):
super(TipoResultadoVotacaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('Tipo de Resultado da Votação'),
[('nome', 12)],
[('tipo_resultado_votacao_salvar_FIXME', 12)]],
)
class RegistroVotacaoForm(forms.ModelForm):
class Meta:
model = RegistroVotacao
exclude = []
def __init__(self, *args, **kwargs):
super(RegistroVotacaoForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
[_('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)]],
)

86
sessao/views.py

@ -1,10 +1,91 @@
from django.utils.translation import ugettext_lazy as _
from braces.views import FormMessagesMixin from braces.views import FormMessagesMixin
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
from django.views.generic import ( from django.views.generic import (
CreateView, DeleteView, ListView, UpdateView, DetailView) CreateView, DeleteView, ListView, UpdateView, DetailView)
from sessao.models import SessaoPlenaria from sapl.crud import build_crud
from .forms import SessaoPlenariaForm from .models import (TipoSessaoPlenaria, SessaoPlenaria,
ExpedienteMateria, OrdemDia, TipoResultadoVotacao,
RegistroVotacao, TipoExpediente)
tipo_sessao_crud = build_crud(
TipoSessaoPlenaria,
[_('Tipo de Sessão Plenária'),
[('nome', 6), ('quorum_minimo', 6)]],
)
sessao_crud = build_crud(
SessaoPlenaria,
[_('Dados Básicos'),
[('numero', 3),
('tipo', 3),
('legislatura', 3),
('sessao_legislativa', 3)],
[('data_inicio', 12)],
[('data_fim', 12)],
[('dia', 2),
('hora_inicio', 2),
('hora_fim', 2),
('tipo_expediente', 6)],
[('url_audio', 6), ('url_video', 6)]],
)
expediente_materia_crud = build_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 = build_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_resultado_votacao_crud = build_crud(
TipoResultadoVotacao,
[_('Tipo de Resultado da Votação'),
[('nome', 12)]],
)
tipo_expediente_crud = build_crud(
TipoExpediente,
[_('Tipo de Expediente'),
[('nome', 12)]],
)
registro_votacao_crud = build_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)]],
)
class SessaoPlenariaListView(ListView): class SessaoPlenariaListView(ListView):
@ -18,7 +99,6 @@ class SessaoPlenariaDetailView(DetailView):
class SessaoPlenariaCreateView(CreateView): class SessaoPlenariaCreateView(CreateView):
model = SessaoPlenaria model = SessaoPlenaria
# fields = [f.name for f in SessaoPlenaria._meta.fields] # fields = [f.name for f in SessaoPlenaria._meta.fields]
form_class = SessaoPlenariaForm
form_invalid_message = u"Something went wrong, post was not saved" form_invalid_message = u"Something went wrong, post was not saved"
success_url = reverse_lazy('sessao_list') success_url = reverse_lazy('sessao_list')

Loading…
Cancel
Save