|
@ -4,6 +4,7 @@ from django.utils.translation import ugettext as _ |
|
|
|
|
|
|
|
|
from comissoes.models import Comissao |
|
|
from comissoes.models import Comissao |
|
|
from parlamentares.models import Parlamentar, Partido |
|
|
from parlamentares.models import Parlamentar, Partido |
|
|
|
|
|
from sapl.utils import make_choices |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TipoMateriaLegislativa(models.Model): |
|
|
class TipoMateriaLegislativa(models.Model): |
|
@ -46,9 +47,10 @@ class Origem(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MateriaLegislativa(models.Model): |
|
|
class MateriaLegislativa(models.Model): |
|
|
ORAL, ESCRITA = 'O', 'E' |
|
|
TIPO_APRESENTACAO_CHOICES, ORAL, ESCRITA = make_choices( |
|
|
TIPO_APRESENTACAO_CHOICES = ((ORAL, _('Oral')), |
|
|
'O', _('Oral'), |
|
|
(ESCRITA, _('Escrita'))) |
|
|
'E', _('Escrita'), |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
tipo = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_('Tipo')) |
|
|
tipo = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_('Tipo')) |
|
|
numero = models.IntegerField(verbose_name=_('Número')) |
|
|
numero = models.IntegerField(verbose_name=_('Número')) |
|
@ -100,6 +102,7 @@ class AcompanhamentoMateria(models.Model): # AcompMateria |
|
|
def __str__(self): |
|
|
def __str__(self): |
|
|
return self.materia |
|
|
return self.materia |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Anexada(models.Model): |
|
|
class Anexada(models.Model): |
|
|
materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+') |
|
|
materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+') |
|
|
materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+') |
|
|
materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+') |
|
@ -177,6 +180,7 @@ class Autoria(models.Model): |
|
|
def __str__(self): |
|
|
def __str__(self): |
|
|
return _('%(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): |
|
|
class DespachoInicial(models.Model): |
|
|
# TODO M2M? |
|
|
# TODO M2M? |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
@ -190,6 +194,7 @@ class DespachoInicial(models.Model): |
|
|
def __str__(self): |
|
|
def __str__(self): |
|
|
return _('Nº %(numero)s - %(materia)s - %(comissao)s') % {'numero': self.numero_ordem, 'materia': self.materia, 'comissao': self.comissao} |
|
|
return _('Nº %(numero)s - %(materia)s - %(comissao)s') % {'numero': self.numero_ordem, 'materia': self.materia, 'comissao': self.comissao} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TipoDocumento(models.Model): |
|
|
class TipoDocumento(models.Model): |
|
|
descricao = models.CharField(max_length=50, verbose_name=_('Tipo Documento')) |
|
|
descricao = models.CharField(max_length=50, verbose_name=_('Tipo Documento')) |
|
|
|
|
|
|
|
@ -274,6 +279,7 @@ class TipoFimRelatoria(models.Model): |
|
|
def __str__(self): |
|
|
def __str__(self): |
|
|
return self.descricao |
|
|
return self.descricao |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Relatoria(models.Model): |
|
|
class Relatoria(models.Model): |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_('Parlamentar')) |
|
|
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_('Parlamentar')) |
|
@ -293,10 +299,10 @@ class Relatoria(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Parecer(models.Model): |
|
|
class Parecer(models.Model): |
|
|
ORAL = 'O' |
|
|
APRESENTACAO_CHOICES, ORAL, ESCRITA = make_choices( |
|
|
ESCRITA = 'E' |
|
|
'O', _('Oral'), |
|
|
APRESENTACAO_CHOICES = ((ORAL, _('Oral')), |
|
|
'E', _('Escrita'), |
|
|
(ESCRITA, _('Escrita'))) |
|
|
) |
|
|
|
|
|
|
|
|
relatoria = models.ForeignKey(Relatoria) |
|
|
relatoria = models.ForeignKey(Relatoria) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
@ -315,10 +321,10 @@ class Parecer(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TipoProposicao(models.Model): |
|
|
class TipoProposicao(models.Model): |
|
|
MATERIA = 'M' |
|
|
MAT_OU_DOC_CHOICES, MATERIA, DOCUMENTO = make_choices( |
|
|
DOCUMENTO = 'D' |
|
|
'M', _('Matéria'), |
|
|
MAT_OU_DOC_CHOICES = ((MATERIA, _('Matéria')), |
|
|
'D', _('Documento'), |
|
|
(DOCUMENTO, _('Documento'))) |
|
|
) |
|
|
|
|
|
|
|
|
descricao = models.CharField(max_length=50, verbose_name=_('Descrição')) |
|
|
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) |
|
|
materia_ou_documento = models.CharField(max_length=1, verbose_name=_('Gera'), choices=MAT_OU_DOC_CHOICES) |
|
@ -361,10 +367,10 @@ class Proposicao(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StatusTramitacao(models.Model): |
|
|
class StatusTramitacao(models.Model): |
|
|
FIM = 'F' |
|
|
INDICADOR_CHOICES, FIM, RETORNO = make_choices( |
|
|
RETORNO = 'R' |
|
|
'F', _('Fim'), |
|
|
INDICADOR_CHOICES = ((FIM, _('Fim')), |
|
|
'R', _('Retorno'), |
|
|
(RETORNO, _('Retorno'))) |
|
|
) |
|
|
|
|
|
|
|
|
sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) |
|
|
sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) |
|
|
descricao = models.CharField(max_length=60, verbose_name=_('Descrição')) |
|
|
descricao = models.CharField(max_length=60, verbose_name=_('Descrição')) |
|
@ -397,22 +403,18 @@ class UnidadeTramitacao(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Tramitacao(models.Model): |
|
|
class Tramitacao(models.Model): |
|
|
PRIMEIRO = 'P' |
|
|
TURNO_CHOICES, \ |
|
|
SEGUNDO = 'S' |
|
|
PRIMEIRO, SEGUNDO, UNICO, SUPLEMENTAR, FINAL, \ |
|
|
UNICO = 'Ú' |
|
|
VOTACAO_UNICA, PRIMEIRA_VOTACAO, SEGUNDA_TERCEIRA_VOTACAO = make_choices( |
|
|
SUPLEMENTAR = 'L' |
|
|
'P', _('Primeiro'), |
|
|
FINAL = 'F' |
|
|
'S', _('Segundo'), |
|
|
VOTACAO_UNICA = 'A' |
|
|
'Ú', _('Único'), |
|
|
PRIMEIRA_VOTACAO = 'B' |
|
|
'L', _('Suplementar'), |
|
|
SEGUNDA_TERCEIRA_VOTACAO = 'C' |
|
|
'F', _('Final'), |
|
|
TURNO_CHOICES = ((PRIMEIRO, _('Primeiro')), |
|
|
'A', _('Votação única em Regime de Urgência'), |
|
|
(SEGUNDO, _('Segundo')), |
|
|
'B', _('1ª Votação'), |
|
|
(UNICO, _('Único')), |
|
|
'C', _('2ª e 3ª Votação'), |
|
|
(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')) |
|
|
status = models.ForeignKey(StatusTramitacao, blank=True, null=True, verbose_name=_('Status')) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|
materia = models.ForeignKey(MateriaLegislativa) |
|
|