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

2
sigi/apps/servidores/models.py

@ -27,7 +27,7 @@ class Servico(models.Model):
""" Modelo para representação dos Serviços de uma Subsecretaria """ 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) sigla = models.CharField(max_length=10, null=True)
subsecretaria = models.ForeignKey(Subsecretaria, null=True) subsecretaria = models.ForeignKey(Subsecretaria, null=True)
# servidor responsavel por chefiar o serviço # servidor responsavel por chefiar o serviço

Loading…
Cancel
Save