Browse Source

Track legacy renames with yaml mappings

Instead of the previous comment annotations on field sources
pull/6/head
Marcio Mazza 10 years ago
parent
commit
7ed335176c
  1. 30
      base/models.py
  2. 45
      comissoes/legacy.yaml
  3. 76
      comissoes/models.py
  4. 94
      legacy/scripts/field_renames.py
  5. 18
      lexml/legacy.yaml
  6. 30
      lexml/models.py
  7. 164
      materia/legacy.yaml
  8. 236
      materia/models.py
  9. 48
      norma/legacy.yaml
  10. 78
      norma/models.py
  11. 111
      parlamentares/legacy.yaml
  12. 160
      parlamentares/models.py
  13. 64
      protocoloadm/legacy.yaml
  14. 106
      protocoloadm/models.py
  15. 81
      sessao/legacy.yaml
  16. 100
      sessao/models.py

30
base/models.py

@ -6,21 +6,21 @@ from django.utils.translation import ugettext as _
class CasaLegislativa(models.Model): class CasaLegislativa(models.Model):
# TODO ajustar todos os max_length !!!! # TODO ajustar todos os max_length !!!!
# cod_casa => id (pk) # cod_casa => id (pk)
nome = models.CharField(max_length=100, verbose_name=_(u'Nome')) # nom_casa nome = models.CharField(max_length=100, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=100, verbose_name=_(u'Sigla')) # sgl_casa sigla = models.CharField(max_length=100, verbose_name=_(u'Sigla'))
endereco = models.CharField(max_length=100, verbose_name=_(u'Endereço')) # end_casa endereco = models.CharField(max_length=100, verbose_name=_(u'Endereço'))
cep = models.CharField(max_length=100, verbose_name=_(u'CEP')) # num_cep cep = models.CharField(max_length=100, verbose_name=_(u'CEP'))
municipio = models.CharField(max_length=100, verbose_name=_(u'Município')) # municipio municipio = models.CharField(max_length=100, verbose_name=_(u'Município'))
uf = models.CharField(max_length=100, verbose_name=_(u'UF')) # sgl_uf uf = models.CharField(max_length=100, verbose_name=_(u'UF'))
telefone = models.CharField(max_length=100, verbose_name=_(u'Telefone')) # num_tel telefone = models.CharField(max_length=100, verbose_name=_(u'Telefone'))
fax = models.CharField(max_length=100, verbose_name=_(u'Fax')) # num_fax fax = models.CharField(max_length=100, verbose_name=_(u'Fax'))
cor_fundo = models.CharField(max_length=100, verbose_name=_(u'Cor de fundo')) # cor_fundo cor_fundo = models.CharField(max_length=100, verbose_name=_(u'Cor de fundo'))
cor_borda = models.CharField(max_length=100, verbose_name=_(u'Cor da borda')) # cor_borda cor_borda = models.CharField(max_length=100, verbose_name=_(u'Cor da borda'))
cor_principal = models.CharField(max_length=100, verbose_name=_(u'Cor principal')) # cor_principal cor_principal = models.CharField(max_length=100, verbose_name=_(u'Cor principal'))
logotipo = models.CharField(max_length=100, verbose_name=_(u'Logotipo')) # nom_logo logotipo = models.CharField(max_length=100, verbose_name=_(u'Logotipo'))
endereco_web = models.CharField(max_length=100, verbose_name=_(u'HomePage')) # end_web_casa endereco_web = models.CharField(max_length=100, verbose_name=_(u'HomePage'))
email = models.CharField(max_length=100, verbose_name=_(u'E-mail')) # end_email_casa email = models.CharField(max_length=100, verbose_name=_(u'E-mail'))
informacao_geral = models.CharField(max_length=100, verbose_name=_(u'Informação Geral')) # informacao_geral informacao_geral = models.CharField(max_length=100, verbose_name=_(u'Informação Geral'))
class Meta: class Meta:
verbose_name = _(u'Casa Legislativa') verbose_name = _(u'Casa Legislativa')

45
comissoes/legacy.yaml

@ -0,0 +1,45 @@
TipoComissao:
dispositivo_regimental: des_dispositivo_regimental
natureza: sgl_natureza_comissao
nome: nom_tipo_comissao
sigla: sgl_tipo_comissao
Comissao:
agenda_reuniao: des_agenda_reuniao
apelido_temp: nom_apelido_temp
data_criacao: dat_criacao
data_extincao: dat_extincao
data_fim_comissao: dat_fim_comissao
data_final_prevista_temp: dat_final_prevista_temp
data_instalacao_temp: dat_instalacao_temp
data_prorrogada_temp: dat_prorrogada_temp
email: end_email
endereco_secretaria: end_secretaria
fax_secretaria: num_fax_secretaria
finalidade: txt_finalidade
local_reuniao: loc_reuniao
nome: nom_comissao
secretario: nom_secretario
sigla: sgl_comissao
telefone_reuniao: num_tel_reuniao
telefone_secretaria: num_tel_secretaria
tipo: tip_comissao
unidade_deliberativa: ind_unid_deliberativa
Periodo (PeriodoCompComissao):
data_fim: dat_fim_periodo
data_inicio: dat_inicio_periodo
CargoComissao:
nome: des_cargo
unico: ind_unico
Participacao (ComposicaoComissao):
cargo: cod_cargo
composicao: cod_comissao
data_designacao: dat_designacao
data_desligamento: dat_desligamento
motivo_desligamento: des_motivo_desligamento
observacao: obs_composicao
parlamentar: cod_parlamentar
titular: ind_titular

76
comissoes/models.py

@ -10,10 +10,10 @@ class TipoComissao(models.Model):
PERMANENTE = 'P' PERMANENTE = 'P'
NATUREZA_CHOICES = ((TEMPORARIA, _(u'Temporária')), NATUREZA_CHOICES = ((TEMPORARIA, _(u'Temporária')),
(PERMANENTE, _(u'Permanente'))) (PERMANENTE, _(u'Permanente')))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome')) # nom_tipo_comissao nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
natureza = models.CharField(max_length=1, verbose_name=_(u'Natureza'), choices=NATUREZA_CHOICES) # sgl_natureza_comissao natureza = models.CharField(max_length=1, verbose_name=_(u'Natureza'), choices=NATUREZA_CHOICES)
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_tipo_comissao sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
dispositivo_regimental = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Dispositivo Regimental')) # des_dispositivo_regimental dispositivo_regimental = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Dispositivo Regimental'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Comissão') verbose_name = _(u'Tipo de Comissão')
@ -24,26 +24,26 @@ class TipoComissao(models.Model):
class Comissao(models.Model): class Comissao(models.Model):
tipo = models.ForeignKey(TipoComissao, verbose_name=_(u'Tipo')) # tip_comissao tipo = models.ForeignKey(TipoComissao, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=60, verbose_name=_(u'Nome')) # nom_comissao nome = models.CharField(max_length=60, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_comissao sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
data_criacao = models.DateField(verbose_name=_(u'Data de Criação')) # dat_criacao data_criacao = models.DateField(verbose_name=_(u'Data de Criação'))
data_extincao = models.DateField(blank=True, null=True, verbose_name=_(u'Data de Extinção')) # dat_extincao data_extincao = models.DateField(blank=True, null=True, verbose_name=_(u'Data de Extinção'))
apelido_temp = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Apelido')) # nom_apelido_temp apelido_temp = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Apelido'))
data_instalacao_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Data Instalação')) # dat_instalacao_temp data_instalacao_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Data Instalação'))
data_final_prevista_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Data Prevista Término')) # dat_final_prevista_temp data_final_prevista_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Data Prevista Término'))
data_prorrogada_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Novo Prazo')) # dat_prorrogada_temp data_prorrogada_temp = models.DateField(blank=True, null=True, verbose_name=_(u'Novo Prazo'))
data_fim_comissao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Término')) # dat_fim_comissao data_fim_comissao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Término'))
secretario = models.CharField(max_length=30, blank=True, null=True, verbose_name=_(u'Secretário')) # nom_secretario secretario = models.CharField(max_length=30, blank=True, null=True, verbose_name=_(u'Secretário'))
telefone_reuniao = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Tel. Sala Reunião')) # num_tel_reuniao telefone_reuniao = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Tel. Sala Reunião'))
endereco_secretaria = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço Secretaria')) # end_secretaria endereco_secretaria = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço Secretaria'))
telefone_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Tel. Secretaria')) # num_tel_secretaria telefone_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Tel. Secretaria'))
fax_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Fax Secretaria')) # num_fax_secretaria fax_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Fax Secretaria'))
agenda_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Data/Hora Reunião')) # des_agenda_reuniao agenda_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Data/Hora Reunião'))
local_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Local Reunião')) # loc_reuniao local_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Local Reunião'))
finalidade = models.TextField(blank=True, null=True, verbose_name=_(u'Finalidade')) # txt_finalidade finalidade = models.TextField(blank=True, null=True, verbose_name=_(u'Finalidade'))
email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'E-mail')) # end_email email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'E-mail'))
unidade_deliberativa = models.BooleanField() # ind_unid_deliberativa unidade_deliberativa = models.BooleanField()
class Meta: class Meta:
verbose_name = _(u'Comissão') verbose_name = _(u'Comissão')
@ -54,8 +54,8 @@ class Comissao(models.Model):
class Periodo(models.Model): # PeriodoCompComissao class Periodo(models.Model): # PeriodoCompComissao
data_inicio = models.DateField(verbose_name=_(u'Data Início')) # dat_inicio_periodo data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim')) # dat_fim_periodo data_fim = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim'))
class Meta: class Meta:
verbose_name = _(u'Período de composição de Comissão') verbose_name = _(u'Período de composição de Comissão')
@ -66,8 +66,8 @@ class Periodo(models.Model): # PeriodoCompComissao
class CargoComissao(models.Model): class CargoComissao(models.Model):
nome = models.CharField(max_length=50, verbose_name=_(u'Cargo')) # des_cargo nome = models.CharField(max_length=50, verbose_name=_(u'Cargo'))
unico = models.BooleanField(verbose_name=_(u'Único')) # ind_unico unico = models.BooleanField(verbose_name=_(u'Único'))
class Meta: class Meta:
verbose_name = _(u'Cargo de Comissão') verbose_name = _(u'Cargo de Comissão')
@ -78,8 +78,8 @@ class CargoComissao(models.Model):
class Composicao(models.Model): # IGNORE class Composicao(models.Model): # IGNORE
comissao = models.ForeignKey(Comissao, verbose_name=_(u'Comissão')) # cod_comissao comissao = models.ForeignKey(Comissao, verbose_name=_(u'Comissão'))
periodo = models.ForeignKey(Periodo, verbose_name=_(u'Período')) # cod_periodo_comp periodo = models.ForeignKey(Periodo, verbose_name=_(u'Período'))
class Meta: class Meta:
verbose_name = _(u'Composição de Comissão') verbose_name = _(u'Composição de Comissão')
@ -90,14 +90,14 @@ class Composicao(models.Model): # IGNORE
class Participacao(models.Model): # ComposicaoComissao class Participacao(models.Model): # ComposicaoComissao
composicao = models.ForeignKey(Composicao) # cod_comissao composicao = models.ForeignKey(Composicao)
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
cargo = models.ForeignKey(CargoComissao) # cod_cargo cargo = models.ForeignKey(CargoComissao)
titular = models.BooleanField(verbose_name=_(u'Titular')) # ind_titular titular = models.BooleanField(verbose_name=_(u'Titular'))
data_designacao = models.DateField(verbose_name=_(u'Data Designação')) # dat_designacao data_designacao = models.DateField(verbose_name=_(u'Data Designação'))
data_desligamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desligamento')) # dat_desligamento data_desligamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desligamento'))
motivo_desligamento = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Motivo Desligamento')) # des_motivo_desligamento motivo_desligamento = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Motivo Desligamento'))
observacao = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Observação')) # obs_composicao observacao = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Observação'))
class Meta: class Meta:
verbose_name = _(u'Participação em Comissão') verbose_name = _(u'Participação em Comissão')

94
legacy/scripts/field_renames.py

@ -1,75 +1,39 @@
import re import re
from collections import defaultdict, OrderedDict
from difflib import SequenceMatcher
from inspect import getsourcelines
from migration_base import appconfs, legacy_app import yaml
import pkg_resources
from migration_base import appconfs
def is_unannotated_field_line(line):
return not line.strip().startswith('#') and ' = ' in line and ' # ' not in line
MODEL_RENAME_PATTERN = re.compile('(.+) \((.+)\)')
def is_field_line(line):
return not line.strip().startswith('#') and ' = ' in line and ' # ' in line
field_renames = {}
def get_field(line):
return line.split('=')[0].strip()
def print_commented_source(model):
new_fields = [f.name for f in model._meta.fields]
legacy_fields = [f.name for f in legacy_app.get_model(model.__name__)._meta.fields if f.name != 'ind_excluido']
new_to_old = dict(zip(new_fields, legacy_fields))
lines = getsourcelines(model)[0]
cols = max(map(len, [line for line in lines if is_field_line(line)]))
print '\n'
for line in lines:
if not is_unannotated_field_line(line):
print line.rstrip()
else:
print '%s # %s' % (line.rstrip().ljust(cols), new_to_old[get_field(line)])
return new_to_old
field_renames = OrderedDict()
model_renames = {} model_renames = {}
for app in appconfs: for app in appconfs:
for model in app.models.values(): app_rename_data = yaml.load(pkg_resources.resource_string(app.module.__name__, 'legacy.yaml'))
new_to_old = OrderedDict() for model_name, renames in app_rename_data.items():
lines = getsourcelines(model)[0] match = MODEL_RENAME_PATTERN.match(model_name)
class_line = lines[0].strip()
match = re.match('class (.+)\(models\.Model\): *\# *(.*)', class_line)
if match: if match:
model_name, rename = match.groups() model_name, old_name = match.groups()
assert model_name == model.__name__ else:
model_renames[model] = rename old_name = None
model = getattr(app.models_module, model_name)
for line in lines: if old_name:
if is_field_line(line): model_renames[model] = old_name
new = get_field(line) field_renames[model] = renames
old = line.split('#')[-1].strip()
new_to_old[new] = old # collect renames from parent classes
field_renames[model] = new_to_old for model, renames in field_renames.items():
if any(parent in field_renames for parent in model.__mro__[1:]):
renames = {}
def check_similarity(): for parent in reversed(model.__mro__):
if parent in field_renames:
def similar(a, b): renames.update(field_renames[parent])
return SequenceMatcher(None, a, b).ratio() field_renames[model] = renames
different_pairs = defaultdict(list) # remove abstract classes
for model, new_to_old in field_renames.items(): for model in field_renames:
for new, old in new_to_old.items(): if model._meta.abstract:
if similar(new, old) < 0.7: del field_renames[model]
different_pairs[model].append((new, old))
if different_pairs:
print '\n\n######## Different Pairs #########'
for model, pairs in different_pairs.items():
print '%s (%s)' % (model.__name__, app.name)
for a, b in pairs:
print ' ', a, b
return different_pairs

18
lexml/legacy.yaml

@ -0,0 +1,18 @@
LexmlProvedor (LexmlRegistroProvedor):
email_responsavel: adm_email
id_provedor: id_provedor
id_responsavel: id_responsavel
nome: nom_provedor
nome_responsavel: nom_responsavel
sigla: sgl_provedor
tipo: tipo
xml: xml_provedor
LexmlPublicador (LexmlRegistroPublicador):
email_responsavel: adm_email
id_publicador: id_publicador
id_responsavel: id_responsavel
nome: nom_publicador
nome_responsavel: nom_responsavel
sigla: sigla
tipo: tipo

30
lexml/models.py

@ -4,14 +4,14 @@ from django.utils.translation import ugettext as _
class LexmlProvedor(models.Model): # LexmlRegistroProvedor class LexmlProvedor(models.Model): # LexmlRegistroProvedor
id_provedor = models.IntegerField(verbose_name=_(u'Id do provedor')) # id_provedor id_provedor = models.IntegerField(verbose_name=_(u'Id do provedor'))
nome = models.CharField(max_length=255, verbose_name=_(u'Nome do provedor')) # nom_provedor nome = models.CharField(max_length=255, verbose_name=_(u'Nome do provedor'))
sigla = models.CharField(max_length=15) # sgl_provedor sigla = models.CharField(max_length=15)
email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'E-mail do responsável')) # adm_email email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'E-mail do responsável'))
nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Nome do responsável')) # nom_responsavel nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Nome do responsável'))
tipo = models.CharField(max_length=50) # tipo tipo = models.CharField(max_length=50)
id_responsavel = models.IntegerField(blank=True, null=True, verbose_name=_(u'Id do responsável')) # id_responsavel id_responsavel = models.IntegerField(blank=True, null=True, verbose_name=_(u'Id do responsável'))
xml = models.TextField(blank=True, null=True, verbose_name=_(u'XML fornecido pela equipe do LexML:')) # xml_provedor xml = models.TextField(blank=True, null=True, verbose_name=_(u'XML fornecido pela equipe do LexML:'))
class Meta: class Meta:
verbose_name = _(u'Provedor Lexml') verbose_name = _(u'Provedor Lexml')
@ -19,13 +19,13 @@ class LexmlProvedor(models.Model): # LexmlRegistroProvedor
class LexmlPublicador(models.Model): class LexmlPublicador(models.Model):
id_publicador = models.IntegerField(verbose_name=_(u'Id do publicador')) # id_publicador id_publicador = models.IntegerField(verbose_name=_(u'Id do publicador'))
nome = models.CharField(max_length=255, verbose_name=_(u'Nome do publicador')) # nom_publicador nome = models.CharField(max_length=255, verbose_name=_(u'Nome do publicador'))
email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'E-mail do responsável')) # adm_email email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'E-mail do responsável'))
sigla = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Sigla do Publicador')) # sigla sigla = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Sigla do Publicador'))
nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Nome do responsável')) # nom_responsavel nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Nome do responsável'))
tipo = models.CharField(max_length=50) # tipo tipo = models.CharField(max_length=50)
id_responsavel = models.IntegerField(verbose_name=_(u'Id do responsável')) # id_responsavel id_responsavel = models.IntegerField(verbose_name=_(u'Id do responsável'))
class Meta: class Meta:
verbose_name = _(u'Publicador Lexml') verbose_name = _(u'Publicador Lexml')

164
materia/legacy.yaml

@ -0,0 +1,164 @@
TipoMateriaLegislativa:
descricao: des_tipo_materia
num_automatica: ind_num_automatica
quorum_minimo_votacao: quorum_minimo_votacao
sigla: sgl_tipo_materia
RegimeTramitacao:
descricao: des_regime_tramitacao
Origem:
nome: nom_origem
sigla: sgl_origem
MateriaLegislativa:
ano_ident_basica: ano_ident_basica
ano_origem_externa: ano_origem_externa
apelido: nom_apelido
complementar: ind_complementar
data_apresentacao: dat_apresentacao
data_fim_prazo: dat_fim_prazo
data_origem_externa: dat_origem_externa
data_publicacao: dat_publicacao
dias_prazo: num_dias_prazo
em_tramitacao: ind_tramitacao
ementa: txt_ementa
indexacao: txt_indexacao
local_origem_externa: cod_local_origem_externa
numero_ident_basica: num_ident_basica
numero_origem_externa: num_origem_externa
numero_protocolo: num_protocolo
objeto: des_objeto
observacao: txt_observacao
polemica: ind_polemica
regime_tramitacao: cod_regime_tramitacao
resultado: txt_resultado
tipo_apresentacao: tip_apresentacao
tipo_id_basica: tip_id_basica
tipo_origem_externa: tip_origem_externa
AcompanhamentoMateria (AcompMateria):
email: end_email
hash: txt_hash
materia: cod_materia
Anexada:
data_anexacao: dat_anexacao
data_desanexacao: dat_desanexacao
materia_anexada: cod_materia_anexada
materia_principal: cod_materia_principal
AssuntoMateria:
assunto: des_assunto
dispositivo: des_dispositivo
TipoAutor:
descricao: des_tipo_autor
Autor:
cargo: des_cargo
comissao: cod_comissao
nome: nom_autor
parlamentar: cod_parlamentar
partido: cod_partido
tipo: tip_autor
username: col_username
Autoria:
autor: cod_autor
materia: cod_materia
primeiro_autor: ind_primeiro_autor
DespachoInicial:
comissao: cod_comissao
materia: cod_materia
numero_ordem: num_ordem
TipoDocumento:
descricao: des_tipo_documento
DocumentoAcessorio:
autor: nom_autor_documento
data: dat_documento
ementa: txt_ementa
indexacao: txt_indexacao
materia: cod_materia
nome: nom_documento
tipo: tip_documento
MateriaAssunto:
assunto: cod_assunto
materia: cod_materia
Numeracao:
ano_materia: ano_materia
data_materia: dat_materia
materia: cod_materia
numero_materia: num_materia
numero_ordem: num_ordem
tipo_materia: tip_materia
Orgao:
endereco: end_orgao
nome: nom_orgao
sigla: sgl_orgao
telefone: num_tel_orgao
unidade_deliberativa: ind_unid_deliberativa
TipoFimRelatoria:
descricao: des_fim_relatoria
Relatoria:
comissao: cod_comissao
data_designacao_relator: dat_desig_relator
data_destituicao_relator: dat_destit_relator
materia: cod_materia
parlamentar: cod_parlamentar
tipo_fim_relatoria: tip_fim_relatoria
Parecer:
materia: cod_materia
parecer: txt_parecer
relatoria: cod_relatoria
tipo_apresentacao: tip_apresentacao
tipo_conclusao: tip_conclusao
TipoProposicao:
descricao: des_tipo_proposicao
materia_ou_documento: ind_mat_ou_doc
modelo: nom_modelo
tipo_materia: tip_mat_ou_doc
Proposicao:
autor: cod_autor
data_devolucao: dat_devolucao
data_envio: dat_envio
data_recebimento: dat_recebimento
descricao: txt_descricao
justificativa_devolucao: txt_justif_devolucao
materia: cod_mat_ou_doc
numero_proposicao: num_proposicao
tipo: tip_proposicao
StatusTramitacao:
descricao: des_status
indicador: ind_fim_tramitacao
sigla: sgl_status
UnidadeTramitacao:
comissao: cod_comissao
orgao: cod_orgao
parlamentar: cod_parlamentar
Tramitacao:
data_encaminhamento: dat_encaminha
data_fim_prazo: dat_fim_prazo
data_tramitacao: dat_tramitacao
materia: cod_materia
status: cod_status
texto: txt_tramitacao
turno: sgl_turno
ultima: ind_ult_tramitacao
unidade_tramitacao_destino: cod_unid_tram_dest
unidade_tramitacao_local: cod_unid_tram_local
urgente: ind_urgencia

236
materia/models.py

@ -7,12 +7,12 @@ from parlamentares.models import Parlamentar, Partido
class TipoMateriaLegislativa(models.Model): class TipoMateriaLegislativa(models.Model):
sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla')) # sgl_tipo_materia sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição ')) # des_tipo_materia descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição '))
# XXX o que é isso ? # XXX o que é isso ?
num_automatica = models.BooleanField() # ind_num_automatica num_automatica = models.BooleanField()
# XXX o que é isso ? # XXX o que é isso ?
quorum_minimo_votacao = models.IntegerField() # quorum_minimo_votacao quorum_minimo_votacao = models.IntegerField()
class Meta: class Meta:
verbose_name = _(u'Tipo de Matéria Legislativa') verbose_name = _(u'Tipo de Matéria Legislativa')
@ -20,7 +20,7 @@ class TipoMateriaLegislativa(models.Model):
class RegimeTramitacao(models.Model): class RegimeTramitacao(models.Model):
descricao = models.CharField(max_length=50) # des_regime_tramitacao descricao = models.CharField(max_length=50)
class Meta: class Meta:
verbose_name = _(u'Regime Tramitação') verbose_name = _(u'Regime Tramitação')
@ -28,8 +28,8 @@ class RegimeTramitacao(models.Model):
class Origem(models.Model): class Origem(models.Model):
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_origem sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome')) # nom_origem nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
class Meta: class Meta:
verbose_name = _(u'Origem') verbose_name = _(u'Origem')
@ -41,30 +41,30 @@ class MateriaLegislativa(models.Model):
TIPO_APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')), TIPO_APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')),
(ESCRITA, _(u'Escrita'))) (ESCRITA, _(u'Escrita')))
tipo_id_basica = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo')) # tip_id_basica tipo_id_basica = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo'))
numero_protocolo = models.IntegerField(blank=True, null=True,verbose_name=_(u'Núm. Protocolo')) # num_protocolo numero_protocolo = models.IntegerField(blank=True, null=True,verbose_name=_(u'Núm. Protocolo'))
numero_ident_basica = models.IntegerField(verbose_name=_(u'Número')) # num_ident_basica numero_ident_basica = models.IntegerField(verbose_name=_(u'Número'))
ano_ident_basica = models.SmallIntegerField(verbose_name=_(u'Ano')) # ano_ident_basica ano_ident_basica = models.SmallIntegerField(verbose_name=_(u'Ano'))
data_apresentacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Apresentação')) # dat_apresentacao data_apresentacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Apresentação'))
tipo_apresentacao = models.CharField(max_length=1, blank=True, null=True, verbose_name=_(u'Tipo de Apresentação'), choices=TIPO_APRESENTACAO_CHOICES) # tip_apresentacao tipo_apresentacao = models.CharField(max_length=1, blank=True, null=True, verbose_name=_(u'Tipo de Apresentação'), choices=TIPO_APRESENTACAO_CHOICES)
regime_tramitacao = models.ForeignKey(RegimeTramitacao, verbose_name=_(u'Regime Tramitação')) # cod_regime_tramitacao regime_tramitacao = models.ForeignKey(RegimeTramitacao, verbose_name=_(u'Regime Tramitação'))
data_publicacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Publicação')) # dat_publicacao data_publicacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Publicação'))
tipo_origem_externa = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, related_name='+', verbose_name=_(u'Tipo')) # tip_origem_externa tipo_origem_externa = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, related_name='+', verbose_name=_(u'Tipo'))
numero_origem_externa = models.CharField(max_length=5, blank=True, null=True, verbose_name=_(u'Número')) # num_origem_externa numero_origem_externa = models.CharField(max_length=5, blank=True, null=True, verbose_name=_(u'Número'))
ano_origem_externa = models.SmallIntegerField(blank=True, null=True, verbose_name=_(u'Ano')) # ano_origem_externa ano_origem_externa = models.SmallIntegerField(blank=True, null=True, verbose_name=_(u'Ano'))
data_origem_externa = models.DateField(blank=True, null=True, verbose_name=_(u'Data')) # dat_origem_externa data_origem_externa = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
local_origem_externa = models.ForeignKey(Origem, blank=True, null=True, verbose_name=_(u'Local Origem')) # cod_local_origem_externa local_origem_externa = models.ForeignKey(Origem, blank=True, null=True, verbose_name=_(u'Local Origem'))
apelido = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Apelido')) # nom_apelido apelido = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Apelido'))
dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Dias Prazo')) # num_dias_prazo dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Dias Prazo'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo')) # dat_fim_prazo data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo'))
em_tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?')) # ind_tramitacao em_tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?'))
polemica = models.NullBooleanField(blank=True, verbose_name=_(u'Matéria Polêmica?')) # ind_polemica polemica = models.NullBooleanField(blank=True, verbose_name=_(u'Matéria Polêmica?'))
objeto = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Objeto')) # des_objeto objeto = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Objeto'))
complementar = models.NullBooleanField(blank=True, verbose_name=_(u'É Complementar?')) # ind_complementar complementar = models.NullBooleanField(blank=True, verbose_name=_(u'É Complementar?'))
ementa = models.TextField(verbose_name=_(u'Ementa')) # txt_ementa ementa = models.TextField(verbose_name=_(u'Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação')) # txt_indexacao indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
resultado = models.TextField(blank=True, null=True) # txt_resultado resultado = models.TextField(blank=True, null=True)
# XXX novo # XXX novo
anexadas = models.ManyToManyField('self', through='Anexada', anexadas = models.ManyToManyField('self', through='Anexada',
symmetrical=False, related_name='anexo_de', symmetrical=False, related_name='anexo_de',
@ -76,9 +76,9 @@ class MateriaLegislativa(models.Model):
class AcompanhamentoMateria(models.Model): # AcompMateria class AcompanhamentoMateria(models.Model): # AcompMateria
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
email = models.CharField(max_length=100, verbose_name=_(u'Endereço de E-mail')) # end_email email = models.CharField(max_length=100, verbose_name=_(u'Endereço de E-mail'))
hash = models.CharField(max_length=8) # txt_hash hash = models.CharField(max_length=8)
class Meta: class Meta:
verbose_name = _(u'Acompanhamento de Matéria') verbose_name = _(u'Acompanhamento de Matéria')
@ -86,10 +86,10 @@ class AcompanhamentoMateria(models.Model): # AcompMateria
class Anexada(models.Model): class Anexada(models.Model):
materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+') # cod_materia_principal materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+')
materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+') # cod_materia_anexada materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+')
data_anexacao = models.DateField(verbose_name=_(u'Data Anexação')) # dat_anexacao data_anexacao = models.DateField(verbose_name=_(u'Data Anexação'))
data_desanexacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desanexação')) # dat_desanexacao data_desanexacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desanexação'))
class Meta: class Meta:
verbose_name = _(u'Anexada') verbose_name = _(u'Anexada')
@ -97,8 +97,8 @@ class Anexada(models.Model):
class AssuntoMateria(models.Model): class AssuntoMateria(models.Model):
assunto = models.CharField(max_length=200) # des_assunto assunto = models.CharField(max_length=200)
dispositivo = models.CharField(max_length=50) # des_dispositivo dispositivo = models.CharField(max_length=50)
class Meta: class Meta:
verbose_name = _(u'Assunto de Matéria') verbose_name = _(u'Assunto de Matéria')
@ -106,7 +106,7 @@ class AssuntoMateria(models.Model):
class TipoAutor(models.Model): class TipoAutor(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição')) # des_tipo_autor descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Autor') verbose_name = _(u'Tipo de Autor')
@ -114,13 +114,13 @@ class TipoAutor(models.Model):
class Autor(models.Model): class Autor(models.Model):
partido = models.ForeignKey(Partido, blank=True, null=True) # cod_partido partido = models.ForeignKey(Partido, blank=True, null=True)
comissao = models.ForeignKey(Comissao, blank=True, null=True) # cod_comissao comissao = models.ForeignKey(Comissao, blank=True, null=True)
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True)
tipo = models.ForeignKey(TipoAutor, verbose_name=_(u'Tipo')) # tip_autor tipo = models.ForeignKey(TipoAutor, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor')) # nom_autor nome = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor'))
cargo = models.CharField(max_length=50, blank=True, null=True) # des_cargo cargo = models.CharField(max_length=50, blank=True, null=True)
username = models.CharField(max_length=50, blank=True, null=True) # col_username username = models.CharField(max_length=50, blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Autor') verbose_name = _(u'Autor')
@ -128,9 +128,9 @@ class Autor(models.Model):
class Autoria(models.Model): class Autoria(models.Model):
autor = models.ForeignKey(Autor) # cod_autor autor = models.ForeignKey(Autor)
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
primeiro_autor = models.BooleanField(verbose_name=_(u'Primeiro Autor')) # ind_primeiro_autor primeiro_autor = models.BooleanField(verbose_name=_(u'Primeiro Autor'))
class Meta: class Meta:
verbose_name = _(u'Autoria') verbose_name = _(u'Autoria')
@ -139,9 +139,9 @@ class Autoria(models.Model):
class DespachoInicial(models.Model): class DespachoInicial(models.Model):
# TODO M2M? # TODO M2M?
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
numero_ordem = models.IntegerField() # num_ordem numero_ordem = models.IntegerField()
comissao = models.ForeignKey(Comissao) # cod_comissao comissao = models.ForeignKey(Comissao)
class Meta: class Meta:
verbose_name = _(u'Despacho Inicial') verbose_name = _(u'Despacho Inicial')
@ -149,7 +149,7 @@ class DespachoInicial(models.Model):
class TipoDocumento(models.Model): class TipoDocumento(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Documento')) # des_tipo_documento descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Documento'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Documento') verbose_name = _(u'Tipo de Documento')
@ -157,13 +157,13 @@ class TipoDocumento(models.Model):
class DocumentoAcessorio(models.Model): class DocumentoAcessorio(models.Model):
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
tipo = models.ForeignKey(TipoDocumento, verbose_name=_(u'Tipo')) # tip_documento tipo = models.ForeignKey(TipoDocumento, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=30, verbose_name=_(u'Descrição')) # nom_documento nome = models.CharField(max_length=30, verbose_name=_(u'Descrição'))
data = models.DateField(blank=True, null=True, verbose_name=_(u'Data')) # dat_documento data = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor')) # nom_autor_documento autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor'))
ementa = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa')) # txt_ementa ementa = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa'))
indexacao = models.TextField(blank=True, null=True) # txt_indexacao indexacao = models.TextField(blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Documento Acessório') verbose_name = _(u'Documento Acessório')
@ -172,8 +172,8 @@ class DocumentoAcessorio(models.Model):
class MateriaAssunto(models.Model): class MateriaAssunto(models.Model):
# TODO M2M ?? # TODO M2M ??
assunto = models.ForeignKey(AssuntoMateria) # cod_assunto assunto = models.ForeignKey(AssuntoMateria)
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
class Meta: class Meta:
verbose_name = _(u'Relação Matéria - Assunto') verbose_name = _(u'Relação Matéria - Assunto')
@ -181,12 +181,12 @@ class MateriaAssunto(models.Model):
class Numeracao(models.Model): class Numeracao(models.Model):
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
numero_ordem = models.IntegerField() # num_ordem numero_ordem = models.IntegerField()
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo de Matéria')) # tip_materia tipo_materia = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo de Matéria'))
numero_materia = models.CharField(max_length=5, verbose_name=_(u'Número')) # num_materia numero_materia = models.CharField(max_length=5, verbose_name=_(u'Número'))
ano_materia = models.SmallIntegerField(verbose_name=_(u'Ano')) # ano_materia ano_materia = models.SmallIntegerField(verbose_name=_(u'Ano'))
data_materia = models.DateField(blank=True, null=True, verbose_name=_(u'Data')) # dat_materia data_materia = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
class Meta: class Meta:
verbose_name = _(u'Numeração') verbose_name = _(u'Numeração')
@ -194,11 +194,11 @@ class Numeracao(models.Model):
class Orgao(models.Model): class Orgao(models.Model):
nome = models.CharField(max_length=60, verbose_name=_(u'Nome')) # nom_orgao nome = models.CharField(max_length=60, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_orgao sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
unidade_deliberativa = models.BooleanField(verbose_name=_(u'Unidade Deliberativa')) # ind_unid_deliberativa unidade_deliberativa = models.BooleanField(verbose_name=_(u'Unidade Deliberativa'))
endereco = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço')) # end_orgao endereco = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço'))
telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone')) # num_tel_orgao telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone'))
class Meta: class Meta:
verbose_name = _(u'Órgão') verbose_name = _(u'Órgão')
@ -206,7 +206,7 @@ class Orgao(models.Model):
class TipoFimRelatoria(models.Model): class TipoFimRelatoria(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Fim Relatoria')) # des_fim_relatoria descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Fim Relatoria'))
class Meta: class Meta:
verbose_name = _(u'Tipo Fim de Relatoria') verbose_name = _(u'Tipo Fim de Relatoria')
@ -214,12 +214,12 @@ class TipoFimRelatoria(models.Model):
class Relatoria(models.Model): class Relatoria(models.Model):
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar')) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar'))
tipo_fim_relatoria = models.ForeignKey(TipoFimRelatoria, blank=True, null=True, verbose_name=_(u'Motivo Fim Relatoria')) # tip_fim_relatoria tipo_fim_relatoria = models.ForeignKey(TipoFimRelatoria, blank=True, null=True, verbose_name=_(u'Motivo Fim Relatoria'))
comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_(u'Localização Atual')) # cod_comissao comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_(u'Localização Atual'))
data_designacao_relator = models.DateField(verbose_name=_(u'Data Designação')) # dat_desig_relator data_designacao_relator = models.DateField(verbose_name=_(u'Data Designação'))
data_destituicao_relator = models.DateField(blank=True, null=True, verbose_name=_(u'Data Destituição')) # dat_destit_relator data_destituicao_relator = models.DateField(blank=True, null=True, verbose_name=_(u'Data Destituição'))
class Meta: class Meta:
verbose_name = _(u'Relatoria') verbose_name = _(u'Relatoria')
@ -232,11 +232,11 @@ class Parecer(models.Model):
APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')), APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')),
(ESCRITA, _(u'Escrita'))) (ESCRITA, _(u'Escrita')))
relatoria = models.ForeignKey(Relatoria) # cod_relatoria relatoria = models.ForeignKey(Relatoria)
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
tipo_conclusao = models.CharField(max_length=3, blank=True, null=True) # tip_conclusao tipo_conclusao = models.CharField(max_length=3, blank=True, null=True)
tipo_apresentacao = models.CharField(max_length=1, choices=APRESENTACAO_CHOICES) # tip_apresentacao tipo_apresentacao = models.CharField(max_length=1, choices=APRESENTACAO_CHOICES)
parecer = models.TextField(blank=True, null=True) # txt_parecer parecer = models.TextField(blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Parecer') verbose_name = _(u'Parecer')
@ -249,12 +249,12 @@ class TipoProposicao(models.Model):
MAT_OU_DOC_CHOICES = ((MATERIA, _(u'Matéria')), MAT_OU_DOC_CHOICES = ((MATERIA, _(u'Matéria')),
(DOCUMENTO, _(u'Documento'))) (DOCUMENTO, _(u'Documento')))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição')) # des_tipo_proposicao descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
materia_ou_documento = models.CharField(max_length=1, verbose_name=_(u'Gera'), choices=MAT_OU_DOC_CHOICES) # ind_mat_ou_doc materia_ou_documento = models.CharField(max_length=1, verbose_name=_(u'Gera'), choices=MAT_OU_DOC_CHOICES)
modelo = models.CharField(max_length=50, verbose_name=_(u'Modelo XML')) # nom_modelo modelo = models.CharField(max_length=50, verbose_name=_(u'Modelo XML'))
# mutually exclusive (depend on materia_ou_documento) # mutually exclusive (depend on materia_ou_documento)
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_(u'Tipo Matéria')) # tip_mat_ou_doc tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_(u'Tipo Matéria'))
tipo_documento = models.ForeignKey(TipoDocumento, blank=True, null=True, verbose_name=_(u'Tipo Documento')) tipo_documento = models.ForeignKey(TipoDocumento, blank=True, null=True, verbose_name=_(u'Tipo Documento'))
class Meta: class Meta:
@ -263,19 +263,19 @@ class TipoProposicao(models.Model):
class Proposicao(models.Model): class Proposicao(models.Model):
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) # cod_materia materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True)
autor = models.ForeignKey(Autor) # cod_autor autor = models.ForeignKey(Autor)
tipo = models.ForeignKey(TipoProposicao, verbose_name=_(u'Tipo')) # tip_proposicao tipo = models.ForeignKey(TipoProposicao, verbose_name=_(u'Tipo'))
# XXX data_envio was not null, but actual data said otherwise!!! # XXX data_envio was not null, but actual data said otherwise!!!
data_envio = models.DateTimeField(null=True, verbose_name=_(u'Data de Envio')) # dat_envio data_envio = models.DateTimeField(null=True, verbose_name=_(u'Data de Envio'))
data_recebimento = models.DateTimeField(blank=True, null=True, verbose_name=_(u'Data de Incorporação')) # dat_recebimento data_recebimento = models.DateTimeField(blank=True, null=True, verbose_name=_(u'Data de Incorporação'))
descricao = models.CharField(max_length=100, verbose_name=_(u'Descrição')) # txt_descricao descricao = models.CharField(max_length=100, verbose_name=_(u'Descrição'))
data_devolucao = models.DateTimeField(blank=True, null=True, verbose_name=_(u'Data de devolução')) # dat_devolucao data_devolucao = models.DateTimeField(blank=True, null=True, verbose_name=_(u'Data de devolução'))
justificativa_devolucao = models.CharField(max_length=200, blank=True, null=True, verbose_name=_(u'Justificativa da Devolução')) # txt_justif_devolucao justificativa_devolucao = models.CharField(max_length=200, blank=True, null=True, verbose_name=_(u'Justificativa da Devolução'))
numero_proposicao = models.IntegerField(blank=True, null=True, verbose_name=_(u'')) # num_proposicao numero_proposicao = models.IntegerField(blank=True, null=True, verbose_name=_(u''))
# mutually exclusive (depend on tipo.materia_ou_documento) # mutually exclusive (depend on tipo.materia_ou_documento)
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True, verbose_name=_(u'Matéria')) # cod_mat_ou_doc materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True, verbose_name=_(u'Matéria'))
documento = models.ForeignKey(DocumentoAcessorio, blank=True, null=True, verbose_name=_(u'Documento')) documento = models.ForeignKey(DocumentoAcessorio, blank=True, null=True, verbose_name=_(u'Documento'))
class Meta: class Meta:
@ -289,10 +289,10 @@ class StatusTramitacao(models.Model):
INDICADOR_CHOICES = ((FIM, _(u'Fim')), INDICADOR_CHOICES = ((FIM, _(u'Fim')),
(RETORNO, _(u'Retorno'))) (RETORNO, _(u'Retorno')))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_status sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição')) # des_status descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição'))
# TODO make specific migration considering both ind_fim_tramitacao, ind_retorno_tramitacao # TODO make specific migration considering both ind_fim_tramitacao, ind_retorno_tramitacao
indicador = models.CharField(max_length=1, verbose_name=_(u'Indicador da Tramitação'), choices=INDICADOR_CHOICES) # ind_fim_tramitacao indicador = models.CharField(max_length=1, verbose_name=_(u'Indicador da Tramitação'), choices=INDICADOR_CHOICES)
class Meta: class Meta:
verbose_name = _(u'Status de Tramitação') verbose_name = _(u'Status de Tramitação')
@ -300,9 +300,9 @@ class StatusTramitacao(models.Model):
class UnidadeTramitacao(models.Model): class UnidadeTramitacao(models.Model):
comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_(u'Comissão')) # cod_comissao comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_(u'Comissão'))
orgao = models.ForeignKey(Orgao, blank=True, null=True, verbose_name=_(u'Órgão')) # cod_orgao orgao = models.ForeignKey(Orgao, blank=True, null=True, verbose_name=_(u'Órgão'))
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True, verbose_name=_(u'Parlamentar')) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True, verbose_name=_(u'Parlamentar'))
class Meta: class Meta:
verbose_name = _(u'Unidade de Tramitação') verbose_name = _(u'Unidade de Tramitação')
@ -327,17 +327,17 @@ class Tramitacao(models.Model):
(PRIMEIRA_VOTACAO, _(u'1ª Votação')), (PRIMEIRA_VOTACAO, _(u'1ª Votação')),
(SEGUNDA_TERCEIRA_VOTACAO, _(u'2ª e 3ª Votação'))) (SEGUNDA_TERCEIRA_VOTACAO, _(u'2ª e 3ª Votação')))
status = models.ForeignKey(StatusTramitacao, blank=True, null=True, verbose_name=_(u'Status')) # cod_status status = models.ForeignKey(StatusTramitacao, blank=True, null=True, verbose_name=_(u'Status'))
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Tramitação')) # dat_tramitacao data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Tramitação'))
unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Local')) # cod_unid_tram_local unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Local'))
data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Encaminhamento')) # dat_encaminha data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Encaminhamento'))
unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Destino')) # cod_unid_tram_dest unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Destino'))
ultima = models.BooleanField() # ind_ult_tramitacao ultima = models.BooleanField()
urgente = models.BooleanField(verbose_name=_(u'Urgente ?')) # ind_urgencia urgente = models.BooleanField(verbose_name=_(u'Urgente ?'))
turno = models.CharField(max_length=1, blank=True, null=True, verbose_name=_(u'Turno'), choices=TURNO_CHOICES) # sgl_turno turno = models.CharField(max_length=1, blank=True, null=True, verbose_name=_(u'Turno'), choices=TURNO_CHOICES)
texto = models.TextField(blank=True, null=True, verbose_name=_(u'Texto da Ação')) # txt_tramitacao texto = models.TextField(blank=True, null=True, verbose_name=_(u'Texto da Ação'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo')) # dat_fim_prazo data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo'))
class Meta: class Meta:
verbose_name = _(u'Tramitação') verbose_name = _(u'Tramitação')

48
norma/legacy.yaml

@ -0,0 +1,48 @@
AssuntoNorma:
assunto: des_assunto
descricao: des_estendida
TipoNormaJuridica:
descricao: des_tipo_norma
equivalente_lexml: voc_lexml
sigla: sgl_tipo_norma
NormaJuridica:
ano: ano_norma
assunto: cod_assunto
complemento: ind_complemento
data: dat_norma
data_publicacao: dat_publicacao
data_vigencia: dat_vigencia
ementa: txt_ementa
esfera_federacao: tip_esfera_federacao
indexacao: txt_indexacao
materia: cod_materia
numero: num_norma
observacao: txt_observacao
pagina_fim_publicacao: num_pag_fim_publ
pagina_inicio_publicacao: num_pag_inicio_publ
timestamp: timestamp
tipo: tip_norma
veiculo_publicacao: des_veiculo_publicacao
LegislacaoCitada:
alinea: des_alinea
artigo: des_artigo
capitulo: des_capitulo
disposicoes: des_disposicoes
inciso: des_inciso
item: des_item
livro: des_livro
materia: cod_materia
norma: cod_norma
paragrafo: des_paragrafo
parte: des_parte
secao: des_secao
subsecao: des_subsecao
titulo: des_titulo
VinculoNormaJuridica:
norma_referente: cod_norma_referente
norma_referida: cod_norma_referida
tipo_vinculo: tip_vinculo

78
norma/models.py

@ -6,8 +6,8 @@ from materia.models import MateriaLegislativa
class AssuntoNorma(models.Model): class AssuntoNorma(models.Model):
assunto = models.CharField(max_length=50, verbose_name=_(u'Assunto')) # des_assunto assunto = models.CharField(max_length=50, verbose_name=_(u'Assunto'))
descricao = models.CharField(max_length=250, blank=True, null=True, verbose_name=_(u'Descrição')) # des_estendida descricao = models.CharField(max_length=250, blank=True, null=True, verbose_name=_(u'Descrição'))
class Meta: class Meta:
verbose_name = _(u'Assunto de Norma') verbose_name = _(u'Assunto de Norma')
@ -31,9 +31,9 @@ class TipoNormaJuridica(models.Model):
'resolucao', 'resolucao',
'regimento.interno', 'regimento.interno',
)) ))
equivalente_lexml = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Equivalente LexML'), choices=EQUIVALENTE_LEXML_CHOICES) # voc_lexml equivalente_lexml = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Equivalente LexML'), choices=EQUIVALENTE_LEXML_CHOICES)
sigla = models.CharField(max_length=3, verbose_name=_(u'Sigla')) # sgl_tipo_norma sigla = models.CharField(max_length=3, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição')) # des_tipo_norma descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Norma Jurídica') verbose_name = _(u'Tipo de Norma Jurídica')
@ -48,23 +48,23 @@ class NormaJuridica(models.Model):
(ESTADUAL, _(u'Estadual')), (ESTADUAL, _(u'Estadual')),
(FEDERAL, _(u'Federal'))) (FEDERAL, _(u'Federal')))
tipo = models.ForeignKey(TipoNormaJuridica, verbose_name=_(u'Tipo')) # tip_norma tipo = models.ForeignKey(TipoNormaJuridica, verbose_name=_(u'Tipo'))
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) # cod_materia materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True)
numero = models.IntegerField(verbose_name=_(u'Número')) # num_norma numero = models.IntegerField(verbose_name=_(u'Número'))
ano = models.SmallIntegerField(verbose_name=_(u'Ano')) # ano_norma ano = models.SmallIntegerField(verbose_name=_(u'Ano'))
esfera_federacao = models.CharField(max_length=1, verbose_name=_(u'Esfera Federação'), choices=ESFERA_FEDERACAO_CHOICES) # tip_esfera_federacao esfera_federacao = models.CharField(max_length=1, verbose_name=_(u'Esfera Federação'), choices=ESFERA_FEDERACAO_CHOICES)
data = models.DateField(blank=True, null=True, verbose_name=_(u'Data')) # dat_norma data = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
data_publicacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Publicação')) # dat_publicacao data_publicacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Publicação'))
veiculo_publicacao = models.CharField(max_length=30, blank=True, null=True, verbose_name=_(u'Veículo Publicação')) # des_veiculo_publicacao veiculo_publicacao = models.CharField(max_length=30, blank=True, null=True, verbose_name=_(u'Veículo Publicação'))
pagina_inicio_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_(u'Pg. Início')) # num_pag_inicio_publ pagina_inicio_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_(u'Pg. Início'))
pagina_fim_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_(u'Pg. Fim')) # num_pag_fim_publ pagina_fim_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_(u'Pg. Fim'))
ementa = models.TextField(verbose_name=_(u'Ementa')) # txt_ementa ementa = models.TextField(verbose_name=_(u'Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação')) # txt_indexacao indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
complemento = models.NullBooleanField(blank=True, verbose_name=_(u'Complementar ?')) # ind_complemento complemento = models.NullBooleanField(blank=True, verbose_name=_(u'Complementar ?'))
assunto = models.ForeignKey(AssuntoNorma) # XXX was a CharField (attention on migrate) # cod_assunto assunto = models.ForeignKey(AssuntoNorma) # XXX was a CharField (attention on migrate)
data_vigencia = models.DateField(blank=True, null=True) # dat_vigencia data_vigencia = models.DateField(blank=True, null=True)
timestamp = models.DateTimeField() # timestamp timestamp = models.DateTimeField()
class Meta: class Meta:
verbose_name = _(u'Norma Jurídica') verbose_name = _(u'Norma Jurídica')
@ -72,20 +72,20 @@ class NormaJuridica(models.Model):
class LegislacaoCitada(models.Model): class LegislacaoCitada(models.Model):
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
norma = models.ForeignKey(NormaJuridica) # cod_norma norma = models.ForeignKey(NormaJuridica)
disposicoes = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Disposição')) # des_disposicoes disposicoes = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Disposição'))
parte = models.CharField(max_length=8, blank=True, null=True, verbose_name=_(u'Parte')) # des_parte parte = models.CharField(max_length=8, blank=True, null=True, verbose_name=_(u'Parte'))
livro = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Livro')) # des_livro livro = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Livro'))
titulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Título')) # des_titulo titulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Título'))
capitulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Capítulo')) # des_capitulo capitulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Capítulo'))
secao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Seção')) # des_secao secao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Seção'))
subsecao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Subseção')) # des_subsecao subsecao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_(u'Subseção'))
artigo = models.CharField(max_length=4, blank=True, null=True, verbose_name=_(u'Artigo')) # des_artigo artigo = models.CharField(max_length=4, blank=True, null=True, verbose_name=_(u'Artigo'))
paragrafo = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Parágrafo')) # des_paragrafo paragrafo = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Parágrafo'))
inciso = models.CharField(max_length=10, blank=True, null=True, verbose_name=_(u'Inciso')) # des_inciso inciso = models.CharField(max_length=10, blank=True, null=True, verbose_name=_(u'Inciso'))
alinea = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Alínea')) # des_alinea alinea = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Alínea'))
item = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Item')) # des_item item = models.CharField(max_length=3, blank=True, null=True, verbose_name=_(u'Item'))
class Meta: class Meta:
verbose_name = _(u'Matéria Legislativa') verbose_name = _(u'Matéria Legislativa')
@ -104,9 +104,9 @@ class VinculoNormaJuridica(models.Model):
) )
# TODO M2M ??? # TODO M2M ???
norma_referente = models.ForeignKey(NormaJuridica, related_name='+') # cod_norma_referente norma_referente = models.ForeignKey(NormaJuridica, related_name='+')
norma_referida = models.ForeignKey(NormaJuridica, related_name='+') # cod_norma_referida norma_referida = models.ForeignKey(NormaJuridica, related_name='+')
tipo_vinculo = models.CharField(max_length=1, blank=True, null=True, choices=TIPO_VINCULO_CHOICES) # tip_vinculo tipo_vinculo = models.CharField(max_length=1, blank=True, null=True, choices=TIPO_VINCULO_CHOICES)
class Meta: class Meta:
verbose_name = _(u'Vínculo entre Normas Jurídicas') verbose_name = _(u'Vínculo entre Normas Jurídicas')

111
parlamentares/legacy.yaml

@ -0,0 +1,111 @@
Legislatura:
data_eleicao: dat_eleicao
data_fim: dat_fim
data_inicio: dat_inicio
SessaoLegislativa:
data_fim: dat_fim
data_fim_intervalo: dat_fim_intervalo
data_inicio: dat_inicio
data_inicio_intervalo: dat_inicio_intervalo
legislatura: num_legislatura
numero: num_sessao_leg
tipo: tip_sessao_leg
Coligacao:
legislatura: num_legislatura
nome: nom_coligacao
numero_votos: num_votos_coligacao
Partido:
data_criacao: dat_criacao
data_extincao: dat_extincao
nome: nom_partido
sigla: sgl_partido
ComposicaoColigacao:
coligacao: cod_coligacao
partido: cod_partido
Municipio (Localidade):
nome: nom_localidade
regiao: sgl_regiao
uf: sgl_uf
NivelInstrucao:
descricao: des_nivel_instrucao
SituacaoMilitar:
descricao: des_tipo_situacao
Parlamentar:
ativo: ind_ativo
biografia: txt_biografia
cep_residencia: num_cep_resid
cod_casa: cod_casa
cpf: num_cpf
data_nascimento: dat_nascimento
email: end_email
endereco_residencia: end_residencial
endereco_web: end_web
fax: num_fax_parlamentar
fax_residencia: num_fax_resid
locais_atuacao: des_local_atuacao
municipio_residencia: cod_localidade_resid
nivel_instrucao: cod_nivel_instrucao
nome_completo: nom_completo
nome_parlamentar: nom_parlamentar
numero_gab_parlamentar: num_gab_parlamentar
profissao: nom_profissao
rg: num_rg
sexo: sex_parlamentar
situacao_militar: tip_situacao_militar
telefone: num_tel_parlamentar
telefone_residencia: num_tel_resid
titulo_eleitor: num_tit_eleitor
unidade_deliberativa: ind_unid_deliberativa
TipoDependente:
descricao: des_tipo_dependente
Dependente:
cpf: num_cpf
data_nascimento: dat_nascimento
nome: nom_dependente
parlamentar: cod_parlamentar
rg: num_rg
sexo: sex_dependente
tipo: tip_dependente
titulo_eleitor: num_tit_eleitor
Filiacao:
data: dat_filiacao
data_desfiliacao: dat_desfiliacao
parlamentar: cod_parlamentar
partido: cod_partido
TipoAfastamento:
afastamento: ind_afastamento
descricao: des_afastamento
dispositivo: des_dispositivo
fim_mandato: ind_fim_mandato
Mandato:
coligacao: cod_coligacao
data_expedicao_diploma: dat_expedicao_diploma
data_fim_mandato: dat_fim_mandato
legislatura: num_legislatura
observacao: txt_observacao
parlamentar: cod_parlamentar
tipo_afastamento: tip_afastamento
tipo_causa_fim_mandato: tip_causa_fim_mandato
votos_recebidos: num_votos_recebidos
CargoMesa:
descricao: des_cargo
unico: ind_unico
ComposicaoMesa:
cargo: cod_cargo
parlamentar: cod_parlamentar
sessao_legislativa: cod_sessao_leg

160
parlamentares/models.py

@ -4,9 +4,9 @@ from django.utils.translation import ugettext as _
class Legislatura(models.Model): class Legislatura(models.Model):
data_inicio = models.DateField(verbose_name=_(u'Data Início')) # dat_inicio data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(verbose_name=_(u'Data Fim')) # dat_fim data_fim = models.DateField(verbose_name=_(u'Data Fim'))
data_eleicao = models.DateField(verbose_name=_(u'Data Eleição')) # dat_eleicao data_eleicao = models.DateField(verbose_name=_(u'Data Eleição'))
class Meta: class Meta:
verbose_name = _(u'Legislatura') verbose_name = _(u'Legislatura')
@ -19,13 +19,13 @@ class SessaoLegislativa(models.Model):
TIPO_SESSAO_CHOICES = ((ORDINARIA, _(u'Ordinária')), TIPO_SESSAO_CHOICES = ((ORDINARIA, _(u'Ordinária')),
(EXTRAORDINARIA, _(u'Extraordinária'))) (EXTRAORDINARIA, _(u'Extraordinária')))
legislatura = models.ForeignKey(Legislatura) # num_legislatura legislatura = models.ForeignKey(Legislatura)
numero = models.IntegerField(verbose_name=_(u'Número')) # num_sessao_leg numero = models.IntegerField(verbose_name=_(u'Número'))
tipo = models.CharField(max_length=1, verbose_name=_(u'Tipo'), choices=TIPO_SESSAO_CHOICES) # tip_sessao_leg tipo = models.CharField(max_length=1, verbose_name=_(u'Tipo'), choices=TIPO_SESSAO_CHOICES)
data_inicio = models.DateField(verbose_name=_(u'Data Início')) # dat_inicio data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(verbose_name=_(u'Data Fim')) # dat_fim data_fim = models.DateField(verbose_name=_(u'Data Fim'))
data_inicio_intervalo = models.DateField(blank=True, null=True, verbose_name=_(u'Início Intervalo')) # dat_inicio_intervalo data_inicio_intervalo = models.DateField(blank=True, null=True, verbose_name=_(u'Início Intervalo'))
data_fim_intervalo = models.DateField(blank=True, null=True, verbose_name=_(u'Fim Intervalo')) # dat_fim_intervalo data_fim_intervalo = models.DateField(blank=True, null=True, verbose_name=_(u'Fim Intervalo'))
class Meta: class Meta:
verbose_name = _(u'Sessão Legislativa') verbose_name = _(u'Sessão Legislativa')
@ -33,9 +33,9 @@ class SessaoLegislativa(models.Model):
class Coligacao(models.Model): class Coligacao(models.Model):
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura')) # num_legislatura legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome')) # nom_coligacao nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
numero_votos = models.IntegerField(blank=True, null=True, verbose_name=_(u'Nº Votos Recebidos')) # num_votos_coligacao numero_votos = models.IntegerField(blank=True, null=True, verbose_name=_(u'Nº Votos Recebidos'))
class Meta: class Meta:
verbose_name = _(u'Coligação') verbose_name = _(u'Coligação')
@ -43,10 +43,10 @@ class Coligacao(models.Model):
class Partido(models.Model): class Partido(models.Model):
sigla = models.CharField(max_length=9, verbose_name=_(u'Sigla')) # sgl_partido sigla = models.CharField(max_length=9, verbose_name=_(u'Sigla'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome')) # nom_partido nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
data_criacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Criação')) # dat_criacao data_criacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Criação'))
data_extincao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Extinção')) # dat_extincao data_extincao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Extinção'))
class Meta: class Meta:
verbose_name = _(u'Partido') verbose_name = _(u'Partido')
@ -55,8 +55,8 @@ class Partido(models.Model):
class ComposicaoColigacao(models.Model): class ComposicaoColigacao(models.Model):
# TODO M2M # TODO M2M
partido = models.ForeignKey(Partido) # cod_partido partido = models.ForeignKey(Partido)
coligacao = models.ForeignKey(Coligacao) # cod_coligacao coligacao = models.ForeignKey(Coligacao)
class Municipio(models.Model): # Localidade class Municipio(models.Model): # Localidade
@ -102,9 +102,9 @@ class Municipio(models.Model): # Localidade
('EX', u'Exterior'), ('EX', u'Exterior'),
) )
nome = models.CharField(max_length=50, blank=True, null=True) # nom_localidade nome = models.CharField(max_length=50, blank=True, null=True)
uf = models.CharField(max_length=2, blank=True, null=True, choices=UF_CHOICES) # sgl_uf uf = models.CharField(max_length=2, blank=True, null=True, choices=UF_CHOICES)
regiao = models.CharField(max_length=2, blank=True, null=True, choices=REGIAO_CHOICES) # sgl_regiao regiao = models.CharField(max_length=2, blank=True, null=True, choices=REGIAO_CHOICES)
class Meta: class Meta:
verbose_name = _(u'Município') verbose_name = _(u'Município')
@ -112,7 +112,7 @@ class Municipio(models.Model): # Localidade
class NivelInstrucao(models.Model): class NivelInstrucao(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Nível de Instrução')) # des_nivel_instrucao descricao = models.CharField(max_length=50, verbose_name=_(u'Nível de Instrução'))
class Meta: class Meta:
verbose_name = _(u'Nível Instrução') verbose_name = _(u'Nível Instrução')
@ -123,7 +123,7 @@ class NivelInstrucao(models.Model):
class SituacaoMilitar(models.Model): class SituacaoMilitar(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Situação Militar')) # des_tipo_situacao descricao = models.CharField(max_length=50, verbose_name=_(u'Situação Militar'))
class Meta: class Meta:
verbose_name = _(u'Tipo Situação Militar') verbose_name = _(u'Tipo Situação Militar')
@ -136,31 +136,31 @@ class Parlamentar(models.Model):
SEXO_CHOICE = ((FEMININO, _(u'Feminino')), SEXO_CHOICE = ((FEMININO, _(u'Feminino')),
(MASCULINO, _(u'Masculino'))) (MASCULINO, _(u'Masculino')))
nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True, verbose_name=_(u'Nível Instrução')) # cod_nivel_instrucao nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True, verbose_name=_(u'Nível Instrução'))
situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True, verbose_name=_(u'Situação Militar')) # tip_situacao_militar situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True, verbose_name=_(u'Situação Militar'))
nome_completo = models.CharField(max_length=50, verbose_name=_(u'Nome Completo')) # nom_completo nome_completo = models.CharField(max_length=50, verbose_name=_(u'Nome Completo'))
nome_parlamentar = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Nome Parlamentar')) # nom_parlamentar nome_parlamentar = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Nome Parlamentar'))
sexo = models.CharField(max_length=1, verbose_name=_(u'Sexo'), choices=SEXO_CHOICE) # sex_parlamentar sexo = models.CharField(max_length=1, verbose_name=_(u'Sexo'), choices=SEXO_CHOICE)
data_nascimento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Nascimento')) # dat_nascimento data_nascimento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Nascimento'))
cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_(u'C.P.F')) # num_cpf cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_(u'C.P.F'))
rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'R.G.')) # num_rg rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'R.G.'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Título de Eleitor')) # num_tit_eleitor titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Título de Eleitor'))
cod_casa = models.IntegerField() # cod_casa cod_casa = models.IntegerField()
numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True, verbose_name=_(u'Nº Gabinete')) # num_gab_parlamentar numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True, verbose_name=_(u'Nº Gabinete'))
telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone')) # num_tel_parlamentar telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone'))
fax = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Fax')) # num_fax_parlamentar fax = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Fax'))
endereco_residencia = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço Residencial')) # end_residencial endereco_residencia = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Endereço Residencial'))
municipio_residencia = models.ForeignKey(Municipio, blank=True, null=True, verbose_name=_(u'Município')) # cod_localidade_resid municipio_residencia = models.ForeignKey(Municipio, blank=True, null=True, verbose_name=_(u'Município'))
cep_residencia = models.CharField(max_length=9, blank=True, null=True, verbose_name=_(u'CEP')) # num_cep_resid cep_residencia = models.CharField(max_length=9, blank=True, null=True, verbose_name=_(u'CEP'))
telefone_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone Residencial')) # num_tel_resid telefone_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Telefone Residencial'))
fax_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Fax Residencial')) # num_fax_resid fax_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Fax Residencial'))
endereco_web = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'HomePage')) # end_web endereco_web = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'HomePage'))
profissao = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Profissão')) # nom_profissao profissao = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Profissão'))
email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Correio Eletrônico')) # end_email email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Correio Eletrônico'))
locais_atuacao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Locais de Atuação')) # des_local_atuacao locais_atuacao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_(u'Locais de Atuação'))
ativo = models.BooleanField(verbose_name=_(u'Ativo na Casa?')) # ind_ativo ativo = models.BooleanField(verbose_name=_(u'Ativo na Casa?'))
biografia = models.TextField(blank=True, null=True, verbose_name=_(u'Biografia')) # txt_biografia biografia = models.TextField(blank=True, null=True, verbose_name=_(u'Biografia'))
unidade_deliberativa = models.BooleanField() # ind_unid_deliberativa unidade_deliberativa = models.BooleanField()
class Meta: class Meta:
verbose_name = _(u'Parlamentar') verbose_name = _(u'Parlamentar')
@ -171,7 +171,7 @@ class Parlamentar(models.Model):
class TipoDependente(models.Model): class TipoDependente(models.Model):
descricao = models.CharField(max_length=50) # des_tipo_dependente descricao = models.CharField(max_length=50)
class Meta: class Meta:
verbose_name = _(u'Tipo de Dependente') verbose_name = _(u'Tipo de Dependente')
@ -184,14 +184,14 @@ class Dependente(models.Model):
SEXO_CHOICE = ((FEMININO, _(u'Feminino')), SEXO_CHOICE = ((FEMININO, _(u'Feminino')),
(MASCULINO, _(u'Masculino'))) (MASCULINO, _(u'Masculino')))
tipo = models.ForeignKey(TipoDependente, verbose_name=_(u'Tipo')) # tip_dependente tipo = models.ForeignKey(TipoDependente, verbose_name=_(u'Tipo'))
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
nome = models.CharField(max_length=50, verbose_name=_(u'Nome')) # nom_dependente nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
sexo = models.CharField(max_length=1, verbose_name=_(u'Sexo'), choices=SEXO_CHOICE) # sex_dependente sexo = models.CharField(max_length=1, verbose_name=_(u'Sexo'), choices=SEXO_CHOICE)
data_nascimento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Nascimento')) # dat_nascimento data_nascimento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Nascimento'))
cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_(u'CPF')) # num_cpf cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_(u'CPF'))
rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'RG')) # num_rg rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'RG'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Nº Título Eleitor')) # num_tit_eleitor titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Nº Título Eleitor'))
class Meta: class Meta:
verbose_name = _(u'Dependente') verbose_name = _(u'Dependente')
@ -199,10 +199,10 @@ class Dependente(models.Model):
class Filiacao(models.Model): class Filiacao(models.Model):
data = models.DateField(verbose_name=_(u'Data Filiação')) # dat_filiacao data = models.DateField(verbose_name=_(u'Data Filiação'))
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
partido = models.ForeignKey(Partido, verbose_name=_(u'Partido')) # cod_partido partido = models.ForeignKey(Partido, verbose_name=_(u'Partido'))
data_desfiliacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desfiliação')) # dat_desfiliacao data_desfiliacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desfiliação'))
class Meta: class Meta:
verbose_name = _(u'Filiação') verbose_name = _(u'Filiação')
@ -210,10 +210,10 @@ class Filiacao(models.Model):
class TipoAfastamento(models.Model): class TipoAfastamento(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição')) # des_afastamento descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
afastamento = models.BooleanField(verbose_name=_(u'Indicador')) # ind_afastamento afastamento = models.BooleanField(verbose_name=_(u'Indicador'))
fim_mandato = models.BooleanField(verbose_name=_(u'Indicador')) # ind_fim_mandato fim_mandato = models.BooleanField(verbose_name=_(u'Indicador'))
dispositivo = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Dispositivo')) # des_dispositivo dispositivo = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Dispositivo'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Afastamento') verbose_name = _(u'Tipo de Afastamento')
@ -221,16 +221,16 @@ class TipoAfastamento(models.Model):
class Mandato(models.Model): class Mandato(models.Model):
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True) # tip_afastamento tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True)
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura')) # num_legislatura legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
coligacao = models.ForeignKey(Coligacao, blank=True, null=True, verbose_name=_(u'Coligação')) # cod_coligacao coligacao = models.ForeignKey(Coligacao, blank=True, null=True, verbose_name=_(u'Coligação'))
# TODO what is this field?????? # TODO what is this field??????
tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True) # tip_causa_fim_mandato tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True)
data_fim_mandato = models.DateField(blank=True, null=True, verbose_name=_(u'Fim do Mandato')) # dat_fim_mandato data_fim_mandato = models.DateField(blank=True, null=True, verbose_name=_(u'Fim do Mandato'))
votos_recebidos = models.IntegerField(blank=True, null=True, verbose_name=_(u'Votos Recebidos')) # num_votos_recebidos votos_recebidos = models.IntegerField(blank=True, null=True, verbose_name=_(u'Votos Recebidos'))
data_expedicao_diploma = models.DateField(blank=True, null=True, verbose_name=_(u'Expedição do Diploma')) # dat_expedicao_diploma data_expedicao_diploma = models.DateField(blank=True, null=True, verbose_name=_(u'Expedição do Diploma'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
class Meta: class Meta:
verbose_name = _(u'Mandato') verbose_name = _(u'Mandato')
@ -239,8 +239,8 @@ class Mandato(models.Model):
class CargoMesa(models.Model): class CargoMesa(models.Model):
# TODO M2M ???? # TODO M2M ????
descricao = models.CharField(max_length=50, verbose_name=_(u'Cargo na Mesa')) # des_cargo descricao = models.CharField(max_length=50, verbose_name=_(u'Cargo na Mesa'))
unico = models.BooleanField(verbose_name=_(u'Cargo Único')) # ind_unico unico = models.BooleanField(verbose_name=_(u'Cargo Único'))
class Meta: class Meta:
verbose_name = _(u'Cargo na Mesa') verbose_name = _(u'Cargo na Mesa')
@ -249,9 +249,9 @@ class CargoMesa(models.Model):
class ComposicaoMesa(models.Model): class ComposicaoMesa(models.Model):
# TODO M2M ???? Ternary????? # TODO M2M ???? Ternary?????
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
sessao_legislativa = models.ForeignKey(SessaoLegislativa) # cod_sessao_leg sessao_legislativa = models.ForeignKey(SessaoLegislativa)
cargo = models.ForeignKey(CargoMesa) # cod_cargo cargo = models.ForeignKey(CargoMesa)
class Meta: class Meta:
verbose_name = _(u'Ocupação de cargo na Mesa') verbose_name = _(u'Ocupação de cargo na Mesa')

64
protocoloadm/legacy.yaml

@ -0,0 +1,64 @@
TipoDocumentoAdministrativo:
descricao: des_tipo_documento
sigla: sgl_tipo_documento
DocumentoAdministrativo:
ano: ano_documento
assunto: txt_assunto
autor: cod_autor
data: dat_documento
data_fim_prazo: dat_fim_prazo
dias_prazo: num_dias_prazo
interessado: txt_interessado
numero: num_documento
numero_protocolo: num_protocolo
observacao: txt_observacao
tipo: tip_documento
tramitacao: ind_tramitacao
DocumentoAcessorioAdministrativo:
arquivo: nom_arquivo
assunto: txt_assunto
autor: nom_autor_documento
data: dat_documento
documento: cod_documento
indexacao: txt_indexacao
nome: nom_documento
tipo: tip_documento
Protocolo:
ano: ano_protocolo
anulado: ind_anulado
assunto_ementa: txt_assunto_ementa
autor: cod_autor
data: dat_protocolo
hora: hor_protocolo
interessado: txt_interessado
ip_anulacao: txt_ip_anulacao
justificativa_anulacao: txt_just_anulacao
numero: num_protocolo
numero_paginas: num_paginas
observacao: txt_observacao
timestamp: dat_timestamp
timestamp_anulacao: timestamp_anulacao
tipo_documento: tip_documento
tipo_materia: tip_materia
tipo_processo: tip_processo
tipo_protocolo: tip_protocolo
user_anulacao: txt_user_anulacao
StatusTramitacaoAdministrativo:
descricao: des_status
indicador: ind_fim_tramitacao
sigla: sgl_status
TramitacaoAdministrativo:
data_encaminhamento: dat_encaminha
data_fim_prazo: dat_fim_prazo
data_tramitacao: dat_tramitacao
documento: cod_documento
status: cod_status
texto: txt_tramitacao
ultima: ind_ult_tramitacao
unidade_tramitacao_destino: cod_unid_tram_dest
unidade_tramitacao_local: cod_unid_tram_local

106
protocoloadm/models.py

@ -6,8 +6,8 @@ from materia.models import Autor, TipoMateriaLegislativa, UnidadeTramitacao
class TipoDocumentoAdministrativo(models.Model): class TipoDocumentoAdministrativo(models.Model):
sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla')) # sgl_tipo_documento sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição')) # des_tipo_documento descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Documento Administrativo') verbose_name = _(u'Tipo de Documento Administrativo')
@ -15,18 +15,18 @@ class TipoDocumentoAdministrativo(models.Model):
class DocumentoAdministrativo(models.Model): class DocumentoAdministrativo(models.Model):
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo Documento')) # tip_documento tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo Documento'))
numero = models.IntegerField(verbose_name=_(u'Número')) # num_documento numero = models.IntegerField(verbose_name=_(u'Número'))
ano = models.SmallIntegerField(verbose_name=_(u'Ano')) # ano_documento ano = models.SmallIntegerField(verbose_name=_(u'Ano'))
data = models.DateField(verbose_name=_(u'Data')) # dat_documento data = models.DateField(verbose_name=_(u'Data'))
numero_protocolo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Núm. Protocolo')) # num_protocolo numero_protocolo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Núm. Protocolo'))
interessado = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Interessado')) # txt_interessado interessado = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True) # cod_autor autor = models.ForeignKey(Autor, blank=True, null=True)
dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Dias Prazo')) # num_dias_prazo dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Dias Prazo'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo')) # dat_fim_prazo data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo'))
tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?')) # ind_tramitacao tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?'))
assunto = models.TextField(verbose_name=_(u'Assunto')) # txt_assunto assunto = models.TextField(verbose_name=_(u'Assunto'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
class Meta: class Meta:
verbose_name = _(u'Documento Administrativo') verbose_name = _(u'Documento Administrativo')
@ -34,14 +34,14 @@ class DocumentoAdministrativo(models.Model):
class DocumentoAcessorioAdministrativo(models.Model): class DocumentoAcessorioAdministrativo(models.Model):
documento = models.ForeignKey(DocumentoAdministrativo) # cod_documento documento = models.ForeignKey(DocumentoAdministrativo)
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo')) # tip_documento tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=30, verbose_name=_(u'Nome')) # nom_documento nome = models.CharField(max_length=30, verbose_name=_(u'Nome'))
arquivo = models.CharField(max_length=100, verbose_name=_(u'Arquivo')) # nom_arquivo arquivo = models.CharField(max_length=100, verbose_name=_(u'Arquivo'))
data = models.DateField(blank=True, null=True, verbose_name=_(u'Data')) # dat_documento data = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor')) # nom_autor_documento autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor'))
assunto = models.TextField(blank=True, null=True, verbose_name=_(u'Assunto')) # txt_assunto assunto = models.TextField(blank=True, null=True, verbose_name=_(u'Assunto'))
indexacao = models.TextField(blank=True, null=True) # txt_indexacao indexacao = models.TextField(blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Documento Acessório') verbose_name = _(u'Documento Acessório')
@ -49,25 +49,25 @@ class DocumentoAcessorioAdministrativo(models.Model):
class Protocolo(models.Model): class Protocolo(models.Model):
numero = models.IntegerField(blank=True, null=True, verbose_name=_(u'Número do Protocolo')) # num_protocolo numero = models.IntegerField(blank=True, null=True, verbose_name=_(u'Número do Protocolo'))
ano = models.SmallIntegerField() # ano_protocolo ano = models.SmallIntegerField()
data = models.DateField() # dat_protocolo data = models.DateField()
hora = models.TimeField() # hor_protocolo hora = models.TimeField()
timestamp = models.DateTimeField() # dat_timestamp timestamp = models.DateTimeField()
tipo_protocolo = models.IntegerField(verbose_name=_(u'Tipo de Protocolo')) # tip_protocolo tipo_protocolo = models.IntegerField(verbose_name=_(u'Tipo de Protocolo'))
tipo_processo = models.IntegerField() # tip_processo tipo_processo = models.IntegerField()
interessado = models.CharField(max_length=60, blank=True, null=True, verbose_name=_(u'Interessado')) # txt_interessado interessado = models.CharField(max_length=60, blank=True, null=True, verbose_name=_(u'Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True) # cod_autor autor = models.ForeignKey(Autor, blank=True, null=True)
assunto_ementa = models.TextField(blank=True, null=True) # txt_assunto_ementa assunto_ementa = models.TextField(blank=True, null=True)
tipo_documento = models.ForeignKey(TipoDocumentoAdministrativo, blank=True, null=True, verbose_name=_(u'Tipo de documento')) # tip_documento tipo_documento = models.ForeignKey(TipoDocumentoAdministrativo, blank=True, null=True, verbose_name=_(u'Tipo de documento'))
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_(u'Tipo Matéria')) # tip_materia tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_(u'Tipo Matéria'))
numero_paginas = models.IntegerField(blank=True, null=True, verbose_name=_(u'Número de Páginas')) # num_paginas numero_paginas = models.IntegerField(blank=True, null=True, verbose_name=_(u'Número de Páginas'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
anulado = models.BooleanField() # ind_anulado anulado = models.BooleanField()
user_anulacao = models.CharField(max_length=20, blank=True, null=True) # txt_user_anulacao user_anulacao = models.CharField(max_length=20, blank=True, null=True)
ip_anulacao = models.CharField(max_length=15, blank=True, null=True) # txt_ip_anulacao ip_anulacao = models.CharField(max_length=15, blank=True, null=True)
justificativa_anulacao = models.CharField(max_length=60, blank=True, null=True) # txt_just_anulacao justificativa_anulacao = models.CharField(max_length=60, blank=True, null=True)
timestamp_anulacao = models.DateTimeField(blank=True, null=True) # timestamp_anulacao timestamp_anulacao = models.DateTimeField(blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Protocolo') verbose_name = _(u'Protocolo')
@ -80,10 +80,10 @@ class StatusTramitacaoAdministrativo(models.Model):
INDICADOR_CHOICES = ((FIM, _(u'Fim')), INDICADOR_CHOICES = ((FIM, _(u'Fim')),
(RETORNO, _(u'Retorno'))) (RETORNO, _(u'Retorno')))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla')) # sgl_status sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição')) # des_status descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição'))
# TODO make specific migration considering both ind_fim_tramitacao, ind_retorno_tramitacao # TODO make specific migration considering both ind_fim_tramitacao, ind_retorno_tramitacao
indicador = models.CharField(max_length=1, verbose_name=_(u'Indicador da Tramitação'), choices=INDICADOR_CHOICES) # ind_fim_tramitacao indicador = models.CharField(max_length=1, verbose_name=_(u'Indicador da Tramitação'), choices=INDICADOR_CHOICES)
class Meta: class Meta:
verbose_name = _(u'Status de Tramitação') verbose_name = _(u'Status de Tramitação')
@ -91,15 +91,15 @@ class StatusTramitacaoAdministrativo(models.Model):
class TramitacaoAdministrativo(models.Model): class TramitacaoAdministrativo(models.Model):
status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True, verbose_name=_(u'Status')) # cod_status status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True, verbose_name=_(u'Status'))
documento = models.ForeignKey(DocumentoAdministrativo) # cod_documento documento = models.ForeignKey(DocumentoAdministrativo)
data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Tramitação')) # dat_tramitacao data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Tramitação'))
unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Local')) # cod_unid_tram_local unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Local'))
data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Encaminhamento')) # dat_encaminha data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_(u'Data Encaminhamento'))
unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Destino')) # cod_unid_tram_dest unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_(u'Unidade Destino'))
ultima = models.BooleanField() # ind_ult_tramitacao ultima = models.BooleanField()
texto = models.TextField(blank=True, null=True, verbose_name=_(u'Texto da Ação')) # txt_tramitacao texto = models.TextField(blank=True, null=True, verbose_name=_(u'Texto da Ação'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim do Prazo')) # dat_fim_prazo data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim do Prazo'))
class Meta: class Meta:
verbose_name = _(u'Tramitação de Documento Administrativo') verbose_name = _(u'Tramitação de Documento Administrativo')

81
sessao/legacy.yaml

@ -0,0 +1,81 @@
TipoSessaoPlenaria:
nome: nom_sessao
quorum_minimo: num_minimo
SessaoPlenaria:
cod_andamento_sessao: cod_andamento_sessao
data_fim: dat_fim_sessao
data_inicio: dat_inicio_sessao
dia: dia_sessao
hora_fim: hr_fim_sessao
hora_inicio: hr_inicio_sessao
legislatura: num_legislatura
numero: num_sessao_plen
sessao_legislativa: cod_sessao_leg
tipo: tip_sessao
tipo_expediente: tip_expediente
url_audio: url_audio
url_video: url_video
AbstractOrdemDia:
data_ordem: dat_ordem
materia: cod_materia
numero_ordem: num_ordem
observacao: txt_observacao
resultado: txt_resultado
sessao_plenaria: cod_sessao_plen
tipo_votacao: tip_votacao
ExpedienteMateria: {}
TipoExpediente:
nome: nom_expediente
ExpedienteSessao (ExpedienteSessaoPlenaria):
conteudo: txt_expediente
sessao_plenaria: cod_sessao_plen
tipo: cod_expediente
IntegranteMesa (MesaSessaoPlenaria):
cargo: cod_cargo
parlamentar: cod_parlamentar
sessao_plenaria: cod_sessao_plen
AbstractOrador:
numero_ordem: num_ordem
parlamentar: cod_parlamentar
sessao_plenaria: cod_sessao_plen
url_discurso: url_discurso
Orador (Oradores): {}
OradorExpediente (OradoresExpediente): {}
OrdemDia: {}
PresencaOrdemDia (OrdemDiaPresenca):
data_ordem: dat_ordem
parlamentar: cod_parlamentar
sessao_plenaria: cod_sessao_plen
TipoResultadoVotacao:
nome: nom_resultado
RegistroVotacao:
materia: cod_materia
numero_abstencoes: num_abstencao
numero_votos_nao: num_votos_nao
numero_votos_sim: num_votos_sim
observacao: txt_observacao
ordem: cod_ordem
tipo_resultado_votacao: tip_resultado_votacao
VotoParlamentar (RegistroVotacaoParlamentar):
parlamentar: cod_parlamentar
votacao: cod_votacao
voto: vot_parlamentar
SessaoPlenariaPresenca:
data_sessao: dat_sessao
parlamentar: cod_parlamentar
sessao_plen: cod_sessao_plen

100
sessao/models.py

@ -8,8 +8,8 @@ from sapl.utils import make_choices
class TipoSessaoPlenaria(models.Model): class TipoSessaoPlenaria(models.Model):
nome = models.CharField(max_length=30, verbose_name=_(u'Tipo')) # nom_sessao nome = models.CharField(max_length=30, verbose_name=_(u'Tipo'))
quorum_minimo = models.IntegerField(verbose_name=_(u'Quórum mínimo')) # num_minimo quorum_minimo = models.IntegerField(verbose_name=_(u'Quórum mínimo'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Sessão Plenária') verbose_name = _(u'Tipo de Sessão Plenária')
@ -23,21 +23,21 @@ class SessaoPlenaria(models.Model):
# TODO trash??? Seems to have been a FK in the past. Would be: # TODO trash??? Seems to have been a FK in the past. Would be:
# andamento_sessao = models.ForeignKey(AndamentoSessao, blank=True, null=True) # andamento_sessao = models.ForeignKey(AndamentoSessao, blank=True, null=True)
# TODO analyze querying all hosted databases ! # TODO analyze querying all hosted databases !
cod_andamento_sessao = models.IntegerField(blank=True, null=True) # cod_andamento_sessao cod_andamento_sessao = models.IntegerField(blank=True, null=True)
tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_(u'Tipo')) # tip_sessao tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_(u'Tipo'))
sessao_legislativa = models.ForeignKey(SessaoLegislativa, verbose_name=_(u'Sessão Legislativa')) # cod_sessao_leg sessao_legislativa = models.ForeignKey(SessaoLegislativa, verbose_name=_(u'Sessão Legislativa'))
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura')) # num_legislatura legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
# XXX seems to be empty # XXX seems to be empty
tipo_expediente = models.CharField(max_length=10) # tip_expediente tipo_expediente = models.CharField(max_length=10)
data_inicio = models.DateField(verbose_name=_(u'Abertura')) # dat_inicio_sessao data_inicio = models.DateField(verbose_name=_(u'Abertura'))
dia = models.CharField(max_length=15) # dia_sessao dia = models.CharField(max_length=15)
hora_inicio = models.CharField(max_length=5, verbose_name=_(u'Horário')) # hr_inicio_sessao hora_inicio = models.CharField(max_length=5, verbose_name=_(u'Horário'))
hora_fim = models.CharField(max_length=5, blank=True, null=True, verbose_name=_(u'Horário')) # hr_fim_sessao hora_fim = models.CharField(max_length=5, blank=True, null=True, verbose_name=_(u'Horário'))
numero = models.IntegerField(verbose_name=_(u'Número')) # num_sessao_plen numero = models.IntegerField(verbose_name=_(u'Número'))
data_fim = models.DateField(blank=True, null=True, verbose_name=_(u'Encerramento')) # dat_fim_sessao data_fim = models.DateField(blank=True, null=True, verbose_name=_(u'Encerramento'))
url_audio = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Arquivo Áudio (Formatos MP3 / AAC)')) # url_audio url_audio = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Arquivo Áudio (Formatos MP3 / AAC)'))
url_video = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')) # url_video url_video = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
class Meta: class Meta:
verbose_name = _(u'Sessão Plenária') verbose_name = _(u'Sessão Plenária')
@ -58,13 +58,13 @@ class AbstractOrdemDia(models.Model):
3, _(u'Secreta'), 3, _(u'Secreta'),
) )
sessao_plenaria = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plenaria = models.ForeignKey(SessaoPlenaria)
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
data_ordem = models.DateField(verbose_name=_(u'Data da Sessão')) # dat_ordem data_ordem = models.DateField(verbose_name=_(u'Data da Sessão'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa'))
numero_ordem = models.IntegerField(verbose_name=_(u'Nº Ordem')) # num_ordem numero_ordem = models.IntegerField(verbose_name=_(u'Nº Ordem'))
resultado = models.TextField(blank=True, null=True) # txt_resultado resultado = models.TextField(blank=True, null=True)
tipo_votacao = models.IntegerField(verbose_name=_(u'Tipo de votação'), choices=TIPO_VOTACAO_CHOICES) # tip_votacao tipo_votacao = models.IntegerField(verbose_name=_(u'Tipo de votação'), choices=TIPO_VOTACAO_CHOICES)
class Meta: class Meta:
abstract = True abstract = True
@ -81,7 +81,7 @@ class ExpedienteMateria(AbstractOrdemDia):
class TipoExpediente(models.Model): class TipoExpediente(models.Model):
nome = models.CharField(max_length=100, verbose_name=_(u'Tipo')) # nom_expediente nome = models.CharField(max_length=100, verbose_name=_(u'Tipo'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Expediente') verbose_name = _(u'Tipo de Expediente')
@ -92,9 +92,9 @@ class TipoExpediente(models.Model):
class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plenaria = models.ForeignKey(SessaoPlenaria)
tipo = models.ForeignKey(TipoExpediente) # cod_expediente tipo = models.ForeignKey(TipoExpediente)
conteudo = models.TextField(blank=True, null=True, verbose_name=_(u'Conteúdo do expediente')) # txt_expediente conteudo = models.TextField(blank=True, null=True, verbose_name=_(u'Conteúdo do expediente'))
class Meta: class Meta:
verbose_name = _(u'Expediente de Sessão Plenaria') verbose_name = _(u'Expediente de Sessão Plenaria')
@ -105,9 +105,9 @@ class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
class IntegranteMesa(models.Model): # MesaSessaoPlenaria class IntegranteMesa(models.Model): # MesaSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plenaria = models.ForeignKey(SessaoPlenaria)
cargo = models.ForeignKey(CargoMesa) # cod_cargo cargo = models.ForeignKey(CargoMesa)
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
class Meta: class Meta:
verbose_name = _(u'Participação em Mesa de Sessão Plenaria') verbose_name = _(u'Participação em Mesa de Sessão Plenaria')
@ -118,10 +118,10 @@ class IntegranteMesa(models.Model): # MesaSessaoPlenaria
class AbstractOrador(models.Model): # Oradores class AbstractOrador(models.Model): # Oradores
sessao_plenaria = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plenaria = models.ForeignKey(SessaoPlenaria)
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar')) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar'))
numero_ordem = models.IntegerField(verbose_name=_(u'Ordem de pronunciamento')) # num_ordem numero_ordem = models.IntegerField(verbose_name=_(u'Ordem de pronunciamento'))
url_discurso = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Vídeo')) # url_discurso url_discurso = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Vídeo'))
class Meta: class Meta:
abstract = True abstract = True
@ -154,9 +154,9 @@ class OrdemDia(AbstractOrdemDia):
class PresencaOrdemDia(models.Model): # OrdemDiaPresenca class PresencaOrdemDia(models.Model): # OrdemDiaPresenca
sessao_plenaria = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plenaria = models.ForeignKey(SessaoPlenaria)
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
data_ordem = models.DateField() # dat_ordem data_ordem = models.DateField()
class Meta: class Meta:
verbose_name = _(u'Presença da Ordem do Dia') verbose_name = _(u'Presença da Ordem do Dia')
@ -167,7 +167,7 @@ class PresencaOrdemDia(models.Model): # OrdemDiaPresenca
class TipoResultadoVotacao(models.Model): class TipoResultadoVotacao(models.Model):
nome = models.CharField(max_length=100, verbose_name=_(u'Tipo')) # nom_resultado nome = models.CharField(max_length=100, verbose_name=_(u'Tipo'))
class Meta: class Meta:
verbose_name = _(u'Tipo de Resultado de Votação') verbose_name = _(u'Tipo de Resultado de Votação')
@ -178,13 +178,13 @@ class TipoResultadoVotacao(models.Model):
class RegistroVotacao(models.Model): class RegistroVotacao(models.Model):
tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao, verbose_name=_(u'Resultado da Votação')) # tip_resultado_votacao tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao, verbose_name=_(u'Resultado da Votação'))
materia = models.ForeignKey(MateriaLegislativa) # cod_materia materia = models.ForeignKey(MateriaLegislativa)
ordem = models.ForeignKey(OrdemDia) # cod_ordem ordem = models.ForeignKey(OrdemDia)
numero_votos_sim = models.IntegerField(verbose_name=_(u'Sim')) # num_votos_sim numero_votos_sim = models.IntegerField(verbose_name=_(u'Sim'))
numero_votos_nao = models.IntegerField(verbose_name=_(u'Não')) # num_votos_nao numero_votos_nao = models.IntegerField(verbose_name=_(u'Não'))
numero_abstencoes = models.IntegerField(verbose_name=_(u'Abstenções')) # num_abstencao numero_abstencoes = models.IntegerField(verbose_name=_(u'Abstenções'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observações')) # txt_observacao observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observações'))
class Meta: class Meta:
verbose_name = _(u'Votação') verbose_name = _(u'Votação')
@ -195,10 +195,10 @@ class RegistroVotacao(models.Model):
class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar
votacao = models.ForeignKey(RegistroVotacao) # cod_votacao votacao = models.ForeignKey(RegistroVotacao)
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
# XXX change to restricted choices # XXX change to restricted choices
voto = models.CharField(max_length=10) # vot_parlamentar voto = models.CharField(max_length=10)
class Meta: class Meta:
verbose_name = _(u'Registro de Votação de Parlamentar') verbose_name = _(u'Registro de Votação de Parlamentar')
@ -209,9 +209,9 @@ class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar
class SessaoPlenariaPresenca(models.Model): class SessaoPlenariaPresenca(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen sessao_plen = models.ForeignKey(SessaoPlenaria)
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar parlamentar = models.ForeignKey(Parlamentar)
data_sessao = models.DateField(blank=True, null=True) # dat_sessao data_sessao = models.DateField(blank=True, null=True)
class Meta: class Meta:
verbose_name = _(u'Presença em Sessão Plenária') verbose_name = _(u'Presença em Sessão Plenária')

Loading…
Cancel
Save