mirror of https://github.com/interlegis/sapl.git
Edward Ribeiro
9 years ago
15 changed files with 2133 additions and 2074 deletions
@ -0,0 +1,146 @@ |
|||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import HTML, Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
|
||||
|
import sapl |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import CasaLegislativa |
||||
|
|
||||
|
ESTADOS = {"": "", |
||||
|
"AC": "ACRE", |
||||
|
"AL": "ALAGOAS", |
||||
|
"AM": "AMAZONAS", |
||||
|
"AP": "AMAPÁ", |
||||
|
"BA": "BAHIA", |
||||
|
"CE": "CEARÁ", |
||||
|
"DF": "DISTRITO FEDERAL", |
||||
|
"ES": "ESPíRITO SANTO", |
||||
|
"GO": "GOIÁS", |
||||
|
"MA": "MARANHÃO", |
||||
|
"MG": "MINAS GERAIS", |
||||
|
"MS": "MATO GROSSO DO SUL", |
||||
|
"MT": "MATO GROSSO", |
||||
|
"PA": "PARÁ", |
||||
|
"PB": "PARAÍBA", |
||||
|
"PE": "PERNAMBUCO", |
||||
|
"PI": "PIAUÍ", |
||||
|
"PR": "PARANÁ", |
||||
|
"RJ": "RIO DE JANEIRO", |
||||
|
"RN": "RIO GRANDE DO NORTE", |
||||
|
"RO": "RONDÔNIA", |
||||
|
"RR": "RORAIMA", |
||||
|
"RS": "RIO GRANDE DO SUL", |
||||
|
"SC": "SANTA CATARINA", |
||||
|
"SE": "SERGIPE", |
||||
|
"SP": "SÃO PAULO", |
||||
|
"TO": "TOCANTINS"} |
||||
|
|
||||
|
|
||||
|
class CasaLegislativaTabelaAuxForm(ModelForm): |
||||
|
|
||||
|
uf = forms.ChoiceField(required=True, |
||||
|
label='UF', |
||||
|
choices=[(uf, uf) for uf in ESTADOS.keys()], |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
informacao_geral = forms.CharField(widget=forms.Textarea, |
||||
|
label='Informação Geral', |
||||
|
required=False) |
||||
|
|
||||
|
telefone = forms.CharField(label='Telefone', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
logotipo = forms.ImageField(label='Logotipo', |
||||
|
required=False, |
||||
|
widget=forms.FileInput |
||||
|
) |
||||
|
|
||||
|
cep = forms.CharField(label='Cep', |
||||
|
required=True, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'cep'})) |
||||
|
|
||||
|
fax = forms.CharField(label='Fax', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
class Meta: |
||||
|
|
||||
|
model = CasaLegislativa |
||||
|
fields = ['codigo', |
||||
|
'nome', |
||||
|
'sigla', |
||||
|
'endereco', |
||||
|
'cep', |
||||
|
'municipio', |
||||
|
'uf', |
||||
|
'telefone', |
||||
|
'fax', |
||||
|
'logotipo', |
||||
|
'endereco_web', |
||||
|
'email', |
||||
|
'informacao_geral'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('codigo', 2), |
||||
|
('nome', 5), |
||||
|
('sigla', 5)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('endereco', 8), |
||||
|
('cep', 4)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('municipio', 10), |
||||
|
('uf', 2)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('telefone', 6), |
||||
|
('fax', 6)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('logotipo', 12)]) |
||||
|
|
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('endereco_web', 12)]) |
||||
|
|
||||
|
row7 = sapl.layout.to_row( |
||||
|
[('email', 12)]) |
||||
|
|
||||
|
row8 = sapl.layout.to_row( |
||||
|
[('informacao_geral', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Dados Básicos', |
||||
|
row1, |
||||
|
row2, |
||||
|
row3, |
||||
|
row4, |
||||
|
row5, |
||||
|
HTML("""{% if form.logotipo.value %} |
||||
|
<img class="img-responsive" width="225" height="300" |
||||
|
src="{{ MEDIA_URL }}{{ form.logotipo.value }}"> |
||||
|
<br /><br /> |
||||
|
<input type="submit" |
||||
|
name="remover" |
||||
|
id="remover" |
||||
|
class="button primary" |
||||
|
value="Remover Logo"/> |
||||
|
{% endif %}""", ), |
||||
|
row6, |
||||
|
row7, |
||||
|
row8, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(CasaLegislativaTabelaAuxForm, self).__init__(*args, **kwargs) |
@ -0,0 +1,173 @@ |
|||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
|
||||
|
import sapl |
||||
|
from parlamentares.models import Filiacao |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import Comissao, Participacao |
||||
|
|
||||
|
|
||||
|
class CadastrarComissaoForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
|
||||
|
model = Comissao |
||||
|
fields = ['nome', |
||||
|
'tipo', |
||||
|
'sigla', |
||||
|
'data_criacao', |
||||
|
'data_extincao', |
||||
|
'unidade_deliberativa', |
||||
|
|
||||
|
'local_reuniao', |
||||
|
'agenda_reuniao', |
||||
|
'telefone_reuniao', |
||||
|
'endereco_secretaria', |
||||
|
'telefone_secretaria', |
||||
|
'fax_secretaria', |
||||
|
'secretario', |
||||
|
'email', |
||||
|
'finalidade', |
||||
|
|
||||
|
'apelido_temp', |
||||
|
'data_instalacao_temp', |
||||
|
'data_final_prevista_temp', |
||||
|
'data_prorrogada_temp', |
||||
|
'data_fim_comissao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('nome', 8), |
||||
|
('sigla', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('tipo', 3), |
||||
|
('data_criacao', 3), |
||||
|
('unidade_deliberativa', 3), |
||||
|
('data_extincao', 3)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('local_reuniao', 4), |
||||
|
('agenda_reuniao', 4), |
||||
|
('telefone_reuniao', 4)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('endereco_secretaria', 4), |
||||
|
('telefone_secretaria', 4), |
||||
|
('fax_secretaria', 4)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('secretario', 6), |
||||
|
('email', 6)]) |
||||
|
|
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('finalidade', 12)]) |
||||
|
|
||||
|
row7 = sapl.layout.to_row( |
||||
|
[('apelido_temp', 9), |
||||
|
('data_instalacao_temp', 3)]) |
||||
|
|
||||
|
row8 = sapl.layout.to_row( |
||||
|
[('data_final_prevista_temp', 4), |
||||
|
('data_prorrogada_temp', 4), |
||||
|
('data_fim_comissao', 4)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Cadastrar Comissão', |
||||
|
Fieldset( |
||||
|
'Dados Básicos', |
||||
|
row1, |
||||
|
row2 |
||||
|
), |
||||
|
Fieldset( |
||||
|
'Dados Complementares', |
||||
|
row3, |
||||
|
row4, |
||||
|
row5, |
||||
|
row6 |
||||
|
), |
||||
|
Fieldset( |
||||
|
'Temporária', |
||||
|
row7, |
||||
|
row8 |
||||
|
), |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(CadastrarComissaoForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class ComposicaoForm(forms.Form): |
||||
|
periodo = forms.CharField() |
||||
|
|
||||
|
|
||||
|
class ParticipacaoCadastroForm(ModelForm): |
||||
|
|
||||
|
YES_OR_NO = ( |
||||
|
(True, 'Sim'), |
||||
|
(False, 'Não') |
||||
|
) |
||||
|
|
||||
|
parlamentar_id = forms.ModelChoiceField( |
||||
|
label='Parlamentar', |
||||
|
required=True, |
||||
|
queryset=Filiacao.objects.filter( |
||||
|
data_desfiliacao__isnull=True, parlamentar__ativo=True).order_by( |
||||
|
'parlamentar__nome_parlamentar'), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
data_designacao = forms.DateField(label=u'Data Designação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=True, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y')) |
||||
|
|
||||
|
data_desligamento = forms.DateField(label=u'Data Desligamento', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y')) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Participacao |
||||
|
fields = ['parlamentar_id', |
||||
|
'cargo', |
||||
|
'titular', |
||||
|
'data_designacao', |
||||
|
'data_desligamento', |
||||
|
'motivo_desligamento', |
||||
|
'observacao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
self.helper = FormHelper() |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('parlamentar_id', 4), |
||||
|
('cargo', 4), |
||||
|
('titular', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data_designacao', 6), |
||||
|
('data_desligamento', 6)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('motivo_desligamento', 12)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('observacao', 12)]) |
||||
|
|
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Formulário de Cadastro', |
||||
|
row1, row2, row3, row4 |
||||
|
), |
||||
|
form_actions() |
||||
|
) |
||||
|
super(ParticipacaoCadastroForm, self).__init__(*args, **kwargs) |
@ -0,0 +1,741 @@ |
|||||
|
from datetime import date |
||||
|
|
||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import Column, Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
from django.utils.safestring import mark_safe |
||||
|
|
||||
|
import sapl |
||||
|
from norma.models import LegislacaoCitada, TipoNormaJuridica |
||||
|
from parlamentares.models import Parlamentar, Partido |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import (Anexada, Autor, DespachoInicial, DocumentoAcessorio, |
||||
|
MateriaLegislativa, Numeracao, Origem, Proposicao, |
||||
|
Relatoria, StatusTramitacao, TipoAutor, TipoDocumento, |
||||
|
TipoMateriaLegislativa, Tramitacao, UnidadeTramitacao) |
||||
|
|
||||
|
|
||||
|
def get_range_anos(): |
||||
|
return [('', 'Selecione')] \ |
||||
|
+ [(year, year) for year in range(date.today().year, 1960, -1)] |
||||
|
|
||||
|
|
||||
|
def get_regimes_tramitacao(): |
||||
|
return [('1', 'Normal'), |
||||
|
('3', 'Urgência'), |
||||
|
('4', 'Urgência Especial')] |
||||
|
|
||||
|
|
||||
|
def get_local_origem(): |
||||
|
return [('E', 'Poder Executivo'), |
||||
|
('L', 'Poder Legislativo')] |
||||
|
|
||||
|
|
||||
|
def em_tramitacao(): |
||||
|
return [('', 'Tanto Faz'), |
||||
|
(True, 'Sim'), |
||||
|
(False, 'Não')] |
||||
|
|
||||
|
|
||||
|
def ordenacao_materias(): |
||||
|
return [(1, 'Crescente'), |
||||
|
(2, 'Decrescente')] |
||||
|
|
||||
|
|
||||
|
class HorizontalRadioRenderer(forms.RadioSelect.renderer): |
||||
|
|
||||
|
def render(self): |
||||
|
return mark_safe(u' '.join([u'%s ' % w for w in self])) |
||||
|
|
||||
|
|
||||
|
class ProposicaoForm(ModelForm): |
||||
|
|
||||
|
descricao = forms.CharField( |
||||
|
label='Descrição', required=True, |
||||
|
widget=forms.Textarea()) |
||||
|
|
||||
|
tipo_materia = forms.ModelChoiceField( |
||||
|
label='Matéria Vinculada', |
||||
|
required=False, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
numero_materia = forms.CharField( |
||||
|
label='Número', required=False) |
||||
|
|
||||
|
ano_materia = forms.CharField( |
||||
|
label='Ano', required=False) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Proposicao |
||||
|
fields = ['tipo', |
||||
|
'descricao', |
||||
|
'texto_original'] |
||||
|
exclude = ['autor', |
||||
|
'data_envio', |
||||
|
'data_recebimento', |
||||
|
'data_devolucao', |
||||
|
'justificativa_devolucao', |
||||
|
'numero_proposicao', |
||||
|
'status', |
||||
|
'materia', |
||||
|
'documento'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 12)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('descricao', 12)]) |
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('tipo_materia', 4), |
||||
|
('numero_materia', 4), |
||||
|
('ano_materia', 4)]) |
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('texto_original', 10)]) |
||||
|
|
||||
|
row4.append( |
||||
|
Column(form_actions(), css_class='col-md-2')) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Incluir Proposição', |
||||
|
row1, row2, row3, row4) |
||||
|
) |
||||
|
super(ProposicaoForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class DocumentoAcessorioForm(ModelForm): |
||||
|
|
||||
|
tipo = forms.ModelChoiceField( |
||||
|
label='Tipo', |
||||
|
required=True, |
||||
|
queryset=TipoDocumento.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
data = forms.DateField(label='Data', |
||||
|
required=False, |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
nome = forms.CharField( |
||||
|
label='Nome', required=True) |
||||
|
|
||||
|
autor = forms.CharField( |
||||
|
label='Autor', required=True) |
||||
|
|
||||
|
ementa = forms.CharField( |
||||
|
label='Ementa', required=True) |
||||
|
|
||||
|
class Meta: |
||||
|
model = DocumentoAcessorio |
||||
|
fields = ['tipo', |
||||
|
'nome', |
||||
|
'data', |
||||
|
'autor', |
||||
|
'ementa'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('nome', 4), |
||||
|
('data', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('autor', 12)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('ementa', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Incluir Documento Acessório', |
||||
|
row1, row2, row3, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(DocumentoAcessorioForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class RelatoriaForm(ModelForm): |
||||
|
data_designacao_relator = forms.DateField( |
||||
|
label=u'Data Designação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_destituicao_relator = forms.DateField( |
||||
|
label=u'Data Destituição', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Relatoria |
||||
|
fields = ['data_designacao_relator', |
||||
|
'comissao', |
||||
|
'parlamentar', |
||||
|
'data_destituicao_relator', |
||||
|
'tipo_fim_relatoria' |
||||
|
] |
||||
|
|
||||
|
|
||||
|
class TramitacaoForm(ModelForm): |
||||
|
|
||||
|
data_tramitacao = forms.DateField(label=u'Data Tramitação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_encaminhamento = forms.DateField(label=u'Data Encaminhamento', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_fim_prazo = forms.DateField(label=u'Data Fim Prazo', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Tramitacao |
||||
|
fields = ['data_tramitacao', |
||||
|
'unidade_tramitacao_local', |
||||
|
'status', |
||||
|
'turno', |
||||
|
'urgente', |
||||
|
'unidade_tramitacao_destino', |
||||
|
'data_encaminhamento', |
||||
|
'data_fim_prazo', |
||||
|
'texto'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('data_tramitacao', 6), |
||||
|
('unidade_tramitacao_local', 6)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('status', 5), |
||||
|
('turno', 5), |
||||
|
('urgente', 2)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('unidade_tramitacao_destino', 12)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('data_encaminhamento', 6), |
||||
|
('data_fim_prazo', 6)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('texto', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Incluir Tramitação', |
||||
|
row1, row2, row3, row4, row5, |
||||
|
), |
||||
|
form_actions() |
||||
|
) |
||||
|
super(TramitacaoForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class LegislacaoCitadaForm(ModelForm): |
||||
|
|
||||
|
tipo = forms.ModelChoiceField( |
||||
|
label='Tipo Norma', |
||||
|
required=True, |
||||
|
queryset=TipoNormaJuridica.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
numero = forms.CharField(label='Número', required=True) |
||||
|
|
||||
|
ano = forms.CharField(label='Ano', required=True) |
||||
|
|
||||
|
disposicao = forms.CharField(label='Disposição', required=False) |
||||
|
|
||||
|
parte = forms.CharField(label='Parte', required=False) |
||||
|
|
||||
|
livro = forms.CharField(label='Livro', required=False) |
||||
|
|
||||
|
titulo = forms.CharField(label='Título', required=False) |
||||
|
|
||||
|
capitulo = forms.CharField(label='Capítulo', required=False) |
||||
|
|
||||
|
secao = forms.CharField(label='Seção', required=False) |
||||
|
|
||||
|
subsecao = forms.CharField(label='Subseção', required=False) |
||||
|
|
||||
|
artigo = forms.CharField(label='Artigo', required=False) |
||||
|
|
||||
|
paragrafo = forms.CharField(label='Parágrafo', required=False) |
||||
|
|
||||
|
inciso = forms.CharField(label='Inciso', required=False) |
||||
|
|
||||
|
alinea = forms.CharField(label='Alínea', required=False) |
||||
|
|
||||
|
item = forms.CharField(label='Item', required=False) |
||||
|
|
||||
|
class Meta: |
||||
|
model = LegislacaoCitada |
||||
|
fields = ['tipo', |
||||
|
'numero', |
||||
|
'ano', |
||||
|
'disposicao', |
||||
|
'parte', |
||||
|
'livro', |
||||
|
'titulo', |
||||
|
'capitulo', |
||||
|
'secao', |
||||
|
'subsecao', |
||||
|
'artigo', |
||||
|
'paragrafo', |
||||
|
'inciso', |
||||
|
'alinea', |
||||
|
'item'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('numero', 4), |
||||
|
('ano', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('disposicao', 3), |
||||
|
('parte', 3), |
||||
|
('livro', 3), |
||||
|
('titulo', 3)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('capitulo', 3), |
||||
|
('secao', 3), |
||||
|
('subsecao', 3), |
||||
|
('artigo', 3)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('paragrafo', 3), |
||||
|
('inciso', 3), |
||||
|
('alinea', 3), |
||||
|
('item', 3)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.form_class = 'form-horizontal' |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Incluir Legislação Citada', |
||||
|
row1, row2, row3, row4, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(LegislacaoCitadaForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class NumeracaoForm(ModelForm): |
||||
|
|
||||
|
tipo_materia = forms.ModelChoiceField( |
||||
|
label='Tipo de Matéria', |
||||
|
required=True, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
data_materia = forms.DateField(label='Data', |
||||
|
required=False, |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
ano_materia = forms.ChoiceField(required=True, |
||||
|
label='Ano', |
||||
|
choices=get_range_anos(), |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
numero_materia = forms.CharField( |
||||
|
label='Número', required=True) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Numeracao |
||||
|
fields = ['tipo_materia', |
||||
|
'numero_materia', |
||||
|
'ano_materia', |
||||
|
'data_materia'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo_materia', 12)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('numero_materia', 4), |
||||
|
('ano_materia', 4), |
||||
|
('data_materia', 4)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Incluir Numeração', |
||||
|
row1, row2, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(NumeracaoForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class DespachoInicialForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = DespachoInicial |
||||
|
fields = ['comissao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Adicionar Despacho Inicial', |
||||
|
'comissao', |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(DespachoInicialForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class MateriaAnexadaForm(ModelForm): |
||||
|
|
||||
|
tipo = forms.ModelChoiceField( |
||||
|
label='Tipo', |
||||
|
required=True, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
numero = forms.CharField(label='Número', required=True) |
||||
|
|
||||
|
ano = forms.CharField(label='Ano', required=True) |
||||
|
|
||||
|
data_anexacao = forms.DateField(label='Data Anexação', |
||||
|
required=True, |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_desanexacao = forms.DateField(label='Data Desanexação', |
||||
|
required=False, |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Anexada |
||||
|
fields = ['tipo', 'data_anexacao', 'data_desanexacao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('numero', 4), |
||||
|
('ano', 4)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data_anexacao', 6), |
||||
|
('data_desanexacao', 6)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Anexar Matéria', |
||||
|
row1, row2, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(MateriaAnexadaForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class FormularioSimplificadoForm(ModelForm): |
||||
|
|
||||
|
data_apresentacao = forms.DateField(label=u'Data Apresentação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y')) |
||||
|
|
||||
|
class Meta: |
||||
|
model = MateriaLegislativa |
||||
|
fields = ['tipo', |
||||
|
'numero', |
||||
|
'ano', |
||||
|
'data_apresentacao', |
||||
|
'numero_protocolo', |
||||
|
'regime_tramitacao', |
||||
|
'em_tramitacao', |
||||
|
'ementa', |
||||
|
'texto_original'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('numero', 4), |
||||
|
('ano', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data_apresentacao', 4), |
||||
|
('numero_protocolo', 4), |
||||
|
('regime_tramitacao', 4)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('texto_original', 9), |
||||
|
('em_tramitacao', 3)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('ementa', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Formulário Simplificado', |
||||
|
Fieldset( |
||||
|
'Identificação Básica', |
||||
|
row1, row2, row3, row4 |
||||
|
), |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(FormularioSimplificadoForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class FormularioCadastroForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = MateriaLegislativa |
||||
|
fields = ['tipo', |
||||
|
'numero', |
||||
|
'ano', |
||||
|
'data_apresentacao', |
||||
|
'numero_protocolo', |
||||
|
'tipo_apresentacao', |
||||
|
'texto_original', |
||||
|
'apelido', |
||||
|
'dias_prazo', |
||||
|
'polemica', |
||||
|
'objeto', |
||||
|
'regime_tramitacao', |
||||
|
'em_tramitacao', |
||||
|
'data_fim_prazo', |
||||
|
'data_publicacao', |
||||
|
'complementar', |
||||
|
'tipo_origem_externa', |
||||
|
'numero_origem_externa', |
||||
|
'ano_origem_externa', |
||||
|
'local_origem_externa', |
||||
|
'data_origem_externa', |
||||
|
'ementa', |
||||
|
'indexacao', |
||||
|
'observacao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Formulário de Cadastro', |
||||
|
Fieldset( |
||||
|
'Identificação Básica', |
||||
|
'tipo', |
||||
|
'numero', |
||||
|
'ano', |
||||
|
'data_apresentacao', |
||||
|
'numero_protocolo', |
||||
|
'tipo_apresentacao', |
||||
|
'texto_original' |
||||
|
), |
||||
|
Fieldset( |
||||
|
'Outras Informações', |
||||
|
'apelido', |
||||
|
'dias_prazo', |
||||
|
'polemica', |
||||
|
'objeto', |
||||
|
'regime_tramitacao', |
||||
|
'em_tramitacao', |
||||
|
'data_fim_prazo', |
||||
|
'data_publicacao', |
||||
|
'complementar' |
||||
|
), |
||||
|
Fieldset( |
||||
|
'Origem Externa', |
||||
|
'tipo_origem_externa', |
||||
|
'numero_origem_externa', |
||||
|
'ano_origem_externa', |
||||
|
'local_origem_externa', |
||||
|
'data_origem_externa' |
||||
|
), |
||||
|
Fieldset( |
||||
|
'Dados Textuais', |
||||
|
'ementa', |
||||
|
'indexacao', |
||||
|
'observacao' |
||||
|
), |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(FormularioCadastroForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class AutoriaForm(forms.Form): |
||||
|
tipo_autor = forms.CharField() |
||||
|
nome_autor = forms.CharField() |
||||
|
primeiro_autor = forms.CharField() |
||||
|
partido_autor = forms.ModelChoiceField( |
||||
|
label='Partido (Autor)', |
||||
|
required=False, |
||||
|
queryset=Partido.objects.all(), |
||||
|
empty_label='Selecione') |
||||
|
|
||||
|
|
||||
|
class MateriaLegislativaPesquisaForm(forms.Form): |
||||
|
|
||||
|
autor = forms.ModelChoiceField( |
||||
|
label='Autor', |
||||
|
required=False, |
||||
|
queryset=Autor.objects.all().order_by('tipo'), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
# relatores são os parlamentares ativos? |
||||
|
relator = forms.ModelChoiceField( |
||||
|
label='Relator', |
||||
|
required=False, |
||||
|
queryset=Parlamentar.objects.all().order_by('nome_parlamentar'), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
tipo = forms.ModelChoiceField( |
||||
|
label='Tipo de Matéria', |
||||
|
required=False, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
data_apresentacao = forms.DateField(label=u'Data de Apresentação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_publicacao = forms.DateField(label=u'Data da Publicação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
numero = forms.CharField(required=False, label=u'Número da Matéria') |
||||
|
numero_protocolo = forms.CharField(required=False, label=u'Núm. Protocolo') |
||||
|
ano = forms.CharField(required=False, label=u'Ano da Matéria') |
||||
|
assunto = forms.CharField(required=False, label=u'Assunto') |
||||
|
|
||||
|
ordem = forms.ChoiceField(required=False, |
||||
|
label='Ordenação', |
||||
|
choices=ordenacao_materias(), |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
localizacao = forms.ModelChoiceField( |
||||
|
label='Localização Atual', |
||||
|
required=False, |
||||
|
queryset=UnidadeTramitacao.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
situacao = forms.ModelChoiceField( |
||||
|
label='Situação', |
||||
|
required=False, |
||||
|
queryset=StatusTramitacao.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
tramitacao = forms.ChoiceField(required=False, |
||||
|
label='Tramitando', |
||||
|
choices=em_tramitacao(), |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
tipo_autor = forms.ModelChoiceField( |
||||
|
label='Tipo Autor', |
||||
|
required=False, |
||||
|
queryset=TipoAutor.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
partido_autor = forms.ModelChoiceField( |
||||
|
label='Partido (Autor)', |
||||
|
required=False, |
||||
|
queryset=Partido.objects.all(), |
||||
|
empty_label='Selecione') |
||||
|
|
||||
|
local_origem_externa = forms.ModelChoiceField( |
||||
|
label='Localização de Origem', |
||||
|
required=False, |
||||
|
queryset=Origem.objects.all(), |
||||
|
empty_label='Selecione') |
||||
|
|
||||
|
# TODO: Verificar se esses campos estão corretos |
||||
|
# assunto? # -> usado 'ementa' em 'assunto' |
||||
|
# localizacao atual? # |
||||
|
# situacao? # |
||||
|
# tramitando? # |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 12)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('numero', 4), |
||||
|
('ano', 4), |
||||
|
('numero_protocolo', 4)]) |
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('data_apresentacao', 6), |
||||
|
('data_publicacao', 6)]) |
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('autor', 6), |
||||
|
('partido_autor', 6)]) |
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('tipo_autor', 6), |
||||
|
('relator', 6)]) |
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('local_origem_externa', 6), |
||||
|
('localizacao', 6)]) |
||||
|
row7 = sapl.layout.to_row( |
||||
|
[('tramitacao', 4), |
||||
|
('situacao', 4), |
||||
|
('ordem', 4)]) |
||||
|
row8 = sapl.layout.to_row( |
||||
|
[('assunto', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Pesquisa Básica', |
||||
|
row1, row2, row3, row4, row5, row6, row7, row8), |
||||
|
form_actions(save_label='Pesquisar') |
||||
|
) |
||||
|
super(MateriaLegislativaPesquisaForm, self).__init__( |
||||
|
*args, **kwargs) |
@ -0,0 +1,102 @@ |
|||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
from django.utils.safestring import mark_safe |
||||
|
|
||||
|
import sapl |
||||
|
from materia.models import TipoMateriaLegislativa |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import NormaJuridica |
||||
|
|
||||
|
|
||||
|
def get_esferas(): |
||||
|
return [('E', 'Estadual'), |
||||
|
('F', 'Federal'), |
||||
|
('M', 'Municipal')] |
||||
|
|
||||
|
|
||||
|
class HorizontalRadioRenderer(forms.RadioSelect.renderer): |
||||
|
|
||||
|
def render(self): |
||||
|
return mark_safe(u' '.join([u'%s ' % w for w in self])) |
||||
|
|
||||
|
|
||||
|
class NormaJuridicaForm(ModelForm): |
||||
|
|
||||
|
tipo_materia = forms.ModelChoiceField( |
||||
|
label='Matéria Legislativa', |
||||
|
required=False, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione' |
||||
|
) |
||||
|
|
||||
|
numero_materia = forms.CharField(label='Número', required=False) |
||||
|
|
||||
|
ano_materia = forms.CharField(label='Ano', required=False) |
||||
|
|
||||
|
class Meta: |
||||
|
model = NormaJuridica |
||||
|
fields = ['tipo', |
||||
|
'numero', |
||||
|
'ano', |
||||
|
'data', |
||||
|
'esfera_federacao', |
||||
|
'complemento', |
||||
|
'tipo_materia', |
||||
|
'numero_materia', |
||||
|
'ano_materia', |
||||
|
'data_publicacao', |
||||
|
'veiculo_publicacao', |
||||
|
'pagina_inicio_publicacao', |
||||
|
'pagina_fim_publicacao', |
||||
|
'ementa', |
||||
|
'indexacao', |
||||
|
'observacao', |
||||
|
'texto_integral'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('numero', 4), |
||||
|
('ano', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data', 4), |
||||
|
('esfera_federacao', 4), |
||||
|
('complemento', 4)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('tipo_materia', 4), |
||||
|
('numero_materia', 4), |
||||
|
('ano_materia', 4)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('data_publicacao', 3), |
||||
|
('veiculo_publicacao', 3), |
||||
|
('pagina_inicio_publicacao', 3), |
||||
|
('pagina_fim_publicacao', 3)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('texto_integral', 12)]) |
||||
|
|
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('ementa', 12)]) |
||||
|
|
||||
|
row7 = sapl.layout.to_row( |
||||
|
[('indexacao', 12)]) |
||||
|
|
||||
|
row8 = sapl.layout.to_row( |
||||
|
[('observacao', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Cadastro de Norma Jurídica', |
||||
|
Fieldset('Identificação Básica', |
||||
|
row1, row2, row3, row4, row5, row6, row7, row8), |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(NormaJuridicaForm, self).__init__(*args, **kwargs) |
@ -0,0 +1,324 @@ |
|||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import HTML, Fieldset, Layout, Submit |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
from django.utils.safestring import mark_safe |
||||
|
|
||||
|
import sapl |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import Dependente, Filiacao, Mandato, Parlamentar |
||||
|
|
||||
|
|
||||
|
class ParlamentaresListForm(forms.Form): |
||||
|
periodo = forms.CharField() |
||||
|
|
||||
|
|
||||
|
class HorizontalRadioRenderer(forms.RadioSelect.renderer): |
||||
|
|
||||
|
def render(self): |
||||
|
return mark_safe(u' '.join([u'%s ' % w for w in self])) |
||||
|
|
||||
|
|
||||
|
class ParlamentaresForm (ModelForm): |
||||
|
ativo = forms.TypedChoiceField( |
||||
|
coerce=lambda x: x == 'True', |
||||
|
choices=((True, 'Sim'), (False, 'Não')), |
||||
|
widget=forms.RadioSelect( |
||||
|
renderer=HorizontalRadioRenderer |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
cpf = forms.CharField(label='C.P.F', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'cpf'})) |
||||
|
|
||||
|
rg = forms.CharField(label='R.G.', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'rg'})) |
||||
|
|
||||
|
titulo_eleitor = forms.CharField(label='Título de Eleitor', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'titulo_eleitor'})) |
||||
|
|
||||
|
telefone = forms.CharField(label='Telefone', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
fax = forms.CharField(label='Fax', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
cep_residencia = forms.CharField(label='CEP', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'cep'})) |
||||
|
|
||||
|
telefone_residencia = forms.CharField(label='Telefone', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
fax_residencia = forms.CharField(label='Fax', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'telefone'})) |
||||
|
|
||||
|
fotografia = forms.ImageField(label='Fotografia', |
||||
|
required=False, |
||||
|
widget=forms.FileInput |
||||
|
) |
||||
|
|
||||
|
class Meta: |
||||
|
model = Parlamentar |
||||
|
fields = ['nome_parlamentar', |
||||
|
'ativo', |
||||
|
'nome_completo', |
||||
|
'nivel_instrucao', |
||||
|
'sexo', |
||||
|
'cpf', |
||||
|
'rg', |
||||
|
'titulo_eleitor', |
||||
|
'data_nascimento', |
||||
|
'situacao_militar', |
||||
|
'profissao', |
||||
|
'endereco_web', |
||||
|
'email', |
||||
|
'numero_gab_parlamentar', |
||||
|
'telefone', |
||||
|
'fax', |
||||
|
'endereco_residencia', |
||||
|
'cep_residencia', |
||||
|
'municipio_residencia', |
||||
|
'telefone_residencia', |
||||
|
'fax_residencia', |
||||
|
'locais_atuacao', |
||||
|
'fotografia', |
||||
|
'biografia'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('nome_parlamentar', 8), ('ativo', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('nome_completo', 12)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('nivel_instrucao', 4), |
||||
|
('sexo', 4), |
||||
|
('data_nascimento', 4)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('cpf', 4), |
||||
|
('rg', 4), |
||||
|
('titulo_eleitor', 4)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('situacao_militar', 6), |
||||
|
('profissao', 6)]) |
||||
|
|
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('endereco_web', 12)]) |
||||
|
|
||||
|
row7 = sapl.layout.to_row( |
||||
|
[('email', 12)]) |
||||
|
|
||||
|
row8 = sapl.layout.to_row( |
||||
|
[('numero_gab_parlamentar', 4), |
||||
|
('telefone', 4), |
||||
|
('fax', 4)]) |
||||
|
|
||||
|
row9 = sapl.layout.to_row( |
||||
|
[('endereco_residencia', 6), |
||||
|
('cep_residencia', 6)]) |
||||
|
|
||||
|
row10 = sapl.layout.to_row( |
||||
|
[('municipio_residencia', 12)]) |
||||
|
|
||||
|
row11 = sapl.layout.to_row( |
||||
|
[('telefone_residencia', 6), |
||||
|
('fax_residencia', 6)]) |
||||
|
|
||||
|
row12 = sapl.layout.to_row( |
||||
|
[('locais_atuacao', 12)]) |
||||
|
|
||||
|
row13 = sapl.layout.to_row( |
||||
|
[('fotografia', 12)]) |
||||
|
|
||||
|
row14 = sapl.layout.to_row( |
||||
|
[('biografia', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Cadastro do Parlamentar', |
||||
|
row1, row2, row3, row4, row5, |
||||
|
row6, row7, row8, row9, row10, |
||||
|
row11, row12, row13, |
||||
|
HTML("""{% if form.fotografia.value %} |
||||
|
<img class="img-responsive" width="225" height="300" |
||||
|
src="{{ MEDIA_URL }}{{ form.fotografia.value }}"> |
||||
|
<br /><br /> |
||||
|
<input type="submit" |
||||
|
name="remover" |
||||
|
id="remover" |
||||
|
class="button primary" |
||||
|
value="Remover Foto"/> |
||||
|
{% endif %}""", ), |
||||
|
row14, |
||||
|
form_actions()) |
||||
|
|
||||
|
) |
||||
|
super(ParlamentaresForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class ParlamentaresEditForm(ParlamentaresForm): |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
super(ParlamentaresEditForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
self.helper.layout[0][-1:] = form_actions(more=[ |
||||
|
HTML(' '), |
||||
|
Submit('excluir', 'Excluir', |
||||
|
css_class='btn btn-primary')]) |
||||
|
|
||||
|
|
||||
|
class MandatoForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = Mandato |
||||
|
fields = ['legislatura', |
||||
|
'coligacao', |
||||
|
'votos_recebidos', |
||||
|
'data_fim_mandato', |
||||
|
'data_expedicao_diploma', |
||||
|
'observacao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('legislatura', 4), |
||||
|
('coligacao', 4), |
||||
|
('votos_recebidos', 4)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data_fim_mandato', 6), |
||||
|
('data_expedicao_diploma', 6)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('observacao', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Adicionar Mandato', row1, row2, row3, |
||||
|
form_actions()) |
||||
|
|
||||
|
) |
||||
|
super(MandatoForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class MandatoEditForm(MandatoForm): |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
super(MandatoEditForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
self.helper.layout[0][-1:] = form_actions(more=[ |
||||
|
HTML(' '), |
||||
|
Submit('excluir', 'Excluir', |
||||
|
css_class='btn btn-primary')]) |
||||
|
|
||||
|
|
||||
|
class DependenteForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = Dependente |
||||
|
fields = ['nome', |
||||
|
'data_nascimento', |
||||
|
'tipo', |
||||
|
'sexo', |
||||
|
'cpf', |
||||
|
'rg', |
||||
|
'titulo_eleitor'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('nome', 12)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('tipo', 4), |
||||
|
('sexo', 4), |
||||
|
('data_nascimento', 4)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('cpf', 4), |
||||
|
('rg', 4), |
||||
|
('titulo_eleitor', 4)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Cadastro de Dependentes', |
||||
|
row1, row2, row3, |
||||
|
form_actions()) |
||||
|
|
||||
|
) |
||||
|
super(DependenteForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class DependenteEditForm(DependenteForm): |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
super(DependenteEditForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
self.helper.layout[0][-1:] = form_actions(more=[ |
||||
|
HTML(' '), |
||||
|
Submit('excluir', 'Excluir', |
||||
|
css_class='btn btn-primary')]) |
||||
|
|
||||
|
|
||||
|
class FiliacaoForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = Filiacao |
||||
|
fields = ['partido', |
||||
|
'data', |
||||
|
'data_desfiliacao'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('partido', 4), |
||||
|
('data', 4), |
||||
|
('data_desfiliacao', 4)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Adicionar Filiação', row1, |
||||
|
form_actions()) |
||||
|
|
||||
|
) |
||||
|
super(FiliacaoForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class FiliacaoEditForm(FiliacaoForm): |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
super(FiliacaoEditForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
self.helper.layout[0][-1:] = form_actions(more=[ |
||||
|
HTML(' '), |
||||
|
Submit('excluir', 'Excluir', |
||||
|
css_class='btn btn-primary')]) |
@ -0,0 +1,410 @@ |
|||||
|
from datetime import date |
||||
|
|
||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import HTML, Field, Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
from django.utils.safestring import mark_safe |
||||
|
|
||||
|
import sapl |
||||
|
from materia.models import TipoMateriaLegislativa |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import (Autor, DocumentoAcessorioAdministrativo, |
||||
|
TipoDocumentoAdministrativo, TramitacaoAdministrativo) |
||||
|
|
||||
|
|
||||
|
def get_range_anos(): |
||||
|
return [('', 'Selecione')] \ |
||||
|
+ [(year, year) for year in range(date.today().year, 1960, -1)] |
||||
|
|
||||
|
|
||||
|
TIPOS_PROTOCOLO = [('', 'Selecione'), |
||||
|
('0', 'Enviado'), |
||||
|
('1', 'Recebido')] |
||||
|
|
||||
|
|
||||
|
class HorizontalRadioRenderer(forms.RadioSelect.renderer): |
||||
|
|
||||
|
def render(self): |
||||
|
return mark_safe(u' '.join([u'%s ' % w for w in self])) |
||||
|
|
||||
|
|
||||
|
class ProtocoloForm(forms.Form): |
||||
|
|
||||
|
YEARS = get_range_anos() |
||||
|
|
||||
|
tipo_protocolo = forms.ChoiceField(required=False, |
||||
|
label='Tipo de Protocolo', |
||||
|
choices=TIPOS_PROTOCOLO, |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
numero_protocolo = forms.CharField( |
||||
|
label='Número de Protocolo', required=False) |
||||
|
ano = forms.ChoiceField(required=False, |
||||
|
label='Ano', |
||||
|
choices=YEARS, |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
|
||||
|
inicial = forms.DateField(label='Data Inicial', |
||||
|
required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
final = forms.DateField(label='Data Final', required=False, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
natureza_processo = forms.ChoiceField(required=False, |
||||
|
label='Natureza Processo', |
||||
|
choices=[ |
||||
|
('0', 'Administrativo'), |
||||
|
('1', 'Legislativo'), |
||||
|
('', 'Ambos')], |
||||
|
# widget=forms.RadioSelect( |
||||
|
# renderer=HorizontalRadioRenderer) |
||||
|
|
||||
|
) |
||||
|
|
||||
|
tipo_documento = forms.ModelChoiceField( |
||||
|
label='Tipo de Documento', |
||||
|
required=False, |
||||
|
queryset=TipoDocumentoAdministrativo.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
interessado = forms.CharField(label='Interessado', required=False) |
||||
|
|
||||
|
tipo_materia = forms.ModelChoiceField( |
||||
|
label='Tipo de Matéria', |
||||
|
required=False, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
autor = forms.ModelChoiceField( |
||||
|
label='Autor', |
||||
|
required=False, |
||||
|
queryset=Autor.objects.all().order_by('tipo'), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
assunto = forms.CharField(label='Assunto', required=False) |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('numero_protocolo', 6), |
||||
|
('ano', 6)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('inicial', 6), |
||||
|
('final', 6)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('tipo_documento', 4), |
||||
|
('tipo_protocolo', 4), |
||||
|
('tipo_materia', 4)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('interessado', 4), |
||||
|
('autor', 4), |
||||
|
('assunto', 4)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('natureza_processo', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout(row1, row2, |
||||
|
row3, row4, |
||||
|
row5, form_actions(save_label='Pesquisar')) |
||||
|
super(ProtocoloForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class AnularProcoloAdmForm(forms.Form): |
||||
|
|
||||
|
YEARS = get_range_anos() |
||||
|
|
||||
|
numero_protocolo = forms.CharField( |
||||
|
label='Número de Protocolo', required=True) |
||||
|
ano_protocolo = forms.ChoiceField(required=False, |
||||
|
label='Ano', |
||||
|
choices=YEARS, |
||||
|
widget=forms.Select( |
||||
|
attrs={'class': 'selector'})) |
||||
|
justificativa_anulacao = forms.CharField( |
||||
|
widget=forms.Textarea, label='Motivo', required=True) |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('numero_protocolo', 6), |
||||
|
('ano_protocolo', 6)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('justificativa_anulacao', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Identificação do Protocolo', |
||||
|
row1, |
||||
|
row2, |
||||
|
HTML(" "), |
||||
|
form_actions(save_label='Anular') |
||||
|
) |
||||
|
) |
||||
|
super(AnularProcoloAdmForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class ProtocoloDocumentForm(forms.Form): |
||||
|
|
||||
|
NUMERACAO_CHOICES = [('1', 'Sequencial por Ano'), |
||||
|
('2', 'Sequencial Único')] |
||||
|
|
||||
|
numeracao = forms.ChoiceField(required=True, |
||||
|
choices=NUMERACAO_CHOICES, |
||||
|
widget=forms.RadioSelect( |
||||
|
renderer=HorizontalRadioRenderer), |
||||
|
label='') |
||||
|
|
||||
|
tipo_protocolo = forms.ChoiceField(required=True, |
||||
|
label='Tipo de Protocolo', |
||||
|
choices=TIPOS_PROTOCOLO[1:], |
||||
|
widget=forms.RadioSelect( |
||||
|
renderer=HorizontalRadioRenderer)) |
||||
|
|
||||
|
tipo_documento = forms.ModelChoiceField( |
||||
|
label='Tipo de Documento', |
||||
|
required=False, |
||||
|
queryset=TipoDocumentoAdministrativo.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
num_paginas = forms.CharField(label='Núm. Páginas', required=True) |
||||
|
assunto = forms.CharField( |
||||
|
widget=forms.Textarea, label='Assunto', required=True) |
||||
|
|
||||
|
interessado = forms.CharField(required=True, |
||||
|
label='Interessado') |
||||
|
|
||||
|
observacao = forms.CharField(required=True, |
||||
|
widget=forms.Textarea, label='Observação') |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('numeracao', 12)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('tipo_protocolo', 12)]) |
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('tipo_documento', 6), |
||||
|
('num_paginas', 6)]) |
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('assunto', 12)]) |
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('interessado', 12)]) |
||||
|
row6 = sapl.layout.to_row( |
||||
|
[('observacao', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Protocolo - Opção de Numeração', row1), |
||||
|
Fieldset('Identificação de Documento', |
||||
|
row2, |
||||
|
row3, |
||||
|
row4, |
||||
|
row5, |
||||
|
row6, |
||||
|
HTML(" "), |
||||
|
form_actions(save_label='Protocolar Documento') |
||||
|
) |
||||
|
) |
||||
|
super(ProtocoloDocumentForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class ProtocoloMateriaForm(forms.Form): |
||||
|
|
||||
|
NUMERACAO_CHOICES = [('1', 'Sequencial por Ano'), |
||||
|
('2', 'Sequencial Único')] |
||||
|
|
||||
|
numeracao = forms.ChoiceField(required=True, |
||||
|
choices=NUMERACAO_CHOICES, |
||||
|
widget=forms.RadioSelect( |
||||
|
renderer=HorizontalRadioRenderer), |
||||
|
label='') |
||||
|
|
||||
|
tipo_protocolo = forms.ChoiceField(required=True, |
||||
|
label='Tipo de Protocolo', |
||||
|
choices=TIPOS_PROTOCOLO[1:], |
||||
|
widget=forms.RadioSelect( |
||||
|
renderer=HorizontalRadioRenderer)) |
||||
|
|
||||
|
tipo_materia = forms.ModelChoiceField( |
||||
|
label='Tipo de Matéria', |
||||
|
required=False, |
||||
|
queryset=TipoMateriaLegislativa.objects.all(), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
num_paginas = forms.CharField(label='Núm. Páginas', required=True) |
||||
|
ementa = forms.CharField( |
||||
|
widget=forms.Textarea, label='Ementa', required=True) |
||||
|
|
||||
|
autor = forms.ModelChoiceField( |
||||
|
label='Autor', |
||||
|
required=False, |
||||
|
queryset=Autor.objects.all().order_by('tipo'), |
||||
|
empty_label='Selecione', |
||||
|
) |
||||
|
|
||||
|
observacao = forms.CharField(required=True, |
||||
|
widget=forms.Textarea, |
||||
|
label='Observação') |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('numeracao', 12)]) |
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('tipo_materia', 6), |
||||
|
('num_paginas', 6)]) |
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('ementa', 12)]) |
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('autor', 12)]) |
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('observacao', 12)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Protocolo - Opção de Numeração', row1), |
||||
|
Fieldset('Identificação da Matéria', |
||||
|
row2, |
||||
|
row3, |
||||
|
row4, |
||||
|
row5, |
||||
|
HTML(" "), |
||||
|
form_actions(save_label='Protocolar Matéria') |
||||
|
) |
||||
|
) |
||||
|
super(ProtocoloMateriaForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class ProposicaoSimpleForm(forms.Form): |
||||
|
|
||||
|
tipo = forms.CharField(label='Tipo', |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
materia = forms.CharField(label='Matéria', |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
data_envio = forms.DateField(label='Data Envio', |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
data_recebimento = forms.DateField(label='Data Recebimento', |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
|
||||
|
descricao = forms.CharField(label='Descrição', |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
|
||||
|
numero_proposicao = forms.CharField(label='Número', |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'readonly': 'readonly'})) |
||||
|
# ano = forms.CharField(label='Ano', |
||||
|
# widget = forms.TextInput( |
||||
|
# attrs={'readonly':'readonly'})) |
||||
|
|
||||
|
|
||||
|
class DocumentoAcessorioAdministrativoForm(ModelForm): |
||||
|
|
||||
|
data = forms.DateField(label=u'Data', input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput(format='%d/%m/%Y')) |
||||
|
|
||||
|
class Meta: |
||||
|
model = DocumentoAcessorioAdministrativo |
||||
|
fields = ['tipo', |
||||
|
'nome', |
||||
|
'data', |
||||
|
'autor', |
||||
|
'arquivo', |
||||
|
'assunto'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Incluir Documento Acessório', |
||||
|
'tipo', |
||||
|
'nome', |
||||
|
'data', |
||||
|
'autor', |
||||
|
'arquivo', |
||||
|
'assunto', |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(DocumentoAcessorioAdministrativoForm, self).__init__( |
||||
|
*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class TramitacaoAdmForm(ModelForm): |
||||
|
|
||||
|
data_tramitacao = forms.DateField(label=u'Data Tramitação', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_encaminhamento = forms.DateField(label=u'Data Encaminhamento', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
data_fim_prazo = forms.DateField(label=u'Data Fim Prazo', |
||||
|
input_formats=['%d/%m/%Y'], |
||||
|
required=False, |
||||
|
widget=forms.DateInput( |
||||
|
format='%d/%m/%Y', |
||||
|
attrs={'class': 'dateinput'})) |
||||
|
|
||||
|
class Meta: |
||||
|
model = TramitacaoAdministrativo |
||||
|
fields = ['data_tramitacao', |
||||
|
'unidade_tramitacao_local', |
||||
|
'status', |
||||
|
'unidade_tramitacao_destino', |
||||
|
'data_encaminhamento', |
||||
|
'data_fim_prazo', |
||||
|
'texto', |
||||
|
'documento', |
||||
|
] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset('Incluir Tramitação', |
||||
|
'data_tramitacao', |
||||
|
'unidade_tramitacao_local', |
||||
|
'status', |
||||
|
'unidade_tramitacao_destino', |
||||
|
'data_encaminhamento', |
||||
|
'data_fim_prazo', |
||||
|
'texto'), |
||||
|
Field('documento', type="hidden"), |
||||
|
form_actions() |
||||
|
) |
||||
|
super(TramitacaoAdmForm, self).__init__( |
||||
|
*args, **kwargs) |
@ -0,0 +1,159 @@ |
|||||
|
from crispy_forms.helper import FormHelper |
||||
|
from crispy_forms.layout import Column, Fieldset, Layout |
||||
|
from django import forms |
||||
|
from django.forms import ModelForm |
||||
|
|
||||
|
import sapl |
||||
|
from sapl.layout import form_actions |
||||
|
|
||||
|
from .models import AcompanharMateria, SessaoPlenaria |
||||
|
|
||||
|
|
||||
|
class PresencaForm(forms.Form): |
||||
|
presenca = forms.CharField(required=False, initial=False) |
||||
|
parlamentar = forms.CharField(required=False, max_length=20) |
||||
|
|
||||
|
|
||||
|
class VotacaoNominalForm(forms.Form): |
||||
|
pass |
||||
|
|
||||
|
|
||||
|
class ListMateriaForm(forms.Form): |
||||
|
error_message = forms.CharField(required=False, label='votacao_aberta') |
||||
|
|
||||
|
|
||||
|
class MateriaOrdemDiaForm(forms.Form): |
||||
|
data_sessao = forms.CharField(required=True, label='Data da Sessão') |
||||
|
numero_ordem = forms.IntegerField(required=True, label='Número Ordem') |
||||
|
tipo_votacao = forms.IntegerField(required=True, label='Tipo Votação') |
||||
|
tipo_sessao = forms.IntegerField(required=True, label='Tipo da Sessão') |
||||
|
ano_materia = forms.IntegerField(required=True, label='Ano Matéria') |
||||
|
numero_materia = forms.IntegerField(required=True, label='Número Matéria') |
||||
|
tipo_materia = forms.IntegerField(required=True, label='Tipo Matéria') |
||||
|
observacao = forms.CharField(required=False, label='Ementa') |
||||
|
error_message = forms.CharField(required=False, label='Matéria') |
||||
|
|
||||
|
|
||||
|
class OradorForm(forms.Form): |
||||
|
numero_ordem = forms.IntegerField( |
||||
|
required=True, |
||||
|
label='Ordem de pronunciamento') |
||||
|
parlamentar = forms.CharField(required=False, max_length=20) |
||||
|
url_discurso = forms.CharField(required=False, max_length=100) |
||||
|
|
||||
|
|
||||
|
class OradorDeleteForm(forms.Form): |
||||
|
pass |
||||
|
|
||||
|
|
||||
|
class MesaForm(forms.Form): |
||||
|
parlamentar = forms.IntegerField(required=True) |
||||
|
cargo = forms.IntegerField(required=True) |
||||
|
|
||||
|
|
||||
|
class ExpedienteForm(forms.Form): |
||||
|
conteudo = forms.CharField(required=False, widget=forms.Textarea) |
||||
|
|
||||
|
|
||||
|
class VotacaoForm(forms.Form): |
||||
|
votos_sim = forms.CharField(required=True, label='Sim') |
||||
|
votos_nao = forms.CharField(required=True, label='Não') |
||||
|
abstencoes = forms.CharField(required=True, label='Abstenções') |
||||
|
total_votos = forms.CharField(required=False, label='total') |
||||
|
|
||||
|
|
||||
|
class VotacaoEditForm(forms.Form): |
||||
|
pass |
||||
|
|
||||
|
|
||||
|
class AcompanharMateriaForm(ModelForm): |
||||
|
|
||||
|
class Meta: |
||||
|
model = AcompanharMateria |
||||
|
fields = ['email'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row([('email', 10)]) |
||||
|
|
||||
|
row1.append( |
||||
|
Column(form_actions(save_label='Cadastrar'), css_class='col-md-2') |
||||
|
) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Acompanhamento de Matéria por e-mail', row1 |
||||
|
) |
||||
|
) |
||||
|
super(AcompanharMateriaForm, self).__init__(*args, **kwargs) |
||||
|
|
||||
|
|
||||
|
class SessaoForm(ModelForm): |
||||
|
|
||||
|
hora_inicio = forms.CharField(label='Horário Inicio', |
||||
|
required=True, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'hora'})) |
||||
|
|
||||
|
hora_fim = forms.CharField(label='Horário Fim', |
||||
|
required=True, |
||||
|
widget=forms.TextInput( |
||||
|
attrs={'class': 'hora'})) |
||||
|
|
||||
|
class Meta: |
||||
|
model = SessaoPlenaria |
||||
|
fields = ['numero', |
||||
|
'tipo', |
||||
|
'legislatura', |
||||
|
'sessao_legislativa', |
||||
|
'data_inicio', |
||||
|
'hora_inicio', |
||||
|
'iniciada', |
||||
|
'data_fim', |
||||
|
'hora_fim', |
||||
|
'finalizada', |
||||
|
'upload_pauta', |
||||
|
'upload_ata', |
||||
|
'url_audio', |
||||
|
'url_video'] |
||||
|
|
||||
|
def __init__(self, *args, **kwargs): |
||||
|
|
||||
|
row1 = sapl.layout.to_row( |
||||
|
[('numero', 3), |
||||
|
('tipo', 3), |
||||
|
('legislatura', 3), |
||||
|
('sessao_legislativa', 3)]) |
||||
|
|
||||
|
row2 = sapl.layout.to_row( |
||||
|
[('data_inicio', 4), |
||||
|
('hora_inicio', 4), |
||||
|
('iniciada', 4)]) |
||||
|
|
||||
|
row3 = sapl.layout.to_row( |
||||
|
[('data_fim', 4), |
||||
|
('hora_fim', 4), |
||||
|
('finalizada', 4)]) |
||||
|
|
||||
|
row4 = sapl.layout.to_row( |
||||
|
[('upload_pauta', 6), |
||||
|
('upload_ata', 6)]) |
||||
|
|
||||
|
row5 = sapl.layout.to_row( |
||||
|
[('url_audio', 6), |
||||
|
('url_video', 6)]) |
||||
|
|
||||
|
self.helper = FormHelper() |
||||
|
self.helper.layout = Layout( |
||||
|
Fieldset( |
||||
|
'Dados Básicos', |
||||
|
row1, |
||||
|
row2, |
||||
|
row3, |
||||
|
row4, |
||||
|
row5, |
||||
|
form_actions() |
||||
|
) |
||||
|
) |
||||
|
super(SessaoForm, self).__init__(*args, **kwargs) |
Loading…
Reference in new issue