Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
4.7 KiB

from django import forms
from django.utils.translation import ugettext_lazy as _
from sapl.crud import build_crud
from vanilla import GenericView
from django import forms
from .models import (CargoMesa, Coligacao, Dependente, Filiacao, Legislatura,
Mandato, NivelInstrucao, Parlamentar, Partido,
SessaoLegislativa, SituacaoMilitar, TipoAfastamento,
TipoDependente)
cargo_mesa_crud = build_crud(
CargoMesa, 'cargo_mesa', [
[_('Cargo na Mesa'),
[('descricao', 10),
('unico', 2)]],
])
legislatura_crud = build_crud(
Legislatura, 'tabelas_auxiliares#legislatura', [
[_('Legislatura'),
[('id', 3),
('data_inicio', 2),
('data_fim', 2),
('data_eleicao', 2)],
[('data_inicio', 4), ('data_fim', 4), ('data_eleicao', 4)]],
])
coligacao_crud = build_crud(
Coligacao, 'coligacao', [
[_('Coligação'),
[('nome', 5),
('legislatura', 5),
('numero_votos', 2)]],
])
partido_crud = build_crud(
Partido, 'partidos', [
[_('Partido Político'),
[('nome', 6),
('sigla', 2),
('data_criacao', 2),
('data_extincao', 2)]],
])
dependente_crud = build_crud(
Dependente, '', [
[_('Dependentes'),
[('nome', 12)],
[('tipo', 4), ('sexo', 4), ('data_nascimento', 4)],
[('cpf', 4), ('rg', 4), ('titulo_eleitor', 4)]],
])
sessao_legislativa_crud = build_crud(
SessaoLegislativa, 'sessao_legislativa', [
[_('Sessão Legislativa'),
[('numero', 2),
('tipo', 2),
('data_inicio', 2),
('data_fim', 2),
('data_inicio_intervalo', 2),
('data_fim_intervalo', 2)]],
])
dependente_crud = build_crud(
Parlamentar, '', [
[_('Cadastro do Parlamentar'),
[('nome_parlamentar', 4), ('login_FIXME', 4), ('ativo', 4)],
[('nome_completo', 12)],
[('nivel_instrucao', 4), ('sexo', 4), ('data_nascimento', 4)],
[('cpf', 4), ('rg', 4), ('titulo_eleitor', 4)],
[('situacao_militar', 6), ('profissao', 6)],
[('endereco_web', 12)],
[('email', 12)],
[('numero_gab_parlamentar', 4), ('telefone', 4), ('fax', 4)],
[('endereco_residencia', 6), ('cep_residencia', 6)],
[('municipio_residencia', 6), ('uf_FIXME', 6)],
[('telefone_residencia', 6), ('fax_residencia', 6)],
[('locais_atuacao', 12)],
[('file_FIXME', 12)],
[('biografia', 12)],
[('observacao_FIXME', 12)],
[('parlamentar_salvar_FIXME', 12)]],
])
filiacao_crud = build_crud(
Filiacao, '', [
[_('Filiações Partidárias '),
[('partido', 4), ('data', 4), ('data_desfiliacao', 4)]],
])
mandato_crud = build_crud(
Mandato, '', [
[_('Mandato'),
[('legislatura', 4), ('coligacao', 4), ('votos_recebidos', 4)],
[('ind_titular_FIXME', 3),
('dat_inicio_mandato_FIXME', 3),
('data_fim_mandato', 3),
('data_expedicao_diploma', 3)],
[('observacao', 12)]],
])
tipo_dependente_crud = build_crud(
TipoDependente, 'tipo_dependente', [
[_('Tipo de Dependente'),
[('descricao', 12)]],
])
nivel_instrucao_crud = build_crud(
NivelInstrucao, 'nivel_instrucao', [
[_('Nível Instrução'),
[('descricao', 12)]],
])
tipo_afastamento_crud = build_crud(
TipoAfastamento, 'tipo_afastamento', [
[_('Tipo de Afastamento'),
[('descricao', 5), ('dispositivo', 5), ('afastamento', 2)]],
])
tipo_militar_crud = build_crud(
SituacaoMilitar, 'tipo_situa_militar', [
[_('Tipo Situação Militar'),
[('descricao', 12)]],
])
class ParlamentaresForm(forms.Form):
periodo = forms.CharField()
class ParlamentaresView(GenericView):
template_name = "parlamentares/parlamentares_list.html"
def get(self, request, *args, **kwargs):
form = ParlamentaresForm()
return self.render_to_response(
{'legislaturas': Legislatura.objects.all(),
'legislatura_id': Legislatura.objects.first().id,
'mandatos': Mandato.objects.all(),
'form': form,
'filiacao': Filiacao.objects.all()})
def post(self, request, *args, **kwargs):
form = ParlamentaresForm(request.POST)
return self.render_to_response(
{'legislaturas': Legislatura.objects.all(),
'legislatura_id': int(form.data['periodo']),
'mandatos': Mandato.objects.all(),
'form': form,
'filiacao': Filiacao.objects.all()})