Browse Source

Retornado filtro de ocorrencias relacionadas ao usuario

producao
Marcio Mazza 10 years ago
parent
commit
ce5d6c432a
  1. 6
      sigi/apps/ocorrencias/admin.py
  2. 22
      sigi/apps/ocorrencias/filters.py
  3. 2
      sigi/apps/ocorrencias/models.py
  4. 2
      sigi/apps/servidores/models.py

6
sigi/apps/ocorrencias/admin.py

@ -2,8 +2,9 @@
from django.contrib import admin
from django.contrib.admin.views.main import ChangeList
from sigi.apps.servidores.models import Servidor
from filters import OcorrenciaListFilter
from sigi.apps.ocorrencias.models import Ocorrencia, Comentario, Anexo, Categoria, TipoContato
from sigi.apps.servidores.models import Servidor
class ComentarioViewInline(admin.TabularInline):
@ -58,10 +59,9 @@ class OcorrenciaChangeList(ChangeList):
qs = qs.filter(servidor_registro=servidor)
return qs
class OcorrenciaAdmin(admin.ModelAdmin):
list_display = ('data_criacao', 'casa_legislativa', 'assunto', 'prioridade', 'status', 'data_modificacao', 'setor_responsavel',)
list_filter = ('categoria__nome', 'assunto', 'status', 'prioridade', 'setor_responsavel__nome', )
list_filter = (OcorrenciaListFilter, 'status', 'prioridade', 'categoria__nome', 'setor_responsavel__nome', )
search_fields = ('casa_legislativa__search_text', 'assunto', 'servidor_registro__nome_completo', )
date_hierarchy = 'data_criacao'
fields = ('casa_legislativa', 'categoria', 'tipo_contato', 'assunto', 'status', 'prioridade', 'descricao', 'servidor_registro',

22
sigi/apps/ocorrencias/filters.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from sigi.apps.servidores.models import Servidor
class OcorrenciaListFilter(admin.SimpleListFilter):
title = u'Relacionadas a Mim'
parameter_name = 'minhas'
def lookups(self, request, model_admin):
return (
('S', u'Atribuídos ao meu setor'),
('M', u'Registrados por mim'),
)
def queryset(self, request, queryset):
servidor = Servidor.objects.get(user=request.user)
if self.value() == 'S':
return queryset.filter(setor_responsavel=servidor.servico)
if self.value() == 'M':
return queryset.filter(servidor_registro=servidor)

2
sigi/apps/ocorrencias/models.py

@ -3,7 +3,7 @@ from django.db import models
class Categoria(models.Model):
nome = models.CharField(u"Nome Categoria", max_length=50)
nome = models.CharField(u"Categoria", 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")

2
sigi/apps/servidores/models.py

@ -27,7 +27,7 @@ class Servico(models.Model):
""" Modelo para representação dos Serviços de uma Subsecretaria
"""
nome = models.CharField(u'Nome Serviço', max_length=250, null=True)
nome = models.CharField(u'Setor', max_length=250, null=True)
sigla = models.CharField(max_length=10, null=True)
subsecretaria = models.ForeignKey(Subsecretaria, null=True)
# servidor responsavel por chefiar o serviço

Loading…
Cancel
Save