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

109 lines
5.0 KiB

# -*- coding: utf-8 -*-
from django.db import models
from django.utils.translation import ugettext as _
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'))
class Meta:
verbose_name = _(u'Tipo de Comissão')
verbose_name_plural = _(u'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'))
unidade_deliberativa = models.BooleanField()
class Meta:
verbose_name = _(u'Comissão')
verbose_name_plural = _(u'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'))
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')
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'))
class Meta:
verbose_name = _(u'Cargo de Comissão')
verbose_name_plural = _(u'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'))
class Meta:
verbose_name = _(u'Composição de Comissão')
verbose_name_plural = _(u'Composições de Comissão')
def __unicode__(self):
return '%s: %s' % (self.comissao.sigla, self.periodo)
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'))
class Meta:
verbose_name = _(u'Participação em Comissão')
verbose_name_plural = _(u'Participações em Comissão')
def __unicode__(self):
return '%s : %s' % (self.cargo, self.parlamentar)