Browse Source

Retira null=true de campos CharField e TextField

Fix #121
pull/202/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
517bdf5d9d
  1. 48
      base/migrations/0008_auto_20160216_1015.py
  2. 10
      base/models.py
  3. 79
      comissoes/migrations/0003_auto_20160216_1015.py
  4. 20
      comissoes/models.py
  5. 44
      lexml/migrations/0003_auto_20160216_1015.py
  6. 6
      lexml/models.py
  7. 124
      materia/migrations/0015_auto_20160216_1015.py
  8. 42
      materia/models.py
  9. 104
      norma/migrations/0010_auto_20160216_1015.py
  10. 34
      norma/models.py
  11. 129
      parlamentares/migrations/0011_auto_20160216_1015.py
  12. 39
      parlamentares/models.py
  13. 74
      protocoloadm/migrations/0006_auto_20160216_1015.py
  14. 24
      protocoloadm/models.py
  15. 69
      sessao/migrations/0013_auto_20160216_1015.py
  16. 16
      sessao/models.py

48
base/migrations/0008_auto_20160216_1015.py

@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import datetime
from django.utils.timezone import utc
import base.models
class Migration(migrations.Migration):
dependencies = [
('base', '0007_auto_20160107_1837'),
]
operations = [
migrations.AlterField(
model_name='casalegislativa',
name='email',
field=models.CharField(verbose_name='E-mail', max_length=100, default=datetime.datetime(2016, 2, 16, 12, 15, 30, 241941, tzinfo=utc), blank=True),
preserve_default=False,
),
migrations.AlterField(
model_name='casalegislativa',
name='endereco_web',
field=models.CharField(verbose_name='HomePage', max_length=100, blank=True),
),
migrations.AlterField(
model_name='casalegislativa',
name='fax',
field=models.CharField(verbose_name='Fax', max_length=100, blank=True),
),
migrations.AlterField(
model_name='casalegislativa',
name='informacao_geral',
field=models.CharField(verbose_name='Informação Geral', max_length=100, blank=True),
),
migrations.AlterField(
model_name='casalegislativa',
name='logotipo',
field=models.ImageField(verbose_name='Logotipo', upload_to=base.models.get_casa_media_path, blank=True),
),
migrations.AlterField(
model_name='casalegislativa',
name='telefone',
field=models.CharField(verbose_name='Telefone', max_length=100, blank=True),
),
]

10
base/models.py

@ -22,22 +22,20 @@ class CasaLegislativa(models.Model):
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, blank=True, null=True, verbose_name=_('Telefone'))
max_length=100, blank=True, verbose_name=_('Telefone'))
fax = models.CharField(
max_length=100, blank=True, null=True, verbose_name=_('Fax'))
max_length=100, blank=True, verbose_name=_('Fax'))
logotipo = models.ImageField(
blank=True,
null=True,
upload_to=get_casa_media_path,
verbose_name=_('Logotipo'))
endereco_web = models.CharField(
max_length=100, blank=True, null=True, verbose_name=_('HomePage'))
max_length=100, blank=True, verbose_name=_('HomePage'))
email = models.CharField(
max_length=100, blank=True, null=True, verbose_name=_('E-mail'))
max_length=100, blank=True, verbose_name=_('E-mail'))
informacao_geral = models.CharField(
max_length=100,
blank=True,
null=True,
verbose_name=_('Informação Geral'))
class Meta:

79
comissoes/migrations/0003_auto_20160216_1015.py

@ -0,0 +1,79 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('comissoes', '0002_auto_20150729_1310'),
]
operations = [
migrations.AlterField(
model_name='comissao',
name='agenda_reuniao',
field=models.CharField(verbose_name='Data/Hora Reunião', max_length=100, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='apelido_temp',
field=models.CharField(verbose_name='Apelido', max_length=100, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='email',
field=models.CharField(verbose_name='E-mail', max_length=100, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='endereco_secretaria',
field=models.CharField(verbose_name='Endereço Secretaria', max_length=100, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='fax_secretaria',
field=models.CharField(verbose_name='Fax Secretaria', max_length=15, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='finalidade',
field=models.TextField(verbose_name='Finalidade', blank=True),
),
migrations.AlterField(
model_name='comissao',
name='local_reuniao',
field=models.CharField(verbose_name='Local Reunião', max_length=100, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='secretario',
field=models.CharField(verbose_name='Secretário', max_length=30, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='telefone_reuniao',
field=models.CharField(verbose_name='Tel. Sala Reunião', max_length=15, blank=True),
),
migrations.AlterField(
model_name='comissao',
name='telefone_secretaria',
field=models.CharField(verbose_name='Tel. Secretaria', max_length=15, blank=True),
),
migrations.AlterField(
model_name='participacao',
name='motivo_desligamento',
field=models.CharField(verbose_name='Motivo Desligamento', max_length=150, blank=True),
),
migrations.AlterField(
model_name='participacao',
name='observacao',
field=models.CharField(verbose_name='Observação', max_length=150, blank=True),
),
migrations.AlterField(
model_name='tipocomissao',
name='dispositivo_regimental',
field=models.CharField(verbose_name='Dispositivo Regimental', max_length=50, blank=True),
),
]

20
comissoes/models.py

@ -17,7 +17,6 @@ class TipoComissao(models.Model):
dispositivo_regimental = models.CharField(
max_length=50,
blank=True,
null=True,
verbose_name=_('Dispositivo Regimental'))
class Meta:
@ -36,7 +35,7 @@ class Comissao(models.Model):
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'))
max_length=100, blank=True, verbose_name=_('Apelido'))
data_instalacao_temp = models.DateField(
blank=True, null=True, verbose_name=_('Data Instalação'))
data_final_prevista_temp = models.DateField(
@ -46,35 +45,31 @@ class Comissao(models.Model):
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'))
max_length=30, blank=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'))
max_length=15, blank=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'))
max_length=100, blank=True, verbose_name=_('Local Reunião'))
finalidade = models.TextField(
blank=True, null=True, verbose_name=_('Finalidade'))
blank=True, verbose_name=_('Finalidade'))
email = models.CharField(
max_length=100, blank=True, null=True, verbose_name=_('E-mail'))
max_length=100, blank=True, verbose_name=_('E-mail'))
unidade_deliberativa = models.BooleanField(
choices=YES_NO_CHOICES,
verbose_name=_('Unidade Deliberativa'))
@ -136,10 +131,9 @@ class Participacao(models.Model): # ComposicaoComissao
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'))
max_length=150, blank=True, verbose_name=_('Observação'))
class Meta:
verbose_name = _('Participação em Comissão')

44
lexml/migrations/0003_auto_20160216_1015.py

@ -0,0 +1,44 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('lexml', '0002_auto_20150806_1614'),
]
operations = [
migrations.AlterField(
model_name='lexmlprovedor',
name='email_responsavel',
field=models.CharField(verbose_name='E-mail do responsável', max_length=50, blank=True),
),
migrations.AlterField(
model_name='lexmlprovedor',
name='nome_responsavel',
field=models.CharField(verbose_name='Nome do responsável', max_length=255, blank=True),
),
migrations.AlterField(
model_name='lexmlprovedor',
name='xml',
field=models.TextField(verbose_name='XML fornecido pela equipe do LexML:', blank=True),
),
migrations.AlterField(
model_name='lexmlpublicador',
name='email_responsavel',
field=models.CharField(verbose_name='E-mail do responsável', max_length=50, blank=True),
),
migrations.AlterField(
model_name='lexmlpublicador',
name='nome_responsavel',
field=models.CharField(verbose_name='Nome do responsável', max_length=255, blank=True),
),
migrations.AlterField(
model_name='lexmlpublicador',
name='sigla',
field=models.CharField(verbose_name='Sigla do Publicador', max_length=255, blank=True),
),
]

6
lexml/models.py

@ -9,19 +9,16 @@ class LexmlProvedor(models.Model): # LexmlRegistroProvedor
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.PositiveIntegerField(
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:
@ -40,17 +37,14 @@ class LexmlPublicador(models.Model):
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.PositiveIntegerField(

124
materia/migrations/0015_auto_20160216_1015.py

@ -0,0 +1,124 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('materia', '0014_autoria_partido'),
]
operations = [
migrations.AlterField(
model_name='autor',
name='cargo',
field=models.CharField(max_length=50, blank=True),
),
migrations.AlterField(
model_name='autor',
name='nome',
field=models.CharField(verbose_name='Autor', max_length=50, blank=True),
),
migrations.AlterField(
model_name='autor',
name='username',
field=models.CharField(max_length=50, blank=True),
),
migrations.AlterField(
model_name='documentoacessorio',
name='autor',
field=models.CharField(verbose_name='Autor', max_length=50, blank=True),
),
migrations.AlterField(
model_name='documentoacessorio',
name='ementa',
field=models.TextField(verbose_name='Ementa', blank=True),
),
migrations.AlterField(
model_name='documentoacessorio',
name='indexacao',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='apelido',
field=models.CharField(verbose_name='Apelido', max_length=50, blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='indexacao',
field=models.TextField(verbose_name='Indexação', blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='numero_origem_externa',
field=models.CharField(verbose_name='Número', max_length=5, blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='objeto',
field=models.CharField(verbose_name='Objeto', max_length=150, blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='observacao',
field=models.TextField(verbose_name='Observação', blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='resultado',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='tipo_apresentacao',
field=models.CharField(blank=True, verbose_name='Tipo de Apresentação', choices=[('O', 'Oral'), ('E', 'Escrita')], max_length=1),
),
migrations.AlterField(
model_name='numeracao',
name='data_materia',
field=models.DateField(verbose_name='Data', blank=True),
),
migrations.AlterField(
model_name='orgao',
name='endereco',
field=models.CharField(verbose_name='Endereço', max_length=100, blank=True),
),
migrations.AlterField(
model_name='orgao',
name='telefone',
field=models.CharField(verbose_name='Telefone', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parecer',
name='parecer',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='parecer',
name='tipo_conclusao',
field=models.CharField(max_length=3, blank=True),
),
migrations.AlterField(
model_name='proposicao',
name='justificativa_devolucao',
field=models.CharField(verbose_name='Justificativa da Devolução', max_length=200, blank=True),
),
migrations.AlterField(
model_name='proposicao',
name='status',
field=models.CharField(blank=True, verbose_name='Status Proposição', choices=[('E', 'Enviada'), ('D', 'Devolvida'), ('I', 'Incorporada')], max_length=1),
),
migrations.AlterField(
model_name='tramitacao',
name='texto',
field=models.TextField(verbose_name='Texto da Ação', blank=True),
),
migrations.AlterField(
model_name='tramitacao',
name='turno',
field=models.CharField(blank=True, verbose_name='Turno', choices=[('P', 'Primeiro'), ('S', 'Segundo'), ('Ú', 'Único'), ('L', 'Suplementar'), ('F', 'Final'), ('A', 'Votação única em Regime de Urgência'), ('B', '1ª Votação'), ('C', '2ª e 3ª Votação')], max_length=1),
),
]

42
materia/models.py

@ -67,7 +67,7 @@ class MateriaLegislativa(models.Model):
data_apresentacao = models.DateField(
blank=True, null=True, verbose_name=_('Data Apresentação'))
tipo_apresentacao = models.CharField(
max_length=1, blank=True, null=True,
max_length=1, blank=True,
verbose_name=_('Tipo de Apresentação'),
choices=TIPO_APRESENTACAO_CHOICES)
regime_tramitacao = models.ForeignKey(
@ -81,7 +81,7 @@ class MateriaLegislativa(models.Model):
related_name='+',
verbose_name=_('Tipo'))
numero_origem_externa = models.CharField(
max_length=5, blank=True, null=True, verbose_name=_('Número'))
max_length=5, blank=True, verbose_name=_('Número'))
ano_origem_externa = models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name=_('Ano'))
data_origem_externa = models.DateField(
@ -89,7 +89,7 @@ class MateriaLegislativa(models.Model):
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'))
max_length=50, blank=True, verbose_name=_('Apelido'))
dias_prazo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Dias Prazo'))
data_fim_prazo = models.DateField(
@ -98,15 +98,15 @@ class MateriaLegislativa(models.Model):
polemica = models.NullBooleanField(
blank=True, verbose_name=_('Matéria Polêmica?'))
objeto = models.CharField(
max_length=150, blank=True, null=True, verbose_name=_('Objeto'))
max_length=150, blank=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'))
blank=True, verbose_name=_('Indexação'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observação'))
resultado = models.TextField(blank=True, null=True)
blank=True, verbose_name=_('Observação'))
resultado = models.TextField(blank=True)
# XXX novo
anexadas = models.ManyToManyField(
'self',
@ -195,9 +195,9 @@ class Autor(models.Model):
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True)
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)
max_length=50, blank=True, verbose_name=_('Autor'))
cargo = models.CharField(max_length=50, blank=True)
username = models.CharField(max_length=50, blank=True)
class Meta:
verbose_name = _('Autor')
@ -266,9 +266,9 @@ class DocumentoAcessorio(models.Model):
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)
max_length=50, blank=True, verbose_name=_('Autor'))
ementa = models.TextField(blank=True, verbose_name=_('Ementa'))
indexacao = models.TextField(blank=True)
class Meta:
verbose_name = _('Documento Acessório')
@ -303,7 +303,7 @@ class Numeracao(models.Model):
numero_materia = models.CharField(max_length=5, verbose_name=_('Número'))
ano_materia = models.PositiveSmallIntegerField(verbose_name=_('Ano'))
data_materia = models.DateField(
blank=True, null=True, verbose_name=_('Data'))
blank=True, verbose_name=_('Data'))
class Meta:
verbose_name = _('Numeração')
@ -323,9 +323,9 @@ class Orgao(models.Model):
choices=YES_NO_CHOICES,
verbose_name=('Unidade Deliberativa'))
endereco = models.CharField(
max_length=100, blank=True, null=True, verbose_name=_('Endereço'))
max_length=100, blank=True, verbose_name=_('Endereço'))
telefone = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Telefone'))
max_length=50, blank=True, verbose_name=_('Telefone'))
class Meta:
verbose_name = _('Órgão')
@ -382,10 +382,10 @@ class Parecer(models.Model):
relatoria = models.ForeignKey(Relatoria)
materia = models.ForeignKey(MateriaLegislativa)
tipo_conclusao = models.CharField(max_length=3, blank=True, null=True)
tipo_conclusao = models.CharField(max_length=3, blank=True)
tipo_apresentacao = models.CharField(
max_length=1, choices=APRESENTACAO_CHOICES)
parecer = models.TextField(blank=True, null=True)
parecer = models.TextField(blank=True)
class Meta:
verbose_name = _('Parecer')
@ -439,13 +439,11 @@ class Proposicao(models.Model):
justificativa_devolucao = models.CharField(
max_length=200,
blank=True,
null=True,
verbose_name=_('Justificativa da Devolução'))
numero_proposicao = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Número'))
# ind_enviado and ind_devolvido collapsed as char field (status)
status = models.CharField(blank=True,
null=True,
max_length=1,
choices=(('E', 'Enviada'),
('D', 'Devolvida'),
@ -553,10 +551,10 @@ class Tramitacao(models.Model):
verbose_name=_('Unidade Destino'))
urgente = models.BooleanField(verbose_name=_('Urgente ?'))
turno = models.CharField(
max_length=1, blank=True, null=True, verbose_name=_('Turno'),
max_length=1, blank=True, verbose_name=_('Turno'),
choices=TURNO_CHOICES)
texto = models.TextField(
blank=True, null=True, verbose_name=_('Texto da Ação'))
blank=True, verbose_name=_('Texto da Ação'))
data_fim_prazo = models.DateField(
blank=True, null=True, verbose_name=_('Data Fim Prazo'))

104
norma/migrations/0010_auto_20160216_1015.py

@ -0,0 +1,104 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('norma', '0009_auto_20160106_1511'),
]
operations = [
migrations.AlterField(
model_name='assuntonorma',
name='descricao',
field=models.CharField(verbose_name='Descrição', max_length=250, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='alinea',
field=models.CharField(verbose_name='Alínea', max_length=3, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='artigo',
field=models.CharField(verbose_name='Artigo', max_length=4, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='capitulo',
field=models.CharField(verbose_name='Capítulo', max_length=7, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='disposicoes',
field=models.CharField(verbose_name='Disposição', max_length=15, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='inciso',
field=models.CharField(verbose_name='Inciso', max_length=10, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='item',
field=models.CharField(verbose_name='Item', max_length=3, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='livro',
field=models.CharField(verbose_name='Livro', max_length=7, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='paragrafo',
field=models.CharField(verbose_name='Parágrafo', max_length=3, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='parte',
field=models.CharField(verbose_name='Parte', max_length=8, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='secao',
field=models.CharField(verbose_name='Seção', max_length=7, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='subsecao',
field=models.CharField(verbose_name='Subseção', max_length=7, blank=True),
),
migrations.AlterField(
model_name='legislacaocitada',
name='titulo',
field=models.CharField(verbose_name='Título', max_length=7, blank=True),
),
migrations.AlterField(
model_name='normajuridica',
name='indexacao',
field=models.TextField(verbose_name='Indexação', blank=True),
),
migrations.AlterField(
model_name='normajuridica',
name='observacao',
field=models.TextField(verbose_name='Observação', blank=True),
),
migrations.AlterField(
model_name='normajuridica',
name='veiculo_publicacao',
field=models.CharField(verbose_name='Veículo Publicação', max_length=30, blank=True),
),
migrations.AlterField(
model_name='tiponormajuridica',
name='equivalente_lexml',
field=models.CharField(blank=True, verbose_name='Equivalente LexML', choices=[('constituicao', 'constituicao'), ('ementa.constitucional', 'ementa.constitucional'), ('lei.complementar', 'lei.complementar'), ('lei.delegada', 'lei.delegada'), ('lei', 'lei'), ('decreto.lei', 'decreto.lei'), ('medida.provisoria', 'medida.provisoria'), ('decreto', 'decreto'), ('lei.organica', 'lei.organica'), ('emenda.lei.organica', 'emenda.lei.organica'), ('decreto.legislativo', 'decreto.legislativo'), ('resolucao', 'resolucao'), ('regimento.interno', 'regimento.interno')], max_length=50),
),
migrations.AlterField(
model_name='vinculonormajuridica',
name='tipo_vinculo',
field=models.CharField(blank=True, choices=[('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')], max_length=1),
),
]

34
norma/models.py

@ -9,7 +9,7 @@ from sapl.utils import YES_NO_CHOICES, make_choices
class AssuntoNorma(models.Model):
assunto = models.CharField(max_length=50, verbose_name=_('Assunto'))
descricao = models.CharField(
max_length=250, blank=True, null=True, verbose_name=_('Descrição'))
max_length=250, blank=True, verbose_name=_('Descrição'))
class Meta:
verbose_name = _('Assunto de Norma')
@ -39,7 +39,6 @@ class TipoNormaJuridica(models.Model):
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'))
@ -87,7 +86,6 @@ class NormaJuridica(models.Model):
veiculo_publicacao = models.CharField(
max_length=30,
blank=True,
null=True,
verbose_name=_('Veículo Publicação'))
pagina_inicio_publicacao = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Pg. Início'))
@ -95,9 +93,9 @@ class NormaJuridica(models.Model):
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'))
blank=True, verbose_name=_('Indexação'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observação'))
blank=True, verbose_name=_('Observação'))
complemento = models.NullBooleanField(
blank=True, verbose_name=_('Complementar ?'),
choices=YES_NO_CHOICES)
@ -134,29 +132,29 @@ class LegislacaoCitada(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
norma = models.ForeignKey(NormaJuridica)
disposicoes = models.CharField(
max_length=15, blank=True, null=True, verbose_name=_('Disposição'))
max_length=15, blank=True, verbose_name=_('Disposição'))
parte = models.CharField(
max_length=8, blank=True, null=True, verbose_name=_('Parte'))
max_length=8, blank=True, verbose_name=_('Parte'))
livro = models.CharField(
max_length=7, blank=True, null=True, verbose_name=_('Livro'))
max_length=7, blank=True, verbose_name=_('Livro'))
titulo = models.CharField(
max_length=7, blank=True, null=True, verbose_name=_('Título'))
max_length=7, blank=True, verbose_name=_('Título'))
capitulo = models.CharField(
max_length=7, blank=True, null=True, verbose_name=_('Capítulo'))
max_length=7, blank=True, verbose_name=_('Capítulo'))
secao = models.CharField(
max_length=7, blank=True, null=True, verbose_name=_('Seção'))
max_length=7, blank=True, verbose_name=_('Seção'))
subsecao = models.CharField(
max_length=7, blank=True, null=True, verbose_name=_('Subseção'))
max_length=7, blank=True, verbose_name=_('Subseção'))
artigo = models.CharField(
max_length=4, blank=True, null=True, verbose_name=_('Artigo'))
max_length=4, blank=True, verbose_name=_('Artigo'))
paragrafo = models.CharField(
max_length=3, blank=True, null=True, verbose_name=_('Parágrafo'))
max_length=3, blank=True, verbose_name=_('Parágrafo'))
inciso = models.CharField(
max_length=10, blank=True, null=True, verbose_name=_('Inciso'))
max_length=10, blank=True, verbose_name=_('Inciso'))
alinea = models.CharField(
max_length=3, blank=True, null=True, verbose_name=_('Alínea'))
max_length=3, blank=True, verbose_name=_('Alínea'))
item = models.CharField(
max_length=3, blank=True, null=True, verbose_name=_('Item'))
max_length=3, blank=True, verbose_name=_('Item'))
class Meta:
verbose_name = _('Matéria Legislativa')
@ -178,7 +176,7 @@ class VinculoNormaJuridica(models.Model):
norma_referente = models.ForeignKey(NormaJuridica, related_name='+')
norma_referida = models.ForeignKey(NormaJuridica, related_name='+')
tipo_vinculo = models.CharField(
max_length=1, blank=True, null=True, choices=TIPO_VINCULO_CHOICES)
max_length=1, blank=True, choices=TIPO_VINCULO_CHOICES)
class Meta:
verbose_name = _('Vínculo entre Normas Jurídicas')

129
parlamentares/migrations/0011_auto_20160216_1015.py

@ -0,0 +1,129 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0010_auto_20160107_1850'),
]
operations = [
migrations.AlterField(
model_name='dependente',
name='cpf',
field=models.CharField(verbose_name='CPF', max_length=14, blank=True),
),
migrations.AlterField(
model_name='dependente',
name='rg',
field=models.CharField(verbose_name='RG', max_length=15, blank=True),
),
migrations.AlterField(
model_name='dependente',
name='titulo_eleitor',
field=models.CharField(verbose_name='Nº Título Eleitor', max_length=15, blank=True),
),
migrations.AlterField(
model_name='mandato',
name='observacao',
field=models.TextField(verbose_name='Observação', blank=True),
),
migrations.AlterField(
model_name='municipio',
name='nome',
field=models.CharField(max_length=50, blank=True),
),
migrations.AlterField(
model_name='municipio',
name='regiao',
field=models.CharField(blank=True, choices=[('CO', 'Centro-Oeste'), ('NE', 'Nordeste'), ('NO', 'Norte'), ('SE', 'Sudeste'), ('SL', 'Sul'), ('EX', 'Exterior')], max_length=2),
),
migrations.AlterField(
model_name='municipio',
name='uf',
field=models.CharField(blank=True, choices=[('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')], max_length=2),
),
migrations.AlterField(
model_name='parlamentar',
name='biografia',
field=models.TextField(verbose_name='Biografia', blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='cep_residencia',
field=models.CharField(verbose_name='CEP', max_length=9, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='cpf',
field=models.CharField(verbose_name='C.P.F', max_length=14, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='email',
field=models.CharField(verbose_name='Correio Eletrônico', max_length=100, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='endereco_residencia',
field=models.CharField(verbose_name='Endereço Residencial', max_length=100, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='endereco_web',
field=models.CharField(verbose_name='HomePage', max_length=100, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='fax',
field=models.CharField(verbose_name='Fax', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='fax_residencia',
field=models.CharField(verbose_name='Fax Residencial', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='locais_atuacao',
field=models.CharField(verbose_name='Locais de Atuação', max_length=100, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='numero_gab_parlamentar',
field=models.CharField(verbose_name='Nº Gabinete', max_length=10, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='profissao',
field=models.CharField(verbose_name='Profissão', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='rg',
field=models.CharField(verbose_name='R.G.', max_length=15, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='telefone',
field=models.CharField(verbose_name='Telefone', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='telefone_residencia',
field=models.CharField(verbose_name='Telefone Residencial', max_length=50, blank=True),
),
migrations.AlterField(
model_name='parlamentar',
name='titulo_eleitor',
field=models.CharField(verbose_name='Título de Eleitor', max_length=15, blank=True),
),
migrations.AlterField(
model_name='tipoafastamento',
name='dispositivo',
field=models.CharField(verbose_name='Dispositivo', max_length=50, blank=True),
),
]

39
parlamentares/models.py

@ -149,11 +149,11 @@ class Municipio(models.Model): # Localidade
('EX', 'Exterior'),
)
nome = models.CharField(max_length=50, blank=True, null=True)
nome = models.CharField(max_length=50, blank=True)
uf = models.CharField(
max_length=2, blank=True, null=True, choices=UF_CHOICES)
max_length=2, blank=True, choices=UF_CHOICES)
regiao = models.CharField(
max_length=2, blank=True, null=True, choices=REGIAO_CHOICES)
max_length=2, blank=True, choices=REGIAO_CHOICES)
class Meta:
verbose_name = _('Município')
@ -223,56 +223,50 @@ class Parlamentar(models.Model):
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'))
max_length=14, blank=True, verbose_name=_('C.P.F'))
rg = models.CharField(
max_length=15, blank=True, null=True, verbose_name=_('R.G.'))
max_length=15, blank=True, verbose_name=_('R.G.'))
titulo_eleitor = models.CharField(
max_length=15,
blank=True,
null=True,
verbose_name=_('Título de Eleitor'))
numero_gab_parlamentar = models.CharField(
max_length=10, blank=True, null=True, verbose_name=_('Nº Gabinete'))
max_length=10, blank=True, verbose_name=_('Nº Gabinete'))
telefone = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Telefone'))
max_length=50, blank=True, verbose_name=_('Telefone'))
fax = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Fax'))
max_length=50, blank=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'))
max_length=9, blank=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'))
max_length=100, blank=True, verbose_name=_('HomePage'))
profissao = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Profissão'))
max_length=50, blank=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'))
blank=True, verbose_name=_('Biografia'))
fotografia = models.ImageField(
blank=True,
null=True,
@ -313,13 +307,12 @@ class Dependente(models.Model):
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'))
max_length=14, blank=True, verbose_name=_('CPF'))
rg = models.CharField(
max_length=15, blank=True, null=True, verbose_name=_('RG'))
max_length=15, blank=True, verbose_name=_('RG'))
titulo_eleitor = models.CharField(
max_length=15,
blank=True,
null=True,
verbose_name=_('Nº Título Eleitor'))
class Meta:
@ -353,7 +346,7 @@ class TipoAfastamento(models.Model):
choices=YES_NO_CHOICES, verbose_name=_('Indicador'))
fim_mandato = models.BooleanField(verbose_name=_('Indicador'))
dispositivo = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Dispositivo'))
max_length=50, blank=True, verbose_name=_('Dispositivo'))
class Meta:
verbose_name = _('Tipo de Afastamento')
@ -379,7 +372,7 @@ class Mandato(models.Model):
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'))
blank=True, verbose_name=_('Observação'))
class Meta:
verbose_name = _('Mandato')

74
protocoloadm/migrations/0006_auto_20160216_1015.py

@ -0,0 +1,74 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('protocoloadm', '0005_auto_20151008_0744'),
]
operations = [
migrations.AlterField(
model_name='documentoacessorioadministrativo',
name='assunto',
field=models.TextField(verbose_name='Assunto', blank=True),
),
migrations.AlterField(
model_name='documentoacessorioadministrativo',
name='autor',
field=models.CharField(verbose_name='Autor', max_length=50, blank=True),
),
migrations.AlterField(
model_name='documentoacessorioadministrativo',
name='indexacao',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='documentoadministrativo',
name='interessado',
field=models.CharField(verbose_name='Interessado', max_length=50, blank=True),
),
migrations.AlterField(
model_name='documentoadministrativo',
name='observacao',
field=models.TextField(verbose_name='Observação', blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='assunto_ementa',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='interessado',
field=models.CharField(verbose_name='Interessado', max_length=60, blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='ip_anulacao',
field=models.CharField(max_length=15, blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='justificativa_anulacao',
field=models.CharField(max_length=60, blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='observacao',
field=models.TextField(verbose_name='Observação', blank=True),
),
migrations.AlterField(
model_name='protocolo',
name='user_anulacao',
field=models.CharField(max_length=20, blank=True),
),
migrations.AlterField(
model_name='tramitacaoadministrativo',
name='texto',
field=models.TextField(verbose_name='Texto da Ação', blank=True),
),
]

24
protocoloadm/models.py

@ -34,7 +34,7 @@ class DocumentoAdministrativo(models.Model):
numero_protocolo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Núm. Protocolo'))
interessado = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Interessado'))
max_length=50, blank=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
dias_prazo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Dias Prazo'))
@ -43,7 +43,7 @@ class DocumentoAdministrativo(models.Model):
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'))
blank=True, verbose_name=_('Observação'))
texto_integral = models.FileField(
blank=True,
null=True,
@ -72,10 +72,10 @@ class DocumentoAcessorioAdministrativo(models.Model):
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'))
max_length=50, blank=True, verbose_name=_('Autor'))
assunto = models.TextField(
blank=True, null=True, verbose_name=_('Assunto'))
indexacao = models.TextField(blank=True, null=True)
blank=True, verbose_name=_('Assunto'))
indexacao = models.TextField(blank=True)
class Meta:
verbose_name = _('Documento Acessório')
@ -96,9 +96,9 @@ class Protocolo(models.Model):
verbose_name=_('Tipo de Protocolo'))
tipo_processo = models.PositiveIntegerField()
interessado = models.CharField(
max_length=60, blank=True, null=True, verbose_name=_('Interessado'))
max_length=60, blank=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
assunto_ementa = models.TextField(blank=True, null=True)
assunto_ementa = models.TextField(blank=True)
tipo_documento = models.ForeignKey(
TipoDocumentoAdministrativo,
blank=True,
@ -112,12 +112,12 @@ class Protocolo(models.Model):
numero_paginas = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Número de Páginas'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observação'))
blank=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)
user_anulacao = models.CharField(max_length=20, blank=True)
ip_anulacao = models.CharField(max_length=15, blank=True)
justificativa_anulacao = models.CharField(
max_length=60, blank=True, null=True)
max_length=60, blank=True)
timestamp_anulacao = models.DateTimeField(blank=True, null=True)
class Meta:
@ -172,7 +172,7 @@ class TramitacaoAdministrativo(models.Model):
verbose_name=_('Unidade Destino'))
ultima = models.BooleanField()
texto = models.TextField(
blank=True, null=True, verbose_name=_('Texto da Ação'))
blank=True, verbose_name=_('Texto da Ação'))
data_fim_prazo = models.DateField(
blank=True, null=True, verbose_name=_('Data Fim do Prazo'))

69
sessao/migrations/0013_auto_20160216_1015.py

@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('sessao', '0012_auto_20160120_1237'),
]
operations = [
migrations.AlterField(
model_name='expedientemateria',
name='observacao',
field=models.TextField(verbose_name='Ementa', blank=True),
),
migrations.AlterField(
model_name='expedientemateria',
name='resultado',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='expedientesessao',
name='conteudo',
field=models.TextField(verbose_name='Conteúdo do expediente', blank=True),
),
migrations.AlterField(
model_name='orador',
name='url_discurso',
field=models.CharField(verbose_name='URL Vídeo', max_length=150, blank=True),
),
migrations.AlterField(
model_name='oradorexpediente',
name='url_discurso',
field=models.CharField(verbose_name='URL Vídeo', max_length=150, blank=True),
),
migrations.AlterField(
model_name='ordemdia',
name='observacao',
field=models.TextField(verbose_name='Ementa', blank=True),
),
migrations.AlterField(
model_name='ordemdia',
name='resultado',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='registrovotacao',
name='observacao',
field=models.TextField(verbose_name='Observações', blank=True),
),
migrations.AlterField(
model_name='sessaoplenaria',
name='hora_fim',
field=models.CharField(verbose_name='Horário (hh:mm)', max_length=5, blank=True),
),
migrations.AlterField(
model_name='sessaoplenaria',
name='url_audio',
field=models.CharField(verbose_name='URL Arquivo Áudio (Formatos MP3 / AAC)', max_length=150, blank=True),
),
migrations.AlterField(
model_name='sessaoplenaria',
name='url_video',
field=models.CharField(verbose_name='URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)', max_length=150, blank=True),
),
]

16
sessao/models.py

@ -48,15 +48,15 @@ class SessaoPlenaria(models.Model):
hora_inicio = models.CharField(
max_length=5, verbose_name=_('Horário (hh:mm)'))
hora_fim = models.CharField(
max_length=5, blank=True, null=True, verbose_name=_('Horário (hh:mm)'))
max_length=5, blank=True, verbose_name=_('Horário (hh:mm)'))
numero = models.PositiveIntegerField(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,
max_length=150, blank=True,
verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)'))
url_video = models.CharField(
max_length=150, blank=True, null=True,
max_length=150, blank=True,
verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
upload_pauta = models.FileField(
blank=True,
@ -102,9 +102,9 @@ class AbstractOrdemDia(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
data_ordem = models.DateField(verbose_name=_('Data da Sessão'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Ementa'))
blank=True, verbose_name=_('Ementa'))
numero_ordem = models.PositiveIntegerField(verbose_name=_('Nº Ordem'))
resultado = models.TextField(blank=True, null=True)
resultado = models.TextField(blank=True)
tipo_votacao = models.PositiveIntegerField(
verbose_name=_('Tipo de votação'), choices=TIPO_VOTACAO_CHOICES)
votacao_aberta = models.NullBooleanField(
@ -142,7 +142,7 @@ class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria
sessao_plenaria = models.ForeignKey(SessaoPlenaria)
tipo = models.ForeignKey(TipoExpediente)
conteudo = models.TextField(
blank=True, null=True, verbose_name=_('Conteúdo do expediente'))
blank=True, verbose_name=_('Conteúdo do expediente'))
class Meta:
verbose_name = _('Expediente de Sessão Plenaria')
@ -171,7 +171,7 @@ class AbstractOrador(models.Model): # Oradores
numero_ordem = models.PositiveIntegerField(
verbose_name=_('Ordem de pronunciamento'))
url_discurso = models.CharField(
max_length=150, blank=True, null=True, verbose_name=_('URL Vídeo'))
max_length=150, blank=True, verbose_name=_('URL Vídeo'))
class Meta:
abstract = True
@ -242,7 +242,7 @@ class RegistroVotacao(models.Model):
numero_abstencoes = models.PositiveIntegerField(
verbose_name=_('Abstenções'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observações'))
blank=True, verbose_name=_('Observações'))
class Meta:
verbose_name = _('Votação')

Loading…
Cancel
Save