mirror of https://github.com/interlegis/sapl.git
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.
144 lines
5.3 KiB
144 lines
5.3 KiB
from django.db import models
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from model_utils import Choices
|
|
|
|
from parlamentares.models import Parlamentar
|
|
from sapl.utils import YES_NO_CHOICES
|
|
|
|
|
|
class TipoComissao(models.Model):
|
|
NATUREZA_CHOICES = Choices(('T', 'temporaria', _('Temporária')),
|
|
('P', '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,
|
|
verbose_name=_('Dispositivo Regimental'))
|
|
|
|
class Meta:
|
|
verbose_name = _('Tipo de Comissão')
|
|
verbose_name_plural = _('Tipos de Comissão')
|
|
|
|
def __str__(self):
|
|
return self.nome
|
|
|
|
|
|
class Comissao(models.Model):
|
|
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, 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, verbose_name=_('Secretário'))
|
|
telefone_reuniao = models.CharField(
|
|
max_length=15,
|
|
blank=True,
|
|
verbose_name=_('Tel. Sala Reunião'))
|
|
endereco_secretaria = models.CharField(
|
|
max_length=100,
|
|
blank=True,
|
|
verbose_name=_('Endereço Secretaria'))
|
|
telefone_secretaria = models.CharField(
|
|
max_length=15,
|
|
blank=True,
|
|
verbose_name=_('Tel. Secretaria'))
|
|
fax_secretaria = models.CharField(
|
|
max_length=15, blank=True, verbose_name=_('Fax Secretaria'))
|
|
agenda_reuniao = models.CharField(
|
|
max_length=100,
|
|
blank=True,
|
|
verbose_name=_('Data/Hora Reunião'))
|
|
local_reuniao = models.CharField(
|
|
max_length=100, blank=True, verbose_name=_('Local Reunião'))
|
|
finalidade = models.TextField(
|
|
blank=True, verbose_name=_('Finalidade'))
|
|
email = models.EmailField(max_length=100,
|
|
blank=True,
|
|
verbose_name=_('E-mail'))
|
|
unidade_deliberativa = models.BooleanField(
|
|
choices=YES_NO_CHOICES,
|
|
verbose_name=_('Unidade Deliberativa'))
|
|
|
|
class Meta:
|
|
verbose_name = _('Comissão')
|
|
verbose_name_plural = _('Comissões')
|
|
|
|
def __str__(self):
|
|
return self.nome
|
|
|
|
|
|
class Periodo(models.Model): # PeriodoCompComissao
|
|
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 = _('Período de composição de Comissão')
|
|
verbose_name_plural = _('Períodos de composição de Comissão')
|
|
|
|
def __str__(self):
|
|
return '%s - %s' % (self.data_inicio, self.data_fim)
|
|
|
|
|
|
class CargoComissao(models.Model):
|
|
nome = models.CharField(max_length=50, verbose_name=_('Cargo'))
|
|
unico = models.BooleanField(
|
|
choices=YES_NO_CHOICES, verbose_name=_('Único'))
|
|
|
|
class Meta:
|
|
verbose_name = _('Cargo de Comissão')
|
|
verbose_name_plural = _('Cargos de Comissão')
|
|
|
|
def __str__(self):
|
|
return self.nome
|
|
|
|
|
|
class Composicao(models.Model): # IGNORE
|
|
comissao = models.ForeignKey(Comissao, verbose_name=_('Comissão'))
|
|
periodo = models.ForeignKey(Periodo, verbose_name=_('Período'))
|
|
|
|
class Meta:
|
|
verbose_name = _('Composição de Comissão')
|
|
verbose_name_plural = _('Composições de Comissão')
|
|
|
|
def __str__(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=_('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,
|
|
verbose_name=_('Motivo Desligamento'))
|
|
observacao = models.CharField(
|
|
max_length=150, blank=True, verbose_name=_('Observação'))
|
|
|
|
class Meta:
|
|
verbose_name = _('Participação em Comissão')
|
|
verbose_name_plural = _('Participações em Comissão')
|
|
|
|
def __str__(self):
|
|
return '%s : %s' % (self.cargo, self.parlamentar)
|
|
|