Browse Source

Acrescentado tipo de contato nas ocorrências

stable/1.0
Sesostris Vieira 11 years ago
parent
commit
b6a88d2770
  1. 15
      sigi/apps/ocorrencias/admin.py
  2. 14
      sigi/apps/ocorrencias/models.py
  3. 3
      sigi/sites.py

15
sigi/apps/ocorrencias/admin.py

@ -5,7 +5,7 @@ from django.contrib import admin
from django.contrib.admin.views.main import ChangeList
from eav.admin import BaseEntityAdmin, BaseSchemaAdmin
from sigi.apps.servidores.models import Servidor
from sigi.apps.ocorrencias.models import Ocorrencia, Comentario, Anexo, Categoria
from sigi.apps.ocorrencias.models import Ocorrencia, Comentario, Anexo, Categoria, TipoContato
class ComentarioViewInline(admin.TabularInline):
model = Comentario
@ -58,7 +58,7 @@ class OcorrenciaAdmin(admin.ModelAdmin):
list_filter = ('assunto', 'status', 'prioridade', 'categoria', 'setor_responsavel', )
search_fields = ('casa_legislativa__search_text', 'assunto', 'servidor_registro__nome', )
date_hierarchy = 'data_criacao'
fields = ('casa_legislativa', 'categoria', 'assunto', 'status', 'prioridade', 'descricao', 'servidor_registro',
fields = ('casa_legislativa', 'categoria', 'tipo_contato', 'assunto', 'status', 'prioridade', 'descricao', 'servidor_registro',
'setor_responsavel', 'resolucao', )
readonly_fields = ('servidor_registro', 'setor_responsavel', )
inlines = (ComentarioViewInline, ComentarioInline, AnexosInline, )
@ -70,14 +70,18 @@ class OcorrenciaAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None):
fields = list(self.readonly_fields)
if obj is not None:
fields.extend(['casa_legislativa', 'categoria', 'assunto', 'status', 'descricao', ])
fields.extend(['casa_legislativa', 'categoria', 'tipo_contato', 'assunto', 'status', 'descricao', ])
if obj.status in [3, 4, 5]: #Fechados
fields.append('prioridade')
return fields
def get_fieldsets(self, request, obj=None):
if obj is None:
self.fields = ('casa_legislativa', 'categoria', 'assunto', 'prioridade', 'descricao', 'resolucao', )
self.fields = ('casa_legislativa', 'categoria', 'tipo_contato', 'assunto', 'prioridade', 'descricao', 'resolucao', )
else:
self.fields = ('casa_legislativa', 'categoria', 'tipo_contato', 'assunto', 'status', 'prioridade', 'descricao',
'servidor_registro', 'setor_responsavel', 'resolucao', )
return super(OcorrenciaAdmin, self).get_fieldsets(request, obj)
def save_model(self, request, obj, form, change):
@ -102,4 +106,5 @@ class OcorrenciaAdmin(admin.ModelAdmin):
formset.save_m2m()
admin.site.register(Ocorrencia, OcorrenciaAdmin)
admin.site.register(Categoria)
admin.site.register(Categoria)
admin.site.register(TipoContato)

14
sigi/apps/ocorrencias/models.py

@ -6,8 +6,8 @@ from sigi.apps.utils import SearchField
#from eav.models import BaseChoice, BaseEntity, BaseSchema, BaseAttribute
class Categoria(models.Model):
nome= models.CharField(max_length=50)
descricao = models.TextField('descrição', blank=True, null=True)
nome= models.CharField(u"Nome", max_length=50)
descricao = models.TextField(u'descrição', blank=True, null=True)
setor_responsavel = models.ForeignKey('servidores.Servico', verbose_name=u"Setor responsável")
class Meta:
@ -15,6 +15,15 @@ class Categoria(models.Model):
def __unicode__(self):
return self.nome
class TipoContato(models.Model):
descricao = models.CharField(u"Descrição", max_length=50)
class Meta:
verbose_name, verbose_name_plural = u"Tipo de contato", u"Tipos de contato"
def __unicode__(self):
return self.descricao
class Ocorrencia(models.Model):
STATUS_CHOICES = (
@ -39,6 +48,7 @@ class Ocorrencia(models.Model):
data_criacao = models.DateField(u'Data de criação', null=True, blank=True, auto_now_add=True)
data_modificacao = models.DateField(u'Data de modificação', null=True, blank=True, auto_now=True)
categoria = models.ForeignKey(Categoria, verbose_name=u'Categoria')
tipo_contato = models.ForeignKey(TipoContato, verbose_name=u"Tipo de contato")
assunto = models.CharField(u'Assunto', max_length=200)
assunto.grupo_filter = True
status = models.IntegerField(u'Status', choices=STATUS_CHOICES, default=1,)

3
sigi/sites.py

@ -30,7 +30,7 @@ from sigi.apps.diagnosticos.admin import (Diagnostico, DiagnosticoAdmin, Pergunt
CategoriaDiagnostico)
from sigi.apps.servidores.admin import (Servidor, ServidorAdmin, Funcao, FuncaoAdmin,
Ferias, FeriasAdmin, Licenca, LicencaAdmin)
from sigi.apps.ocorrencias.admin import (Ocorrencia, OcorrenciaAdmin, Categoria)
from sigi.apps.ocorrencias.admin import (Ocorrencia, OcorrenciaAdmin, Categoria, TipoContato)
from sigi.apps.eventos.admin import (Recurso, RecursoAdmin)
from sigi.apps.metas.admin import (Meta, MetaAdmin, PlanoDiretor, PlanoDiretorAdmin)
from sigi.apps.financeiro.admin import (Desembolso, DesembolsoAdmin)
@ -114,6 +114,7 @@ default.register(Licenca, LicencaAdmin)
# sigi.apps.ocorrencias
default.register(Ocorrencia, OcorrenciaAdmin)
default.register(Categoria)
default.register(TipoContato)
# sigi.apps.eventos
default.register(Recurso, RecursoAdmin)

Loading…
Cancel
Save