Browse Source

Acrescentado tipo de contato nas ocorrências

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

13
sigi/apps/ocorrencias/admin.py

@ -5,7 +5,7 @@ from django.contrib import admin
from django.contrib.admin.views.main import ChangeList from django.contrib.admin.views.main import ChangeList
from eav.admin import BaseEntityAdmin, BaseSchemaAdmin from eav.admin import BaseEntityAdmin, BaseSchemaAdmin
from sigi.apps.servidores.models import Servidor 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): class ComentarioViewInline(admin.TabularInline):
model = Comentario model = Comentario
@ -58,7 +58,7 @@ class OcorrenciaAdmin(admin.ModelAdmin):
list_filter = ('assunto', 'status', 'prioridade', 'categoria', 'setor_responsavel', ) list_filter = ('assunto', 'status', 'prioridade', 'categoria', 'setor_responsavel', )
search_fields = ('casa_legislativa__search_text', 'assunto', 'servidor_registro__nome', ) search_fields = ('casa_legislativa__search_text', 'assunto', 'servidor_registro__nome', )
date_hierarchy = 'data_criacao' 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', ) 'setor_responsavel', 'resolucao', )
readonly_fields = ('servidor_registro', 'setor_responsavel', ) readonly_fields = ('servidor_registro', 'setor_responsavel', )
inlines = (ComentarioViewInline, ComentarioInline, AnexosInline, ) inlines = (ComentarioViewInline, ComentarioInline, AnexosInline, )
@ -70,14 +70,18 @@ class OcorrenciaAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None): def get_readonly_fields(self, request, obj=None):
fields = list(self.readonly_fields) fields = list(self.readonly_fields)
if obj is not None: 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 if obj.status in [3, 4, 5]: #Fechados
fields.append('prioridade') fields.append('prioridade')
return fields return fields
def get_fieldsets(self, request, obj=None): def get_fieldsets(self, request, obj=None):
if obj is 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) return super(OcorrenciaAdmin, self).get_fieldsets(request, obj)
def save_model(self, request, obj, form, change): def save_model(self, request, obj, form, change):
@ -103,3 +107,4 @@ class OcorrenciaAdmin(admin.ModelAdmin):
admin.site.register(Ocorrencia, OcorrenciaAdmin) 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 #from eav.models import BaseChoice, BaseEntity, BaseSchema, BaseAttribute
class Categoria(models.Model): class Categoria(models.Model):
nome= models.CharField(max_length=50) nome= models.CharField(u"Nome", max_length=50)
descricao = models.TextField('descrição', blank=True, null=True) descricao = models.TextField(u'descrição', blank=True, null=True)
setor_responsavel = models.ForeignKey('servidores.Servico', verbose_name=u"Setor responsável") setor_responsavel = models.ForeignKey('servidores.Servico', verbose_name=u"Setor responsável")
class Meta: class Meta:
@ -16,6 +16,15 @@ class Categoria(models.Model):
def __unicode__(self): def __unicode__(self):
return self.nome 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): class Ocorrencia(models.Model):
STATUS_CHOICES = ( STATUS_CHOICES = (
(1, u'Aberto'), (1, u'Aberto'),
@ -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_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) data_modificacao = models.DateField(u'Data de modificação', null=True, blank=True, auto_now=True)
categoria = models.ForeignKey(Categoria, verbose_name=u'Categoria') 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 = models.CharField(u'Assunto', max_length=200)
assunto.grupo_filter = True assunto.grupo_filter = True
status = models.IntegerField(u'Status', choices=STATUS_CHOICES, default=1,) 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) CategoriaDiagnostico)
from sigi.apps.servidores.admin import (Servidor, ServidorAdmin, Funcao, FuncaoAdmin, from sigi.apps.servidores.admin import (Servidor, ServidorAdmin, Funcao, FuncaoAdmin,
Ferias, FeriasAdmin, Licenca, LicencaAdmin) 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.eventos.admin import (Recurso, RecursoAdmin)
from sigi.apps.metas.admin import (Meta, MetaAdmin, PlanoDiretor, PlanoDiretorAdmin) from sigi.apps.metas.admin import (Meta, MetaAdmin, PlanoDiretor, PlanoDiretorAdmin)
from sigi.apps.financeiro.admin import (Desembolso, DesembolsoAdmin) from sigi.apps.financeiro.admin import (Desembolso, DesembolsoAdmin)
@ -114,6 +114,7 @@ default.register(Licenca, LicencaAdmin)
# sigi.apps.ocorrencias # sigi.apps.ocorrencias
default.register(Ocorrencia, OcorrenciaAdmin) default.register(Ocorrencia, OcorrenciaAdmin)
default.register(Categoria) default.register(Categoria)
default.register(TipoContato)
# sigi.apps.eventos # sigi.apps.eventos
default.register(Recurso, RecursoAdmin) default.register(Recurso, RecursoAdmin)

Loading…
Cancel
Save