diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py index 8f1d14a..91bd84c 100644 --- a/sigi/apps/convenios/models.py +++ b/sigi/apps/convenios/models.py @@ -5,9 +5,9 @@ from django.contrib.contenttypes import generic class Convenio(models.Model): RECEBIDOS_CHOICES = ( - ('S', 'Sim'), ('N', 'Não'), - ('P', 'Pendente'), + ('S', 'Sim'), + ('P', 'Pendente(s)'), ) casa_legislativa = models.ForeignKey( 'casas.CasaLegislativa', @@ -30,16 +30,19 @@ class Convenio(models.Model): null=True, blank=True ) - data_publicacao_diario = models.DateField( + data_pub_diario = models.DateField( 'data da publicação no Diário Oficial', null=True, blank=True ) - recebidos = models.CharField( - 'recebidos igual ao previsto?', + equipamentos_recebidos = models.CharField( max_length=1, choices=RECEBIDOS_CHOICES, ) + servicos = models.ManyToManyField( + 'servicos.Servico', + verbose_name='serviços prestados', + ) class Meta: get_latest_by = 'num_convenio' @@ -50,7 +53,7 @@ class Convenio(models.Model): ordering = ('-num_convenio',) list_display = ('num_convenio', 'casa_legislativa', 'num_processo_sf', 'data_adesao') - list_filter = ('recebidos',) + list_filter = ('equipamentos_recebidos',) class EquipamentoPrevisto(models.Model): convenio = models.ForeignKey(Convenio) @@ -70,14 +73,14 @@ class Anexo(models.Model): convenio = models.ForeignKey(Convenio, verbose_name='convênio') arquivo = models.FileField(upload_to='arquivos/anexos',) descricao = models.CharField('descrição', max_length='70') - data_publicacao = models.DateField( + data_pub = models.DateField( 'data da publicação do anexo', default=datetime.now ) class Meta: - ordering = ('-data_publicacao',) + ordering = ('-data_pub',) class Admin: - date_hierarchy = 'data_publicacao' - list_display = ('descricao', 'data_publicacao', 'convenio') + date_hierarchy = 'data_pub' + list_display = ('descricao', 'data_pub', 'convenio') diff --git a/sigi/apps/servicos/__init__.py b/sigi/apps/servicos/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sigi/apps/servicos/models.py b/sigi/apps/servicos/models.py new file mode 100644 index 0000000..54948fd --- /dev/null +++ b/sigi/apps/servicos/models.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +from django.db import models +from django.contrib.contenttypes import generic + +class Servico(models.Model): + SITUACAO_CHOICES = ( + ('P', 'Pendente'), + ('A', 'Em andamento'), + ('E', 'Executado'), + ('D', 'Demanda'), + ('C', 'Cancelado'), + ) + AVALIACAO_CHOICES = ( + (4, 'Ótimo'), + (3, 'Bom'), + (2, 'Regular'), + (1, 'Ruim'), + ) + tipo = models.CharField(max_length=50) + descricao = models.TextField(u'descrição') + colaboradores = generic.GenericRelation('contatos.Contato') + data_inicio = models.DateField( + u'início', + blank=True, + null=True, + help_text = 'Início da realização do serviço.', + ) + data_fim = models.DateField( + 'fim', + blank=True, + null=True, + help_text = 'Fim da realização do serviço.', + ) + situacao = models.CharField( + u'situação', + max_length=1, + choices=SITUACAO_CHOICES + ) + avaliacao = models.PositiveSmallIntegerField( + u'avaliação', + choices=AVALIACAO_CHOICES, + blank=True, + null=True, + help_text='Avaliação que o serviço obteve, quando aplicável.' + ) + + class Meta: + verbose_name = 'serviço' + verbose_name_plural = 'serviços' + + class Admin: + list_display = ('id', 'tipo', 'situacao', 'avaliacao') + list_filter = ('situacao', 'avaliacao',) + + def __unicode__(self): + return self.id