Browse Source

Port strings to python 3

pull/6/head
Marcio Mazza 10 years ago
parent
commit
7187c20a28
  1. 2
      base/apps.py
  2. 34
      base/models.py
  3. 2
      comissoes/apps.py
  4. 96
      comissoes/models.py
  5. 22
      legacy/scripts/scrap_original_forms.py
  6. 2
      lexml/apps.py
  7. 32
      lexml/models.py
  8. 2
      materia/apps.py
  9. 344
      materia/models.py
  10. 2
      norma/apps.py
  11. 100
      norma/models.py
  12. 2
      parlamentares/apps.py
  13. 268
      parlamentares/models.py
  14. 2
      protocoloadm/apps.py
  15. 100
      protocoloadm/models.py
  16. 2
      sessao/apps.py
  17. 126
      sessao/models.py

2
base/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class BaseAppConfig(AppConfig):
name = 'base'
verbose_name = u'Dados Básicos'
verbose_name = 'Dados Básicos'

34
base/models.py

@ -6,22 +6,22 @@ from django.utils.translation import ugettext as _
class CasaLegislativa(models.Model):
# TODO ajustar todos os max_length !!!!
# cod_casa => id (pk)
nome = models.CharField(max_length=100, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=100, verbose_name=_(u'Sigla'))
endereco = models.CharField(max_length=100, verbose_name=_(u'Endereço'))
cep = models.CharField(max_length=100, verbose_name=_(u'CEP'))
municipio = models.CharField(max_length=100, verbose_name=_(u'Município'))
uf = models.CharField(max_length=100, verbose_name=_(u'UF'))
telefone = models.CharField(max_length=100, verbose_name=_(u'Telefone'))
fax = models.CharField(max_length=100, verbose_name=_(u'Fax'))
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_principal = models.CharField(max_length=100, verbose_name=_(u'Cor principal'))
logotipo = models.CharField(max_length=100, verbose_name=_(u'Logotipo'))
endereco_web = models.CharField(max_length=100, verbose_name=_(u'HomePage'))
email = models.CharField(max_length=100, verbose_name=_(u'E-mail'))
informacao_geral = models.CharField(max_length=100, verbose_name=_(u'Informação Geral'))
nome = models.CharField(max_length=100, verbose_name=_('Nome'))
sigla = models.CharField(max_length=100, verbose_name=_('Sigla'))
endereco = models.CharField(max_length=100, verbose_name=_('Endereço'))
cep = models.CharField(max_length=100, verbose_name=_('CEP'))
municipio = models.CharField(max_length=100, verbose_name=_('Município'))
uf = models.CharField(max_length=100, verbose_name=_('UF'))
telefone = models.CharField(max_length=100, verbose_name=_('Telefone'))
fax = models.CharField(max_length=100, verbose_name=_('Fax'))
cor_fundo = models.CharField(max_length=100, verbose_name=_('Cor de fundo'))
cor_borda = models.CharField(max_length=100, verbose_name=_('Cor da borda'))
cor_principal = models.CharField(max_length=100, verbose_name=_('Cor principal'))
logotipo = models.CharField(max_length=100, verbose_name=_('Logotipo'))
endereco_web = models.CharField(max_length=100, verbose_name=_('HomePage'))
email = models.CharField(max_length=100, verbose_name=_('E-mail'))
informacao_geral = models.CharField(max_length=100, verbose_name=_('Informação Geral'))
class Meta:
verbose_name = _(u'Casa Legislativa')
verbose_name_plural = _(u'Casas Legislativas')
verbose_name = _('Casa Legislativa')
verbose_name_plural = _('Casas Legislativas')

2
comissoes/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class ComissoesAppConfig(AppConfig):
name = 'comissoes'
verbose_name = u'Comissões'
verbose_name = 'Comissões'

96
comissoes/models.py

@ -8,82 +8,82 @@ from parlamentares.models import Parlamentar
class TipoComissao(models.Model):
TEMPORARIA = 'T'
PERMANENTE = 'P'
NATUREZA_CHOICES = ((TEMPORARIA, _(u'Temporária')),
(PERMANENTE, _(u'Permanente')))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
natureza = models.CharField(max_length=1, verbose_name=_(u'Natureza'), choices=NATUREZA_CHOICES)
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'))
NATUREZA_CHOICES = ((TEMPORARIA, _('Temporária')),
(PERMANENTE, _('Permanente')))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
natureza = models.CharField(max_length=1, verbose_name=_('Natureza'), choices=NATUREZA_CHOICES)
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
dispositivo_regimental = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Dispositivo Regimental'))
class Meta:
verbose_name = _(u'Tipo de Comissão')
verbose_name_plural = _(u'Tipos de Comissão')
verbose_name = _('Tipo de Comissão')
verbose_name_plural = _('Tipos de Comissão')
def __unicode__(self):
return self.nome
class Comissao(models.Model):
tipo = models.ForeignKey(TipoComissao, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=60, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
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'))
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'))
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'))
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'))
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'))
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'))
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'))
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'))
tipo = models.ForeignKey(TipoComissao, verbose_name=_('Tipo'))
nome = models.CharField(max_length=60, verbose_name=_('Nome'))
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
data_criacao = models.DateField(verbose_name=_('Data de Criação'))
data_extincao = models.DateField(blank=True, null=True, verbose_name=_('Data de Extinção'))
apelido_temp = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Apelido'))
data_instalacao_temp = models.DateField(blank=True, null=True, verbose_name=_('Data Instalação'))
data_final_prevista_temp = models.DateField(blank=True, null=True, verbose_name=_('Data Prevista Término'))
data_prorrogada_temp = models.DateField(blank=True, null=True, verbose_name=_('Novo Prazo'))
data_fim_comissao = models.DateField(blank=True, null=True, verbose_name=_('Data Término'))
secretario = models.CharField(max_length=30, blank=True, null=True, verbose_name=_('Secretário'))
telefone_reuniao = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Tel. Sala Reunião'))
endereco_secretaria = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Endereço Secretaria'))
telefone_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Tel. Secretaria'))
fax_secretaria = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Fax Secretaria'))
agenda_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Data/Hora Reunião'))
local_reuniao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Local Reunião'))
finalidade = models.TextField(blank=True, null=True, verbose_name=_('Finalidade'))
email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('E-mail'))
unidade_deliberativa = models.BooleanField()
class Meta:
verbose_name = _(u'Comissão')
verbose_name_plural = _(u'Comissões')
verbose_name = _('Comissão')
verbose_name_plural = _('Comissões')
def __unicode__(self):
return self.nome
class Periodo(models.Model): # PeriodoCompComissao
data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim'))
data_inicio = models.DateField(verbose_name=_('Data Início'))
data_fim = models.DateField(blank=True, null=True, verbose_name=_('Data Fim'))
class Meta:
verbose_name = _(u'Período de composição de Comissão')
verbose_name_plural = _(u'Períodos de composição de Comissão')
verbose_name = _('Período de composição de Comissão')
verbose_name_plural = _('Períodos de composição de Comissão')
def __unicode__(self):
return '%s - %s' % (self.data_inicio, self.data_fim)
class CargoComissao(models.Model):
nome = models.CharField(max_length=50, verbose_name=_(u'Cargo'))
unico = models.BooleanField(verbose_name=_(u'Único'))
nome = models.CharField(max_length=50, verbose_name=_('Cargo'))
unico = models.BooleanField(verbose_name=_('Único'))
class Meta:
verbose_name = _(u'Cargo de Comissão')
verbose_name_plural = _(u'Cargos de Comissão')
verbose_name = _('Cargo de Comissão')
verbose_name_plural = _('Cargos de Comissão')
def __unicode__(self):
return self.nome
class Composicao(models.Model): # IGNORE
comissao = models.ForeignKey(Comissao, verbose_name=_(u'Comissão'))
periodo = models.ForeignKey(Periodo, verbose_name=_(u'Período'))
comissao = models.ForeignKey(Comissao, verbose_name=_('Comissão'))
periodo = models.ForeignKey(Periodo, verbose_name=_('Período'))
class Meta:
verbose_name = _(u'Composição de Comissão')
verbose_name_plural = _(u'Composições de Comissão')
verbose_name = _('Composição de Comissão')
verbose_name_plural = _('Composições de Comissão')
def __unicode__(self):
return '%s: %s' % (self.comissao.sigla, self.periodo)
@ -93,15 +93,15 @@ class Participacao(models.Model): # ComposicaoComissao
composicao = models.ForeignKey(Composicao)
parlamentar = models.ForeignKey(Parlamentar)
cargo = models.ForeignKey(CargoComissao)
titular = models.BooleanField(verbose_name=_(u'Titular'))
data_designacao = models.DateField(verbose_name=_(u'Data Designação'))
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'))
observacao = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'Observação'))
titular = models.BooleanField(verbose_name=_('Titular'))
data_designacao = models.DateField(verbose_name=_('Data Designação'))
data_desligamento = models.DateField(blank=True, null=True, verbose_name=_('Data Desligamento'))
motivo_desligamento = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('Motivo Desligamento'))
observacao = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('Observação'))
class Meta:
verbose_name = _(u'Participação em Comissão')
verbose_name_plural = _(u'Participações em Comissão')
verbose_name = _('Participação em Comissão')
verbose_name_plural = _('Participações em Comissão')
def __unicode__(self):
return '%s : %s' % (self.cargo, self.parlamentar)

22
legacy/scripts/scrap_original_forms.py

@ -16,7 +16,7 @@ assert appconfs # to prevent removal by automatic organize imports on this file
def _read_line(tr):
for td in tr.find_all('td'):
label = td.text.strip().split('\n')[0].strip(u'\xa0' + string.whitespace)
label = td.text.strip().split('\n')[0].strip('\xa0' + string.whitespace)
if label.endswith('(*)'):
label = label[:-3].strip()
names = [c.attrs['name'] for c in td.findAll() if isinstance(c, Tag) and 'name' in c.attrs]
@ -37,7 +37,7 @@ def extract_title_and_fieldsets(model):
html_doc = cont.decode('utf-8')
soup = BeautifulSoup(html_doc, 'html.parser')
forms = soup.find_all('form')
[form] = [f for f in forms if (u'method', u'post') in f.attrs.items()]
[form] = [f for f in forms if ('method', 'post') in f.attrs.items()]
# children are either tags or strings...
assert set(type(c) for c in form.children) == {Tag, NavigableString}
# ... and all strings are empty
@ -106,10 +106,10 @@ def source_with_verbose_names(model):
name, path, args, legacy_name = split(match.groups())
if name in labels and 'verbose_name' not in args:
args = [args] if args.strip() else []
args.append(u"verbose_name=_(u'%s')" % labels[name])
args = u', '.join(args)
args.append("verbose_name=_(u'%s')" % labels[name])
args = ', '.join(args)
new_lines.append(
(u' %s = %s(%s)' % (name, path, args), legacy_name))
(' %s = %s(%s)' % (name, path, args), legacy_name))
break
else:
if 'class Meta:' in line:
@ -140,17 +140,17 @@ def source_with_verbose_names(model):
if not title:
# default title from model name
title_singular = u' '.join(re.findall('[A-Z][^A-Z]*', model.__name__))
title_singular = re.sub('cao\\b', u'ção', title_singular)
title_singular = re.sub('ao\\b', u'ão', title_singular)
title_plural = add_s(title_singular.replace(u'ção', u'ções').replace(u'ão', u'ões'))
title_singular = ' '.join(re.findall('[A-Z][^A-Z]*', model.__name__))
title_singular = re.sub('cao\\b', 'ção', title_singular)
title_singular = re.sub('ao\\b', 'ão', title_singular)
title_plural = add_s(title_singular.replace('ção', 'ções').replace('ão', 'ões'))
elif title.endswith('s'):
title_singular = remove_s(title.replace(u'ções', u'ção').replace(u'ões', u'ão'))
title_singular = remove_s(title.replace('ções', 'ção').replace('ões', 'ão'))
title_plural = title
else:
title_singular = title
title_plural = add_s(title.replace(u'ção', u'ções').replace(u'ão', u'ões'))
title_plural = add_s(title.replace('ção', 'ções').replace('ão', 'ões'))
yield """
class Meta:

2
lexml/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class LexmlAppConfig(AppConfig):
name = 'lexml'
verbose_name = u'LexML'
verbose_name = 'LexML'

32
lexml/models.py

@ -4,29 +4,29 @@ from django.utils.translation import ugettext as _
class LexmlProvedor(models.Model): # LexmlRegistroProvedor
id_provedor = models.IntegerField(verbose_name=_(u'Id do provedor'))
nome = models.CharField(max_length=255, verbose_name=_(u'Nome do provedor'))
id_provedor = models.IntegerField(verbose_name=_('Id do provedor'))
nome = models.CharField(max_length=255, verbose_name=_('Nome do 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'))
nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_(u'Nome do responsável'))
email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('E-mail do responsável'))
nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_('Nome do responsável'))
tipo = models.CharField(max_length=50)
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:'))
id_responsavel = models.IntegerField(blank=True, null=True, verbose_name=_('Id do responsável'))
xml = models.TextField(blank=True, null=True, verbose_name=_('XML fornecido pela equipe do LexML:'))
class Meta:
verbose_name = _(u'Provedor Lexml')
verbose_name_plural = _(u'Provedores Lexml')
verbose_name = _('Provedor Lexml')
verbose_name_plural = _('Provedores Lexml')
class LexmlPublicador(models.Model):
id_publicador = models.IntegerField(verbose_name=_(u'Id do 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'))
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'))
id_publicador = models.IntegerField(verbose_name=_('Id do publicador'))
nome = models.CharField(max_length=255, verbose_name=_('Nome do publicador'))
email_responsavel = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('E-mail do responsável'))
sigla = models.CharField(max_length=255, blank=True, null=True, verbose_name=_('Sigla do Publicador'))
nome_responsavel = models.CharField(max_length=255, blank=True, null=True, verbose_name=_('Nome do responsável'))
tipo = models.CharField(max_length=50)
id_responsavel = models.IntegerField(verbose_name=_(u'Id do responsável'))
id_responsavel = models.IntegerField(verbose_name=_('Id do responsável'))
class Meta:
verbose_name = _(u'Publicador Lexml')
verbose_name_plural = _(u'Publicadores Lexml')
verbose_name = _('Publicador Lexml')
verbose_name_plural = _('Publicadores Lexml')

2
materia/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class MateriaAppConfig(AppConfig):
name = 'materia'
verbose_name = u'Matéria'
verbose_name = 'Matéria'

344
materia/models.py

@ -7,16 +7,16 @@ from parlamentares.models import Parlamentar, Partido
class TipoMateriaLegislativa(models.Model):
sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição '))
sigla = models.CharField(max_length=5, verbose_name=_('Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição '))
# XXX o que é isso ?
num_automatica = models.BooleanField()
# XXX o que é isso ?
quorum_minimo_votacao = models.IntegerField()
class Meta:
verbose_name = _(u'Tipo de Matéria Legislativa')
verbose_name_plural = _(u'Tipos de Matérias Legislativas')
verbose_name = _('Tipo de Matéria Legislativa')
verbose_name_plural = _('Tipos de Matérias Legislativas')
def __unicode__(self):
return self.descricao
@ -26,20 +26,20 @@ class RegimeTramitacao(models.Model):
descricao = models.CharField(max_length=50)
class Meta:
verbose_name = _(u'Regime Tramitação')
verbose_name_plural = _(u'Regimes Tramitação')
verbose_name = _('Regime Tramitação')
verbose_name_plural = _('Regimes Tramitação')
def __unicode__(self):
return self.descricao
class Origem(models.Model):
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
class Meta:
verbose_name = _(u'Origem')
verbose_name_plural = _(u'Origens')
verbose_name = _('Origem')
verbose_name_plural = _('Origens')
def __unicode__(self):
return self.nome
@ -47,32 +47,32 @@ class Origem(models.Model):
class MateriaLegislativa(models.Model):
ORAL, ESCRITA = 'O', 'E'
TIPO_APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')),
(ESCRITA, _(u'Escrita')))
tipo = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo'))
numero = models.IntegerField(verbose_name=_(u'Número'))
ano = models.SmallIntegerField(verbose_name=_(u'Ano'))
numero_protocolo = models.IntegerField(blank=True, null=True, verbose_name=_(u'Núm. Protocolo'))
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)
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'))
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'))
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'))
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'))
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'))
em_tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?'))
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'))
complementar = models.NullBooleanField(blank=True, verbose_name=_(u'É Complementar?'))
ementa = models.TextField(verbose_name=_(u'Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
TIPO_APRESENTACAO_CHOICES = ((ORAL, _('Oral')),
(ESCRITA, _('Escrita')))
tipo = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_('Tipo'))
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
numero_protocolo = models.IntegerField(blank=True, null=True, verbose_name=_('Núm. Protocolo'))
data_apresentacao = models.DateField(blank=True, null=True, verbose_name=_('Data Apresentação'))
tipo_apresentacao = models.CharField(max_length=1, blank=True, null=True, verbose_name=_('Tipo de Apresentação'), choices=TIPO_APRESENTACAO_CHOICES)
regime_tramitacao = models.ForeignKey(RegimeTramitacao, verbose_name=_('Regime Tramitação'))
data_publicacao = models.DateField(blank=True, null=True, verbose_name=_('Data Publicação'))
tipo_origem_externa = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, related_name='+', verbose_name=_('Tipo'))
numero_origem_externa = models.CharField(max_length=5, blank=True, null=True, verbose_name=_('Número'))
ano_origem_externa = models.SmallIntegerField(blank=True, null=True, verbose_name=_('Ano'))
data_origem_externa = models.DateField(blank=True, null=True, verbose_name=_('Data'))
local_origem_externa = models.ForeignKey(Origem, blank=True, null=True, verbose_name=_('Local Origem'))
apelido = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Apelido'))
dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_('Dias Prazo'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_('Data Fim Prazo'))
em_tramitacao = models.BooleanField(verbose_name=_('Em Tramitação?'))
polemica = models.NullBooleanField(blank=True, verbose_name=_('Matéria Polêmica?'))
objeto = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('Objeto'))
complementar = models.NullBooleanField(blank=True, verbose_name=_('É Complementar?'))
ementa = models.TextField(verbose_name=_('Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_('Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observação'))
resultado = models.TextField(blank=True, null=True)
# XXX novo
anexadas = models.ManyToManyField('self', through='Anexada',
@ -80,22 +80,22 @@ class MateriaLegislativa(models.Model):
through_fields=('materia_principal', 'materia_anexada'))
class Meta:
verbose_name = _(u'Matéria Legislativa')
verbose_name_plural = _(u'Matérias Legislativas')
verbose_name = _('Matéria Legislativa')
verbose_name_plural = _('Matérias Legislativas')
def __unicode__(self):
return _(u'%(tipo)s%(numero)s de %(ano)s') % {
return _('%(tipo)s%(numero)s de %(ano)s') % {
'tipo': self.tipo, 'numero': self.numero, 'ano': self.ano}
class AcompanhamentoMateria(models.Model): # AcompMateria
materia = models.ForeignKey(MateriaLegislativa)
email = models.CharField(max_length=100, verbose_name=_(u'Endereço de E-mail'))
email = models.CharField(max_length=100, verbose_name=_('Endereço de E-mail'))
hash = models.CharField(max_length=8)
class Meta:
verbose_name = _(u'Acompanhamento de Matéria')
verbose_name_plural = _(u'Acompanhamentos de Matéria')
verbose_name = _('Acompanhamento de Matéria')
verbose_name_plural = _('Acompanhamentos de Matéria')
def __unicode__ (self):
return self.materia
@ -103,15 +103,15 @@ class AcompanhamentoMateria(models.Model): # AcompMateria
class Anexada(models.Model):
materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+')
materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+')
data_anexacao = models.DateField(verbose_name=_(u'Data Anexação'))
data_desanexacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desanexação'))
data_anexacao = models.DateField(verbose_name=_('Data Anexação'))
data_desanexacao = models.DateField(blank=True, null=True, verbose_name=_('Data Desanexação'))
class Meta:
verbose_name = _(u'Anexada')
verbose_name_plural = _(u'Anexadas')
verbose_name = _('Anexada')
verbose_name_plural = _('Anexadas')
def __unicode__(self):
return _(u'Principal: %(materia_principal)s - Anexada: %(materia_anexada)s') % {
return _('Principal: %(materia_principal)s - Anexada: %(materia_anexada)s') % {
'materia_principal': self.materia_principal, 'materia_anexada': self.materia_anexada}
@ -120,19 +120,19 @@ class AssuntoMateria(models.Model):
dispositivo = models.CharField(max_length=50)
class Meta:
verbose_name = _(u'Assunto de Matéria')
verbose_name_plural = _(u'Assuntos de Matéria')
verbose_name = _('Assunto de Matéria')
verbose_name_plural = _('Assuntos de Matéria')
def __unicode__(self):
return self.assunto
class TipoAutor(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
class Meta:
verbose_name = _(u'Tipo de Autor')
verbose_name_plural = _(u'Tipos de Autor')
verbose_name = _('Tipo de Autor')
verbose_name_plural = _('Tipos de Autor')
def __unicode__(self):
return self.descricao
@ -142,40 +142,40 @@ class Autor(models.Model):
partido = models.ForeignKey(Partido, blank=True, null=True)
comissao = models.ForeignKey(Comissao, blank=True, null=True)
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True)
tipo = models.ForeignKey(TipoAutor, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Autor'))
tipo = models.ForeignKey(TipoAutor, verbose_name=_('Tipo'))
nome = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Autor'))
cargo = models.CharField(max_length=50, blank=True, null=True)
username = models.CharField(max_length=50, blank=True, null=True)
class Meta:
verbose_name = _(u'Autor')
verbose_name_plural = _(u'Autores')
verbose_name = _('Autor')
verbose_name_plural = _('Autores')
def __unicode__(self):
if unicode(self.tipo) == 'Parlamentar':
return unicode(self.parlamentar)
elif unicode(self.tipo) == 'Comissao':
return unicode(self.comissao)
elif unicode(self.tipo) == 'Partido':
return unicode(self.partido)
if str(self.tipo) == 'Parlamentar':
return str(self.parlamentar)
elif str(self.tipo) == 'Comissao':
return str(self.comissao)
elif str(self.tipo) == 'Partido':
return str(self.partido)
else:
if unicode(self.cargo):
return _(u'%(nome)s - %(cargo)s') % {'nome': self.nome, 'cargo': self.cargo}
if str(self.cargo):
return _('%(nome)s - %(cargo)s') % {'nome': self.nome, 'cargo': self.cargo}
else:
return unicode(self.nome)
return str(self.nome)
class Autoria(models.Model):
autor = models.ForeignKey(Autor)
materia = models.ForeignKey(MateriaLegislativa)
primeiro_autor = models.BooleanField(verbose_name=_(u'Primeiro Autor'))
primeiro_autor = models.BooleanField(verbose_name=_('Primeiro Autor'))
class Meta:
verbose_name = _(u'Autoria')
verbose_name_plural = _(u'Autorias')
verbose_name = _('Autoria')
verbose_name_plural = _('Autorias')
def __unicode__(self):
return _(u'%(autor)s - %(materia)s') % {'autor': self.autor, 'materia': self.materia}
return _('%(autor)s - %(materia)s') % {'autor': self.autor, 'materia': self.materia}
class DespachoInicial(models.Model):
# TODO M2M?
@ -184,18 +184,18 @@ class DespachoInicial(models.Model):
comissao = models.ForeignKey(Comissao)
class Meta:
verbose_name = _(u'Despacho Inicial')
verbose_name_plural = _(u'Despachos Iniciais')
verbose_name = _('Despacho Inicial')
verbose_name_plural = _('Despachos Iniciais')
def __unicode__(self):
return _(u'%(numero)s - %(materia)s - %(comissao)s') % {'numero': self.numero_ordem, 'materia': self.materia, 'comissao': self.comissao}
return _('%(numero)s - %(materia)s - %(comissao)s') % {'numero': self.numero_ordem, 'materia': self.materia, 'comissao': self.comissao}
class TipoDocumento(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Documento'))
descricao = models.CharField(max_length=50, verbose_name=_('Tipo Documento'))
class Meta:
verbose_name = _(u'Tipo de Documento')
verbose_name_plural = _(u'Tipos de Documento')
verbose_name = _('Tipo de Documento')
verbose_name_plural = _('Tipos de Documento')
def __unicode__ (self):
return self.descricao
@ -203,19 +203,19 @@ class TipoDocumento(models.Model):
class DocumentoAcessorio(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
tipo = models.ForeignKey(TipoDocumento, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=30, verbose_name=_(u'Descrição'))
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'))
ementa = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa'))
tipo = models.ForeignKey(TipoDocumento, verbose_name=_('Tipo'))
nome = models.CharField(max_length=30, verbose_name=_('Descrição'))
data = models.DateField(blank=True, null=True, verbose_name=_('Data'))
autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Autor'))
ementa = models.TextField(blank=True, null=True, verbose_name=_('Ementa'))
indexacao = models.TextField(blank=True, null=True)
class Meta:
verbose_name = _(u'Documento Acessório')
verbose_name_plural = _(u'Documentos Acessórios')
verbose_name = _('Documento Acessório')
verbose_name_plural = _('Documentos Acessórios')
def __unicode__(self):
return _(u'%(tipo)s - %(nome)s de %(data)s por %(autor)s') % {
return _('%(tipo)s - %(nome)s de %(data)s por %(autor)s') % {
'tipo': self.tipo, 'nome': self.nome, 'ano': self.data, 'autor': self.autor}
@ -225,69 +225,69 @@ class MateriaAssunto(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
class Meta:
verbose_name = _(u'Relação Matéria - Assunto')
verbose_name_plural = _(u'Relações Matéria - Assunto')
verbose_name = _('Relação Matéria - Assunto')
verbose_name_plural = _('Relações Matéria - Assunto')
def __unicode__(self):
return _(u'%(materia)s - %(assunto)s') % { 'materia': self.materia, 'assunto': self.assunto}
return _('%(materia)s - %(assunto)s') % { 'materia': self.materia, 'assunto': self.assunto}
class Numeracao(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
numero_ordem = models.IntegerField()
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_(u'Tipo de Matéria'))
numero_materia = models.CharField(max_length=5, verbose_name=_(u'Número'))
ano_materia = models.SmallIntegerField(verbose_name=_(u'Ano'))
data_materia = models.DateField(blank=True, null=True, verbose_name=_(u'Data'))
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_('Tipo de Matéria'))
numero_materia = models.CharField(max_length=5, verbose_name=_('Número'))
ano_materia = models.SmallIntegerField(verbose_name=_('Ano'))
data_materia = models.DateField(blank=True, null=True, verbose_name=_('Data'))
class Meta:
verbose_name = _(u'Numeração')
verbose_name_plural = _(u'Numerações')
verbose_name = _('Numeração')
verbose_name_plural = _('Numerações')
def __unicode_ (self):
return _(u'%(numero)s %(tipo)s - %(data)s') % {
return _('%(numero)s %(tipo)s - %(data)s') % {
'numero': self.numero_materia, 'tipo': self.tipo_materia, 'data': self.data_materia }
class Orgao(models.Model):
nome = models.CharField(max_length=60, verbose_name=_(u'Nome'))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
unidade_deliberativa = models.BooleanField(verbose_name=_(u'Unidade Deliberativa'))
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'))
nome = models.CharField(max_length=60, verbose_name=_('Nome'))
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
unidade_deliberativa = models.BooleanField(verbose_name=_('Unidade Deliberativa'))
endereco = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Endereço'))
telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Telefone'))
class Meta:
verbose_name = _(u'Órgão')
verbose_name_plural = _(u'Órgãos')
verbose_name = _('Órgão')
verbose_name_plural = _('Órgãos')
def __unicode__(self):
return _(u'%(nome)s - %(sigla)s') % { 'nome': self.nome, 'sigla':self.sigla }
return _('%(nome)s - %(sigla)s') % { 'nome': self.nome, 'sigla':self.sigla }
class TipoFimRelatoria(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Tipo Fim Relatoria'))
descricao = models.CharField(max_length=50, verbose_name=_('Tipo Fim Relatoria'))
class Meta:
verbose_name = _(u'Tipo Fim de Relatoria')
verbose_name_plural = _(u'Tipos Fim de Relatoria')
verbose_name = _('Tipo Fim de Relatoria')
verbose_name_plural = _('Tipos Fim de Relatoria')
def __unicode__(self):
return self.descricao
class Relatoria(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar'))
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'))
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'))
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_('Parlamentar'))
tipo_fim_relatoria = models.ForeignKey(TipoFimRelatoria, blank=True, null=True, verbose_name=_('Motivo Fim Relatoria'))
comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_('Localização Atual'))
data_designacao_relator = models.DateField(verbose_name=_('Data Designação'))
data_destituicao_relator = models.DateField(blank=True, null=True, verbose_name=_('Data Destituição'))
class Meta:
verbose_name = _(u'Relatoria')
verbose_name_plural = _(u'Relatorias')
verbose_name = _('Relatoria')
verbose_name_plural = _('Relatorias')
def __unicode__ (self):
return _(u'%(materia)s - %(tipo)s - %(data)s') % {
return _('%(materia)s - %(tipo)s - %(data)s') % {
'materia': self.materia, 'tipo': self.tipo_fim_relatoria, 'data': self.data_designacao_relator
}
@ -295,8 +295,8 @@ class Relatoria(models.Model):
class Parecer(models.Model):
ORAL = 'O'
ESCRITA = 'E'
APRESENTACAO_CHOICES = ((ORAL, _(u'Oral')),
(ESCRITA, _(u'Escrita')))
APRESENTACAO_CHOICES = ((ORAL, _('Oral')),
(ESCRITA, _('Escrita')))
relatoria = models.ForeignKey(Relatoria)
materia = models.ForeignKey(MateriaLegislativa)
@ -305,11 +305,11 @@ class Parecer(models.Model):
parecer = models.TextField(blank=True, null=True)
class Meta:
verbose_name = _(u'Parecer')
verbose_name_plural = _(u'Pareceres')
verbose_name = _('Parecer')
verbose_name_plural = _('Pareceres')
def __unicode__ (self):
return _(u'%(relatoria)s - %(tipo)s') % {
return _('%(relatoria)s - %(tipo)s') % {
'relatoria': self.relatoria, 'tipo': self.tipo_apresentacao
}
@ -317,20 +317,20 @@ class Parecer(models.Model):
class TipoProposicao(models.Model):
MATERIA = 'M'
DOCUMENTO = 'D'
MAT_OU_DOC_CHOICES = ((MATERIA, _(u'Matéria')),
(DOCUMENTO, _(u'Documento')))
MAT_OU_DOC_CHOICES = ((MATERIA, _('Matéria')),
(DOCUMENTO, _('Documento')))
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)
modelo = models.CharField(max_length=50, verbose_name=_(u'Modelo XML'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
materia_ou_documento = models.CharField(max_length=1, verbose_name=_('Gera'), choices=MAT_OU_DOC_CHOICES)
modelo = models.CharField(max_length=50, verbose_name=_('Modelo XML'))
# mutually exclusive (depend on materia_ou_documento)
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_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_('Tipo Matéria'))
tipo_documento = models.ForeignKey(TipoDocumento, blank=True, null=True, verbose_name=_('Tipo Documento'))
class Meta:
verbose_name = _(u'Tipo de Proposição')
verbose_name_plural = _(u'Tipos de Proposições')
verbose_name = _('Tipo de Proposição')
verbose_name_plural = _('Tipos de Proposições')
def __unicode__ (self):
return self.descricao
@ -339,22 +339,22 @@ class TipoProposicao(models.Model):
class Proposicao(models.Model):
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True)
autor = models.ForeignKey(Autor)
tipo = models.ForeignKey(TipoProposicao, verbose_name=_(u'Tipo'))
tipo = models.ForeignKey(TipoProposicao, verbose_name=_('Tipo'))
# XXX data_envio was not null, but actual data said otherwise!!!
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'))
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'))
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''))
data_envio = models.DateTimeField(null=True, verbose_name=_('Data de Envio'))
data_recebimento = models.DateTimeField(blank=True, null=True, verbose_name=_('Data de Incorporação'))
descricao = models.CharField(max_length=100, verbose_name=_('Descrição'))
data_devolucao = models.DateTimeField(blank=True, null=True, verbose_name=_('Data de devolução'))
justificativa_devolucao = models.CharField(max_length=200, blank=True, null=True, verbose_name=_('Justificativa da Devolução'))
numero_proposicao = models.IntegerField(blank=True, null=True, verbose_name=_(''))
# mutually exclusive (depend on tipo.materia_ou_documento)
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'))
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True, verbose_name=_('Matéria'))
documento = models.ForeignKey(DocumentoAcessorio, blank=True, null=True, verbose_name=_('Documento'))
class Meta:
verbose_name = _(u'Proposição')
verbose_name_plural = _(u'Proposições')
verbose_name = _('Proposição')
verbose_name_plural = _('Proposições')
def __unicode__ (self):
return self.descricao
@ -363,35 +363,35 @@ class Proposicao(models.Model):
class StatusTramitacao(models.Model):
FIM = 'F'
RETORNO = 'R'
INDICADOR_CHOICES = ((FIM, _(u'Fim')),
(RETORNO, _(u'Retorno')))
INDICADOR_CHOICES = ((FIM, _('Fim')),
(RETORNO, _('Retorno')))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição'))
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_('Descrição'))
# 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)
indicador = models.CharField(max_length=1, verbose_name=_('Indicador da Tramitação'), choices=INDICADOR_CHOICES)
class Meta:
verbose_name = _(u'Status de Tramitação')
verbose_name_plural = _(u'Status de Tramitação')
verbose_name = _('Status de Tramitação')
verbose_name_plural = _('Status de Tramitação')
def __unicode__(self):
return _(u'%(sigla)s - %(descricao)s - %(indicador)s') % {
return _('%(sigla)s - %(descricao)s - %(indicador)s') % {
'sigla': self.sigla, 'descricao': self.descricao, 'indicador': self.indicador
}
class UnidadeTramitacao(models.Model):
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'))
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True, verbose_name=_(u'Parlamentar'))
comissao = models.ForeignKey(Comissao, blank=True, null=True, verbose_name=_('Comissão'))
orgao = models.ForeignKey(Orgao, blank=True, null=True, verbose_name=_('Órgão'))
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True, verbose_name=_('Parlamentar'))
class Meta:
verbose_name = _(u'Unidade de Tramitação')
verbose_name_plural = _(u'Unidades de Tramitação')
verbose_name = _('Unidade de Tramitação')
verbose_name_plural = _('Unidades de Tramitação')
def __unicode__ (self):
return _(u'%(orgao)s %(comissao)s') % {
return _('%(orgao)s %(comissao)s') % {
'orgao': self.orgao, 'comissao': self.comissao
}
@ -405,32 +405,32 @@ class Tramitacao(models.Model):
VOTACAO_UNICA = 'A'
PRIMEIRA_VOTACAO = 'B'
SEGUNDA_TERCEIRA_VOTACAO = 'C'
TURNO_CHOICES = ((PRIMEIRO, _(u'Primeiro')),
(SEGUNDO, _(u'Segundo')),
(UNICO, _(u'Único')),
(SUPLEMENTAR, _(u'Suplementar')),
(FINAL, _(u'Final')),
(VOTACAO_UNICA, _(u'Votação única em Regime de Urgência')),
(PRIMEIRA_VOTACAO, _(u'1ª Votação')),
(SEGUNDA_TERCEIRA_VOTACAO, _(u'2ª e 3ª Votação')))
status = models.ForeignKey(StatusTramitacao, blank=True, null=True, verbose_name=_(u'Status'))
TURNO_CHOICES = ((PRIMEIRO, _('Primeiro')),
(SEGUNDO, _('Segundo')),
(UNICO, _('Único')),
(SUPLEMENTAR, _('Suplementar')),
(FINAL, _('Final')),
(VOTACAO_UNICA, _('Votação única em Regime de Urgência')),
(PRIMEIRA_VOTACAO, _('1ª Votação')),
(SEGUNDA_TERCEIRA_VOTACAO, _('2ª e 3ª Votação')))
status = models.ForeignKey(StatusTramitacao, blank=True, null=True, verbose_name=_('Status'))
materia = models.ForeignKey(MateriaLegislativa)
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'))
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'))
data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_('Data Tramitação'))
unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_('Unidade Local'))
data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_('Data Encaminhamento'))
unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_('Unidade Destino'))
ultima = models.BooleanField()
urgente = models.BooleanField(verbose_name=_(u'Urgente ?'))
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'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_(u'Data Fim Prazo'))
urgente = models.BooleanField(verbose_name=_('Urgente ?'))
turno = models.CharField(max_length=1, blank=True, null=True, verbose_name=_('Turno'), choices=TURNO_CHOICES)
texto = models.TextField(blank=True, null=True, verbose_name=_('Texto da Ação'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_('Data Fim Prazo'))
class Meta:
verbose_name = _(u'Tramitação')
verbose_name_plural = _(u'Tramitações')
verbose_name = _('Tramitação')
verbose_name_plural = _('Tramitações')
def __unicode__ (self):
return _(u'%(materia)s | %(status)s | %(data)s') % {
return _('%(materia)s | %(status)s | %(data)s') % {
'materia': self.materia, 'status': self.status, 'data': self.data_tramitacao
}

2
norma/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class NormaAppConfig(AppConfig):
name = 'norma'
verbose_name = u'Norma Jurídica'
verbose_name = 'Norma Jurídica'

100
norma/models.py

@ -6,12 +6,12 @@ from materia.models import MateriaLegislativa
class AssuntoNorma(models.Model):
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'))
assunto = models.CharField(max_length=50, verbose_name=_('Assunto'))
descricao = models.CharField(max_length=250, blank=True, null=True, verbose_name=_('Descrição'))
class Meta:
verbose_name = _(u'Assunto de Norma')
verbose_name_plural = _(u'Assuntos de Norma')
verbose_name = _('Assunto de Norma')
verbose_name_plural = _('Assuntos de Norma')
class TipoNormaJuridica(models.Model):
@ -31,76 +31,76 @@ class TipoNormaJuridica(models.Model):
'resolucao',
'regimento.interno',
))
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'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
equivalente_lexml = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Equivalente LexML'), choices=EQUIVALENTE_LEXML_CHOICES)
sigla = models.CharField(max_length=3, verbose_name=_('Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
class Meta:
verbose_name = _(u'Tipo de Norma Jurídica')
verbose_name_plural = _(u'Tipos de Norma Jurídica')
verbose_name = _('Tipo de Norma Jurídica')
verbose_name_plural = _('Tipos de Norma Jurídica')
class NormaJuridica(models.Model):
MUNICIPAL = 'M'
ESTADUAL = 'E'
FEDERAL = 'F'
ESFERA_FEDERACAO_CHOICES = ((MUNICIPAL, _(u'Municipal')),
(ESTADUAL, _(u'Estadual')),
(FEDERAL, _(u'Federal')))
ESFERA_FEDERACAO_CHOICES = ((MUNICIPAL, _('Municipal')),
(ESTADUAL, _('Estadual')),
(FEDERAL, _('Federal')))
tipo = models.ForeignKey(TipoNormaJuridica, verbose_name=_(u'Tipo'))
tipo = models.ForeignKey(TipoNormaJuridica, verbose_name=_('Tipo'))
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True)
numero = models.IntegerField(verbose_name=_(u'Número'))
ano = models.SmallIntegerField(verbose_name=_(u'Ano'))
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'))
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'))
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'))
ementa = models.TextField(verbose_name=_(u'Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_(u'Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
complemento = models.NullBooleanField(blank=True, verbose_name=_(u'Complementar ?'))
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
esfera_federacao = models.CharField(max_length=1, verbose_name=_('Esfera Federação'), choices=ESFERA_FEDERACAO_CHOICES)
data = models.DateField(blank=True, null=True, verbose_name=_('Data'))
data_publicacao = models.DateField(blank=True, null=True, verbose_name=_('Data Publicação'))
veiculo_publicacao = models.CharField(max_length=30, blank=True, null=True, verbose_name=_('Veículo Publicação'))
pagina_inicio_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_('Pg. Início'))
pagina_fim_publicacao = models.IntegerField(blank=True, null=True, verbose_name=_('Pg. Fim'))
ementa = models.TextField(verbose_name=_('Ementa'))
indexacao = models.TextField(blank=True, null=True, verbose_name=_('Indexação'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observação'))
complemento = models.NullBooleanField(blank=True, verbose_name=_('Complementar ?'))
assunto = models.ForeignKey(AssuntoNorma) # XXX was a CharField (attention on migrate)
data_vigencia = models.DateField(blank=True, null=True)
timestamp = models.DateTimeField()
class Meta:
verbose_name = _(u'Norma Jurídica')
verbose_name_plural = _(u'Normas Jurídicas')
verbose_name = _('Norma Jurídica')
verbose_name_plural = _('Normas Jurídicas')
class LegislacaoCitada(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
norma = models.ForeignKey(NormaJuridica)
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'))
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'))
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'))
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'))
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'))
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'))
disposicoes = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Disposição'))
parte = models.CharField(max_length=8, blank=True, null=True, verbose_name=_('Parte'))
livro = models.CharField(max_length=7, blank=True, null=True, verbose_name=_('Livro'))
titulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_('Título'))
capitulo = models.CharField(max_length=7, blank=True, null=True, verbose_name=_('Capítulo'))
secao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_('Seção'))
subsecao = models.CharField(max_length=7, blank=True, null=True, verbose_name=_('Subseção'))
artigo = models.CharField(max_length=4, blank=True, null=True, verbose_name=_('Artigo'))
paragrafo = models.CharField(max_length=3, blank=True, null=True, verbose_name=_('Parágrafo'))
inciso = models.CharField(max_length=10, blank=True, null=True, verbose_name=_('Inciso'))
alinea = models.CharField(max_length=3, blank=True, null=True, verbose_name=_('Alínea'))
item = models.CharField(max_length=3, blank=True, null=True, verbose_name=_('Item'))
class Meta:
verbose_name = _(u'Matéria Legislativa')
verbose_name_plural = _(u'Matérias Legislativas')
verbose_name = _('Matéria Legislativa')
verbose_name_plural = _('Matérias Legislativas')
class VinculoNormaJuridica(models.Model):
TIPO_VINCULO_CHOICES = (
('A', u'Altera a norma'),
('R', u'Revoga a norma'),
('P', u'Revoga parcialmente a norma'),
('T', u'Revoga por consolidação a norma'),
('C', u'Norma correlata'),
('I', u'Suspende a execução da norma'),
('G', u'Regulamenta a norma'),
('A', 'Altera a norma'),
('R', 'Revoga a norma'),
('P', 'Revoga parcialmente a norma'),
('T', 'Revoga por consolidação a norma'),
('C', 'Norma correlata'),
('I', 'Suspende a execução da norma'),
('G', 'Regulamenta a norma'),
)
# TODO M2M ???
@ -109,5 +109,5 @@ class VinculoNormaJuridica(models.Model):
tipo_vinculo = models.CharField(max_length=1, blank=True, null=True, choices=TIPO_VINCULO_CHOICES)
class Meta:
verbose_name = _(u'Vínculo entre Normas Jurídicas')
verbose_name_plural = _(u'Vínculos entre Normas Jurídicas')
verbose_name = _('Vínculo entre Normas Jurídicas')
verbose_name_plural = _('Vínculos entre Normas Jurídicas')

2
parlamentares/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class ParlamentaresAppConfig(AppConfig):
name = 'parlamentares'
verbose_name = u'Parlamentares'
verbose_name = 'Parlamentares'

268
parlamentares/models.py

@ -4,53 +4,53 @@ from django.utils.translation import ugettext as _
class Legislatura(models.Model):
data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(verbose_name=_(u'Data Fim'))
data_eleicao = models.DateField(verbose_name=_(u'Data Eleição'))
data_inicio = models.DateField(verbose_name=_('Data Início'))
data_fim = models.DateField(verbose_name=_('Data Fim'))
data_eleicao = models.DateField(verbose_name=_('Data Eleição'))
class Meta:
verbose_name = _(u'Legislatura')
verbose_name_plural = _(u'Legislaturas')
verbose_name = _('Legislatura')
verbose_name_plural = _('Legislaturas')
class SessaoLegislativa(models.Model):
ORDINARIA = 'O'
EXTRAORDINARIA = 'E'
TIPO_SESSAO_CHOICES = ((ORDINARIA, _(u'Ordinária')),
(EXTRAORDINARIA, _(u'Extraordinária')))
TIPO_SESSAO_CHOICES = ((ORDINARIA, _('Ordinária')),
(EXTRAORDINARIA, _('Extraordinária')))
legislatura = models.ForeignKey(Legislatura)
numero = models.IntegerField(verbose_name=_(u'Número'))
tipo = models.CharField(max_length=1, verbose_name=_(u'Tipo'), choices=TIPO_SESSAO_CHOICES)
data_inicio = models.DateField(verbose_name=_(u'Data Início'))
data_fim = models.DateField(verbose_name=_(u'Data Fim'))
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'))
numero = models.IntegerField(verbose_name=_('Número'))
tipo = models.CharField(max_length=1, verbose_name=_('Tipo'), choices=TIPO_SESSAO_CHOICES)
data_inicio = models.DateField(verbose_name=_('Data Início'))
data_fim = models.DateField(verbose_name=_('Data Fim'))
data_inicio_intervalo = models.DateField(blank=True, null=True, verbose_name=_('Início Intervalo'))
data_fim_intervalo = models.DateField(blank=True, null=True, verbose_name=_('Fim Intervalo'))
class Meta:
verbose_name = _(u'Sessão Legislativa')
verbose_name_plural = _(u'Sessões Legislativas')
verbose_name = _('Sessão Legislativa')
verbose_name_plural = _('Sessões Legislativas')
class Coligacao(models.Model):
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
numero_votos = models.IntegerField(blank=True, null=True, verbose_name=_(u'Nº Votos Recebidos'))
legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
numero_votos = models.IntegerField(blank=True, null=True, verbose_name=_('Nº Votos Recebidos'))
class Meta:
verbose_name = _(u'Coligação')
verbose_name_plural = _(u'Coligações')
verbose_name = _('Coligação')
verbose_name_plural = _('Coligações')
class Partido(models.Model):
sigla = models.CharField(max_length=9, verbose_name=_(u'Sigla'))
nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
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'))
sigla = models.CharField(max_length=9, verbose_name=_('Sigla'))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
data_criacao = models.DateField(blank=True, null=True, verbose_name=_('Data Criação'))
data_extincao = models.DateField(blank=True, null=True, verbose_name=_('Data Extinção'))
class Meta:
verbose_name = _(u'Partido')
verbose_name_plural = _(u'Partidos')
verbose_name = _('Partido')
verbose_name_plural = _('Partidos')
class ComposicaoColigacao(models.Model):
@ -63,43 +63,43 @@ class Municipio(models.Model): # Localidade
# TODO filter on migration leaving only cities
REGIAO_CHOICES = (
('CO', u'Centro-Oeste'),
('NE', u'Nordeste'),
('NO', u'Norte'),
('SE', u'Sudeste'), # TODO convert on migrate SD => SE
('SL', u'Sul'),
('EX', u'Exterior'),
('CO', 'Centro-Oeste'),
('NE', 'Nordeste'),
('NO', 'Norte'),
('SE', 'Sudeste'), # TODO convert on migrate SD => SE
('SL', 'Sul'),
('EX', 'Exterior'),
)
UF_CHOICES = (
('AC', u'Acre'),
('AL', u'Alagoas'),
('AP', u'Amapá'),
('AM', u'Amazonas'),
('BA', u'Bahia'),
('CE', u'Ceará'),
('DF', u'Distrito Federal'),
('ES', u'Espírito Santo'),
('GO', u'Goiás'),
('MA', u'Maranhão'),
('MT', u'Mato Grosso'),
('MS', u'Mato Grosso do Sul'),
('MG', u'Minas Gerais'),
('PR', u'Paraná'),
('PB', u'Paraíba'),
('PA', u'Pará'),
('PE', u'Pernambuco'),
('PI', u'Piauí'),
('RJ', u'Rio de Janeiro'),
('RN', u'Rio Grande do Norte'),
('RS', u'Rio Grande do Sul'),
('RO', u'Rondônia'),
('RR', u'Roraima'),
('SC', u'Santa Catarina'),
('SE', u'Sergipe'),
('SP', u'São Paulo'),
('TO', u'Tocantins'),
('EX', u'Exterior'),
('AC', 'Acre'),
('AL', 'Alagoas'),
('AP', 'Amapá'),
('AM', 'Amazonas'),
('BA', 'Bahia'),
('CE', 'Ceará'),
('DF', 'Distrito Federal'),
('ES', 'Espírito Santo'),
('GO', 'Goiás'),
('MA', 'Maranhão'),
('MT', 'Mato Grosso'),
('MS', 'Mato Grosso do Sul'),
('MG', 'Minas Gerais'),
('PR', 'Paraná'),
('PB', 'Paraíba'),
('PA', 'Pará'),
('PE', 'Pernambuco'),
('PI', 'Piauí'),
('RJ', 'Rio de Janeiro'),
('RN', 'Rio Grande do Norte'),
('RS', 'Rio Grande do Sul'),
('RO', 'Rondônia'),
('RR', 'Roraima'),
('SC', 'Santa Catarina'),
('SE', 'Sergipe'),
('SP', 'São Paulo'),
('TO', 'Tocantins'),
('EX', 'Exterior'),
)
nome = models.CharField(max_length=50, blank=True, null=True)
@ -107,64 +107,64 @@ class Municipio(models.Model): # Localidade
regiao = models.CharField(max_length=2, blank=True, null=True, choices=REGIAO_CHOICES)
class Meta:
verbose_name = _(u'Município')
verbose_name_plural = _(u'Municípios')
verbose_name = _('Município')
verbose_name_plural = _('Municípios')
class NivelInstrucao(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Nível de Instrução'))
descricao = models.CharField(max_length=50, verbose_name=_('Nível de Instrução'))
class Meta:
verbose_name = _(u'Nível Instrução')
verbose_name_plural = _(u'Níveis Instrução')
verbose_name = _('Nível Instrução')
verbose_name_plural = _('Níveis Instrução')
def __unicode__(self):
return self.nivel_instrucao
class SituacaoMilitar(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Situação Militar'))
descricao = models.CharField(max_length=50, verbose_name=_('Situação Militar'))
class Meta:
verbose_name = _(u'Tipo Situação Militar')
verbose_name_plural = _(u'Tipos Situações Militares')
verbose_name = _('Tipo Situação Militar')
verbose_name_plural = _('Tipos Situações Militares')
class Parlamentar(models.Model):
FEMININO = 'F'
MASCULINO = 'M'
SEXO_CHOICE = ((FEMININO, _(u'Feminino')),
(MASCULINO, _(u'Masculino')))
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'))
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'))
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'))
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.'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Título de Eleitor'))
SEXO_CHOICE = ((FEMININO, _('Feminino')),
(MASCULINO, _('Masculino')))
nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True, verbose_name=_('Nível Instrução'))
situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True, verbose_name=_('Situação Militar'))
nome_completo = models.CharField(max_length=50, verbose_name=_('Nome Completo'))
nome_parlamentar = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Nome Parlamentar'))
sexo = models.CharField(max_length=1, verbose_name=_('Sexo'), choices=SEXO_CHOICE)
data_nascimento = models.DateField(blank=True, null=True, verbose_name=_('Data Nascimento'))
cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_('C.P.F'))
rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('R.G.'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Título de Eleitor'))
cod_casa = models.IntegerField()
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'))
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'))
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'))
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'))
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'))
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'))
ativo = models.BooleanField(verbose_name=_(u'Ativo na Casa?'))
biografia = models.TextField(blank=True, null=True, verbose_name=_(u'Biografia'))
numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True, verbose_name=_('Nº Gabinete'))
telefone = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Telefone'))
fax = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Fax'))
endereco_residencia = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Endereço Residencial'))
municipio_residencia = models.ForeignKey(Municipio, blank=True, null=True, verbose_name=_('Município'))
cep_residencia = models.CharField(max_length=9, blank=True, null=True, verbose_name=_('CEP'))
telefone_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Telefone Residencial'))
fax_residencia = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Fax Residencial'))
endereco_web = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('HomePage'))
profissao = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Profissão'))
email = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Correio Eletrônico'))
locais_atuacao = models.CharField(max_length=100, blank=True, null=True, verbose_name=_('Locais de Atuação'))
ativo = models.BooleanField(verbose_name=_('Ativo na Casa?'))
biografia = models.TextField(blank=True, null=True, verbose_name=_('Biografia'))
unidade_deliberativa = models.BooleanField()
class Meta:
verbose_name = _(u'Parlamentar')
verbose_name_plural = _(u'Parlamentares')
verbose_name = _('Parlamentar')
verbose_name_plural = _('Parlamentares')
def __unicode__(self):
return self.nome_completo
@ -174,77 +174,77 @@ class TipoDependente(models.Model):
descricao = models.CharField(max_length=50)
class Meta:
verbose_name = _(u'Tipo de Dependente')
verbose_name_plural = _(u'Tipos de Dependente')
verbose_name = _('Tipo de Dependente')
verbose_name_plural = _('Tipos de Dependente')
class Dependente(models.Model):
FEMININO = 'F'
MASCULINO = 'M'
SEXO_CHOICE = ((FEMININO, _(u'Feminino')),
(MASCULINO, _(u'Masculino')))
SEXO_CHOICE = ((FEMININO, _('Feminino')),
(MASCULINO, _('Masculino')))
tipo = models.ForeignKey(TipoDependente, verbose_name=_(u'Tipo'))
tipo = models.ForeignKey(TipoDependente, verbose_name=_('Tipo'))
parlamentar = models.ForeignKey(Parlamentar)
nome = models.CharField(max_length=50, verbose_name=_(u'Nome'))
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'))
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'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_(u'Nº Título Eleitor'))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
sexo = models.CharField(max_length=1, verbose_name=_('Sexo'), choices=SEXO_CHOICE)
data_nascimento = models.DateField(blank=True, null=True, verbose_name=_('Data Nascimento'))
cpf = models.CharField(max_length=14, blank=True, null=True, verbose_name=_('CPF'))
rg = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('RG'))
titulo_eleitor = models.CharField(max_length=15, blank=True, null=True, verbose_name=_('Nº Título Eleitor'))
class Meta:
verbose_name = _(u'Dependente')
verbose_name_plural = _(u'Dependentes')
verbose_name = _('Dependente')
verbose_name_plural = _('Dependentes')
class Filiacao(models.Model):
data = models.DateField(verbose_name=_(u'Data Filiação'))
data = models.DateField(verbose_name=_('Data Filiação'))
parlamentar = models.ForeignKey(Parlamentar)
partido = models.ForeignKey(Partido, verbose_name=_(u'Partido'))
data_desfiliacao = models.DateField(blank=True, null=True, verbose_name=_(u'Data Desfiliação'))
partido = models.ForeignKey(Partido, verbose_name=_('Partido'))
data_desfiliacao = models.DateField(blank=True, null=True, verbose_name=_('Data Desfiliação'))
class Meta:
verbose_name = _(u'Filiação')
verbose_name_plural = _(u'Filiações')
verbose_name = _('Filiação')
verbose_name_plural = _('Filiações')
class TipoAfastamento(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
afastamento = models.BooleanField(verbose_name=_(u'Indicador'))
fim_mandato = models.BooleanField(verbose_name=_(u'Indicador'))
dispositivo = models.CharField(max_length=50, blank=True, null=True, verbose_name=_(u'Dispositivo'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
afastamento = models.BooleanField(verbose_name=_('Indicador'))
fim_mandato = models.BooleanField(verbose_name=_('Indicador'))
dispositivo = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Dispositivo'))
class Meta:
verbose_name = _(u'Tipo de Afastamento')
verbose_name_plural = _(u'Tipos de Afastamento')
verbose_name = _('Tipo de Afastamento')
verbose_name_plural = _('Tipos de Afastamento')
class Mandato(models.Model):
parlamentar = models.ForeignKey(Parlamentar)
tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True)
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
coligacao = models.ForeignKey(Coligacao, blank=True, null=True, verbose_name=_(u'Coligação'))
legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
coligacao = models.ForeignKey(Coligacao, blank=True, null=True, verbose_name=_('Coligação'))
# TODO what is this field??????
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'))
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'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
data_fim_mandato = models.DateField(blank=True, null=True, verbose_name=_('Fim do Mandato'))
votos_recebidos = models.IntegerField(blank=True, null=True, verbose_name=_('Votos Recebidos'))
data_expedicao_diploma = models.DateField(blank=True, null=True, verbose_name=_('Expedição do Diploma'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observação'))
class Meta:
verbose_name = _(u'Mandato')
verbose_name_plural = _(u'Mandatos')
verbose_name = _('Mandato')
verbose_name_plural = _('Mandatos')
class CargoMesa(models.Model):
# TODO M2M ????
descricao = models.CharField(max_length=50, verbose_name=_(u'Cargo na Mesa'))
unico = models.BooleanField(verbose_name=_(u'Cargo Único'))
descricao = models.CharField(max_length=50, verbose_name=_('Cargo na Mesa'))
unico = models.BooleanField(verbose_name=_('Cargo Único'))
class Meta:
verbose_name = _(u'Cargo na Mesa')
verbose_name_plural = _(u'Cargos na Mesa')
verbose_name = _('Cargo na Mesa')
verbose_name_plural = _('Cargos na Mesa')
class ComposicaoMesa(models.Model):
@ -254,5 +254,5 @@ class ComposicaoMesa(models.Model):
cargo = models.ForeignKey(CargoMesa)
class Meta:
verbose_name = _(u'Ocupação de cargo na Mesa')
verbose_name_plural = _(u'Ocupações de cargo na Mesa')
verbose_name = _('Ocupação de cargo na Mesa')
verbose_name_plural = _('Ocupações de cargo na Mesa')

2
protocoloadm/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class ProtocoloadmAppConfig(AppConfig):
name = 'protocoloadm'
verbose_name = u'Protocolo Administrativo'
verbose_name = 'Protocolo Administrativo'

100
protocoloadm/models.py

@ -6,63 +6,63 @@ from materia.models import Autor, TipoMateriaLegislativa, UnidadeTramitacao
class TipoDocumentoAdministrativo(models.Model):
sigla = models.CharField(max_length=5, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_(u'Descrição'))
sigla = models.CharField(max_length=5, verbose_name=_('Sigla'))
descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
class Meta:
verbose_name = _(u'Tipo de Documento Administrativo')
verbose_name_plural = _(u'Tipos de Documento Administrativo')
verbose_name = _('Tipo de Documento Administrativo')
verbose_name_plural = _('Tipos de Documento Administrativo')
class DocumentoAdministrativo(models.Model):
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo Documento'))
numero = models.IntegerField(verbose_name=_(u'Número'))
ano = models.SmallIntegerField(verbose_name=_(u'Ano'))
data = models.DateField(verbose_name=_(u'Data'))
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'))
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_('Tipo Documento'))
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
data = models.DateField(verbose_name=_('Data'))
numero_protocolo = models.IntegerField(blank=True, null=True, verbose_name=_('Núm. Protocolo'))
interessado = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
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'))
tramitacao = models.BooleanField(verbose_name=_(u'Em Tramitação?'))
assunto = models.TextField(verbose_name=_(u'Assunto'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observação'))
dias_prazo = models.IntegerField(blank=True, null=True, verbose_name=_('Dias Prazo'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_('Data Fim Prazo'))
tramitacao = models.BooleanField(verbose_name=_('Em Tramitação?'))
assunto = models.TextField(verbose_name=_('Assunto'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observação'))
class Meta:
verbose_name = _(u'Documento Administrativo')
verbose_name_plural = _(u'Documentos Administrativos')
verbose_name = _('Documento Administrativo')
verbose_name_plural = _('Documentos Administrativos')
class DocumentoAcessorioAdministrativo(models.Model):
documento = models.ForeignKey(DocumentoAdministrativo)
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=30, verbose_name=_(u'Nome'))
arquivo = models.CharField(max_length=100, verbose_name=_(u'Arquivo'))
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'))
assunto = models.TextField(blank=True, null=True, verbose_name=_(u'Assunto'))
tipo = models.ForeignKey(TipoDocumentoAdministrativo, verbose_name=_('Tipo'))
nome = models.CharField(max_length=30, verbose_name=_('Nome'))
arquivo = models.CharField(max_length=100, verbose_name=_('Arquivo'))
data = models.DateField(blank=True, null=True, verbose_name=_('Data'))
autor = models.CharField(max_length=50, blank=True, null=True, verbose_name=_('Autor'))
assunto = models.TextField(blank=True, null=True, verbose_name=_('Assunto'))
indexacao = models.TextField(blank=True, null=True)
class Meta:
verbose_name = _(u'Documento Acessório')
verbose_name_plural = _(u'Documentos Acessórios')
verbose_name = _('Documento Acessório')
verbose_name_plural = _('Documentos Acessórios')
class Protocolo(models.Model):
numero = models.IntegerField(blank=True, null=True, verbose_name=_(u'Número do Protocolo'))
numero = models.IntegerField(blank=True, null=True, verbose_name=_('Número do Protocolo'))
ano = models.SmallIntegerField()
data = models.DateField()
hora = models.TimeField()
timestamp = models.DateTimeField()
tipo_protocolo = models.IntegerField(verbose_name=_(u'Tipo de Protocolo'))
tipo_protocolo = models.IntegerField(verbose_name=_('Tipo de Protocolo'))
tipo_processo = models.IntegerField()
interessado = models.CharField(max_length=60, blank=True, null=True, verbose_name=_(u'Interessado'))
interessado = models.CharField(max_length=60, blank=True, null=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
assunto_ementa = models.TextField(blank=True, null=True)
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'))
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'))
tipo_documento = models.ForeignKey(TipoDocumentoAdministrativo, blank=True, null=True, verbose_name=_('Tipo de documento'))
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, verbose_name=_('Tipo Matéria'))
numero_paginas = models.IntegerField(blank=True, null=True, verbose_name=_('Número de Páginas'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observação'))
anulado = models.BooleanField()
user_anulacao = models.CharField(max_length=20, blank=True, null=True)
ip_anulacao = models.CharField(max_length=15, blank=True, null=True)
@ -70,37 +70,37 @@ class Protocolo(models.Model):
timestamp_anulacao = models.DateTimeField(blank=True, null=True)
class Meta:
verbose_name = _(u'Protocolo')
verbose_name_plural = _(u'Protocolos')
verbose_name = _('Protocolo')
verbose_name_plural = _('Protocolos')
class StatusTramitacaoAdministrativo(models.Model):
FIM = 'F'
RETORNO = 'R'
INDICADOR_CHOICES = ((FIM, _(u'Fim')),
(RETORNO, _(u'Retorno')))
INDICADOR_CHOICES = ((FIM, _('Fim')),
(RETORNO, _('Retorno')))
sigla = models.CharField(max_length=10, verbose_name=_(u'Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_(u'Descrição'))
sigla = models.CharField(max_length=10, verbose_name=_('Sigla'))
descricao = models.CharField(max_length=60, verbose_name=_('Descrição'))
# 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)
indicador = models.CharField(max_length=1, verbose_name=_('Indicador da Tramitação'), choices=INDICADOR_CHOICES)
class Meta:
verbose_name = _(u'Status de Tramitação')
verbose_name_plural = _(u'Status de Tramitação')
verbose_name = _('Status de Tramitação')
verbose_name_plural = _('Status de Tramitação')
class TramitacaoAdministrativo(models.Model):
status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True, verbose_name=_(u'Status'))
status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True, verbose_name=_('Status'))
documento = models.ForeignKey(DocumentoAdministrativo)
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'))
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'))
data_tramitacao = models.DateField(blank=True, null=True, verbose_name=_('Data Tramitação'))
unidade_tramitacao_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_('Unidade Local'))
data_encaminhamento = models.DateField(blank=True, null=True, verbose_name=_('Data Encaminhamento'))
unidade_tramitacao_destino = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+', verbose_name=_('Unidade Destino'))
ultima = models.BooleanField()
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'))
texto = models.TextField(blank=True, null=True, verbose_name=_('Texto da Ação'))
data_fim_prazo = models.DateField(blank=True, null=True, verbose_name=_('Data Fim do Prazo'))
class Meta:
verbose_name = _(u'Tramitação de Documento Administrativo')
verbose_name_plural = _(u'Tramitações de Documento Administrativo')
verbose_name = _('Tramitação de Documento Administrativo')
verbose_name_plural = _('Tramitações de Documento Administrativo')

2
sessao/apps.py

@ -4,4 +4,4 @@ from django.apps import AppConfig
class SessaoAppConfig(AppConfig):
name = 'sessao'
verbose_name = u'Sessão Plenária'
verbose_name = 'Sessão Plenária'

126
sessao/models.py

@ -8,12 +8,12 @@ from sapl.utils import make_choices
class TipoSessaoPlenaria(models.Model):
nome = models.CharField(max_length=30, verbose_name=_(u'Tipo'))
quorum_minimo = models.IntegerField(verbose_name=_(u'Quórum mínimo'))
nome = models.CharField(max_length=30, verbose_name=_('Tipo'))
quorum_minimo = models.IntegerField(verbose_name=_('Quórum mínimo'))
class Meta:
verbose_name = _(u'Tipo de Sessão Plenária')
verbose_name_plural = _(u'Tipos de Sessão Plenária')
verbose_name = _('Tipo de Sessão Plenária')
verbose_name_plural = _('Tipos de Sessão Plenária')
def __unicode__(self):
return self.nome
@ -25,26 +25,26 @@ class SessaoPlenaria(models.Model):
# TODO analyze querying all hosted databases !
cod_andamento_sessao = models.IntegerField(blank=True, null=True)
tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_(u'Tipo'))
sessao_legislativa = models.ForeignKey(SessaoLegislativa, verbose_name=_(u'Sessão Legislativa'))
legislatura = models.ForeignKey(Legislatura, verbose_name=_(u'Legislatura'))
tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_('Tipo'))
sessao_legislativa = models.ForeignKey(SessaoLegislativa, verbose_name=_('Sessão Legislativa'))
legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
# XXX seems to be empty
tipo_expediente = models.CharField(max_length=10)
data_inicio = models.DateField(verbose_name=_(u'Abertura'))
data_inicio = models.DateField(verbose_name=_('Abertura'))
dia = models.CharField(max_length=15)
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'))
numero = models.IntegerField(verbose_name=_(u'Número'))
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_video = models.CharField(max_length=150, blank=True, null=True, verbose_name=_(u'URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
hora_inicio = models.CharField(max_length=5, verbose_name=_('Horário'))
hora_fim = models.CharField(max_length=5, blank=True, null=True, verbose_name=_('Horário'))
numero = models.IntegerField(verbose_name=_('Número'))
data_fim = models.DateField(blank=True, null=True, verbose_name=_('Encerramento'))
url_audio = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)'))
url_video = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
class Meta:
verbose_name = _(u'Sessão Plenária')
verbose_name_plural = _(u'Sessões Plenárias')
verbose_name = _('Sessão Plenária')
verbose_name_plural = _('Sessões Plenárias')
def __unicode__(self):
return _(u'%sª Sessão %s da %sª Sessão Legislativa da %sª Legislatura') % (
return _('%sª Sessão %s da %sª Sessão Legislativa da %sª Legislatura') % (
self.numero,
self.tipo.nome,
self.sessao_legislativa.numero,
@ -53,39 +53,39 @@ class SessaoPlenaria(models.Model):
class AbstractOrdemDia(models.Model):
TIPO_VOTACAO_CHOICES, SIMBOLICA, NOMINAL, SECRETA = make_choices(
1, _(u'Simbólica'),
2, _(u'Nominal'),
3, _(u'Secreta'),
1, _('Simbólica'),
2, _('Nominal'),
3, _('Secreta'),
)
sessao_plenaria = models.ForeignKey(SessaoPlenaria)
materia = models.ForeignKey(MateriaLegislativa)
data_ordem = models.DateField(verbose_name=_(u'Data da Sessão'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Ementa'))
numero_ordem = models.IntegerField(verbose_name=_(u'Nº Ordem'))
data_ordem = models.DateField(verbose_name=_('Data da Sessão'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Ementa'))
numero_ordem = models.IntegerField(verbose_name=_('Nº Ordem'))
resultado = models.TextField(blank=True, null=True)
tipo_votacao = models.IntegerField(verbose_name=_(u'Tipo de votação'), choices=TIPO_VOTACAO_CHOICES)
tipo_votacao = models.IntegerField(verbose_name=_('Tipo de votação'), choices=TIPO_VOTACAO_CHOICES)
class Meta:
abstract = True
def __unicode__(self):
return u'%s - %s' % (self.numero_ordem, self.sessao_plenaria)
return '%s - %s' % (self.numero_ordem, self.sessao_plenaria)
class ExpedienteMateria(AbstractOrdemDia):
class Meta:
verbose_name = _(u'Matéria do Expediente')
verbose_name_plural = _(u'Matérias do Expediente')
verbose_name = _('Matéria do Expediente')
verbose_name_plural = _('Matérias do Expediente')
class TipoExpediente(models.Model):
nome = models.CharField(max_length=100, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=100, verbose_name=_('Tipo'))
class Meta:
verbose_name = _(u'Tipo de Expediente')
verbose_name_plural = _(u'Tipos de Expediente')
verbose_name = _('Tipo de Expediente')
verbose_name_plural = _('Tipos de Expediente')
def __unicode__(self):
return self.nome
@ -94,14 +94,14 @@ class TipoExpediente(models.Model):
class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria)
tipo = models.ForeignKey(TipoExpediente)
conteudo = models.TextField(blank=True, null=True, verbose_name=_(u'Conteúdo do expediente'))
conteudo = models.TextField(blank=True, null=True, verbose_name=_('Conteúdo do expediente'))
class Meta:
verbose_name = _(u'Expediente de Sessão Plenaria')
verbose_name_plural = _(u'Expedientes de Sessão Plenaria')
verbose_name = _('Expediente de Sessão Plenaria')
verbose_name_plural = _('Expedientes de Sessão Plenaria')
def __unicode__(self):
return u'%s - %s' % (self.tipo, self.sessao_plenaria)
return '%s - %s' % (self.tipo, self.sessao_plenaria)
class IntegranteMesa(models.Model): # MesaSessaoPlenaria
@ -110,24 +110,24 @@ class IntegranteMesa(models.Model): # MesaSessaoPlenaria
parlamentar = models.ForeignKey(Parlamentar)
class Meta:
verbose_name = _(u'Participação em Mesa de Sessão Plenaria')
verbose_name_plural = _(u'Participações em Mesas de Sessão Plenaria')
verbose_name = _('Participação em Mesa de Sessão Plenaria')
verbose_name_plural = _('Participações em Mesas de Sessão Plenaria')
def __unicode__(self):
return u'%s - %s' % (self.cargo, self.parlamentar)
return '%s - %s' % (self.cargo, self.parlamentar)
class AbstractOrador(models.Model): # Oradores
sessao_plenaria = models.ForeignKey(SessaoPlenaria)
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_(u'Parlamentar'))
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'))
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_('Parlamentar'))
numero_ordem = models.IntegerField(verbose_name=_('Ordem de pronunciamento'))
url_discurso = models.CharField(max_length=150, blank=True, null=True, verbose_name=_('URL Vídeo'))
class Meta:
abstract = True
def __unicode__(self):
return _(u'%(nome)s (%(numero)sº orador)') % {
return _('%(nome)s (%(numero)sº orador)') % {
'nome': self.parlamentar,
'numero': self.numero_ordem}
@ -135,22 +135,22 @@ class AbstractOrador(models.Model): # Oradores
class Orador(AbstractOrador): # Oradores
class Meta:
verbose_name = _(u'Orador das Explicações Pessoais')
verbose_name_plural = _(u'Oradores das Explicações Pessoais')
verbose_name = _('Orador das Explicações Pessoais')
verbose_name_plural = _('Oradores das Explicações Pessoais')
class OradorExpediente(AbstractOrador): # OradoresExpediente
class Meta:
verbose_name = _(u'Orador do Expediente')
verbose_name_plural = _(u'Oradores do Expediente')
verbose_name = _('Orador do Expediente')
verbose_name_plural = _('Oradores do Expediente')
class OrdemDia(AbstractOrdemDia):
class Meta:
verbose_name = _(u'Matéria da Ordem do Dia')
verbose_name_plural = _(u'Matérias da Ordem do Dia')
verbose_name = _('Matéria da Ordem do Dia')
verbose_name_plural = _('Matérias da Ordem do Dia')
class PresencaOrdemDia(models.Model): # OrdemDiaPresenca
@ -159,36 +159,36 @@ class PresencaOrdemDia(models.Model): # OrdemDiaPresenca
data_ordem = models.DateField()
class Meta:
verbose_name = _(u'Presença da Ordem do Dia')
verbose_name_plural = _(u'Presenças da Ordem do Dia')
verbose_name = _('Presença da Ordem do Dia')
verbose_name_plural = _('Presenças da Ordem do Dia')
def __unicode__(self):
return self.parlamentar
class TipoResultadoVotacao(models.Model):
nome = models.CharField(max_length=100, verbose_name=_(u'Tipo'))
nome = models.CharField(max_length=100, verbose_name=_('Tipo'))
class Meta:
verbose_name = _(u'Tipo de Resultado de Votação')
verbose_name_plural = _(u'Tipos de Resultado de Votação')
verbose_name = _('Tipo de Resultado de Votação')
verbose_name_plural = _('Tipos de Resultado de Votação')
def __unicode__(self):
return self.nome
class RegistroVotacao(models.Model):
tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao, verbose_name=_(u'Resultado da Votação'))
tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao, verbose_name=_('Resultado da Votação'))
materia = models.ForeignKey(MateriaLegislativa)
ordem = models.ForeignKey(OrdemDia)
numero_votos_sim = models.IntegerField(verbose_name=_(u'Sim'))
numero_votos_nao = models.IntegerField(verbose_name=_(u'Não'))
numero_abstencoes = models.IntegerField(verbose_name=_(u'Abstenções'))
observacao = models.TextField(blank=True, null=True, verbose_name=_(u'Observações'))
numero_votos_sim = models.IntegerField(verbose_name=_('Sim'))
numero_votos_nao = models.IntegerField(verbose_name=_('Não'))
numero_abstencoes = models.IntegerField(verbose_name=_('Abstenções'))
observacao = models.TextField(blank=True, null=True, verbose_name=_('Observações'))
class Meta:
verbose_name = _(u'Votação')
verbose_name_plural = _(u'Votações')
verbose_name = _('Votação')
verbose_name_plural = _('Votações')
def __unicode__(self):
return self.materia # XXX ?
@ -201,8 +201,8 @@ class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar
voto = models.CharField(max_length=10)
class Meta:
verbose_name = _(u'Registro de Votação de Parlamentar')
verbose_name_plural = _(u'Registros de Votações de Parlamentares')
verbose_name = _('Registro de Votação de Parlamentar')
verbose_name_plural = _('Registros de Votações de Parlamentares')
def __unicode__(self):
return self.parlamentar # XXX ?
@ -214,8 +214,8 @@ class SessaoPlenariaPresenca(models.Model):
data_sessao = models.DateField(blank=True, null=True)
class Meta:
verbose_name = _(u'Presença em Sessão Plenária')
verbose_name_plural = _(u'Presenças em Sessões Plenárias')
verbose_name = _('Presença em Sessão Plenária')
verbose_name_plural = _('Presenças em Sessões Plenárias')
def __unicode__(self):
return self.parlamentar # XXX ?

Loading…
Cancel
Save