Browse Source

Ajustes sistema ocorrência

pull/66/head
Sesostris Vieira 4 years ago
parent
commit
a4dc659c82
  1. 12
      sigi/apps/ocorrencias/admin.py
  2. 5
      sigi/apps/ocorrencias/filters.py
  3. 4
      sigi/apps/ocorrencias/models.py
  4. 68
      sigi/apps/servidores/management/commands/mescla_servidor.py

12
sigi/apps/ocorrencias/admin.py

@ -3,11 +3,11 @@ from django.contrib import admin
from django.contrib.admin.views.main import ChangeList
from django.utils.translation import ugettext as _
from filters import OcorrenciaListFilter
from sigi.apps.ocorrencias.filters import OcorrenciaListFilter
from sigi.apps.ocorrencias.models import Ocorrencia, Comentario, Anexo, Categoria, TipoContato
from sigi.apps.servidores.models import Servidor
from sigi.apps.utils.base_admin import BaseModelAdmin
from sigi.apps.casas.admin import GerentesInterlegisFilter
class ComentarioViewInline(admin.TabularInline):
model = Comentario
@ -66,9 +66,11 @@ class OcorrenciaAdmin(BaseModelAdmin):
list_display = ('data_criacao', 'casa_legislativa', 'get_municipio',
'get_uf', 'assunto', 'prioridade', 'status',
'data_modificacao', 'setor_responsavel',)
list_filter = (OcorrenciaListFilter, 'status', 'prioridade',
'categoria__nome', 'setor_responsavel__nome',
'casa_legislativa__gerentes_interlegis',)
list_filter = (
OcorrenciaListFilter, 'status', 'prioridade', 'categoria__nome',
'setor_responsavel__nome',
('casa_legislativa__gerentes_interlegis', GerentesInterlegisFilter),
)
search_fields = ('casa_legislativa__search_text', 'assunto',
'servidor_registro__nome_completo', 'descricao',
'resolucao', 'ticket',)

5
sigi/apps/ocorrencias/filters.py

@ -11,6 +11,8 @@ class OcorrenciaListFilter(admin.SimpleListFilter):
parameter_name = 'minhas'
def lookups(self, request, model_admin):
if request.user.servidor is None:
return None
return (
('S', _(u'Atribuídos ao meu setor')),
('M', _(u'Registrados por mim')),
@ -18,7 +20,8 @@ class OcorrenciaListFilter(admin.SimpleListFilter):
)
def queryset(self, request, queryset):
servidor = Servidor.objects.get(user=request.user)
servidor = request.user.servidor
# servidor = Servidor.objects.get(user=request.user)
if self.value() == 'S':
return queryset.filter(setor_responsavel=servidor.servico)
elif self.value() == 'M':

4
sigi/apps/ocorrencias/models.py

@ -60,8 +60,6 @@ class Ocorrencia(models.Model):
on_delete=models.CASCADE,
verbose_name=_(u'Casa Legislativa')
)
casa_legislativa.convenio_uf_filter = True
casa_legislativa.convenio_cl_tipo_filter = 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)
categoria = models.ForeignKey(
@ -75,9 +73,7 @@ class Ocorrencia(models.Model):
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,)
status.multichoice_filter = True
prioridade = models.IntegerField(_(u'Prioridade'), choices=PRIORITY_CHOICES, default=3, )
descricao = models.TextField(_(u'descrição'), blank=True,)
resolucao = models.TextField(_(u'resolução'), blank=True,)

68
sigi/apps/servidores/management/commands/mescla_servidor.py

@ -0,0 +1,68 @@
# coding: utf-8
from django.contrib.auth.models import User, Group
from sigi.apps.servidores.models import Servidor
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = u'Transfere os dados do servidor OLD para o servidor NEW.'
args = u'old_id new_id'
def handle(self, *args, **options):
if len(args) != 2:
self.stderr.write(u"Informe old_id e new_id")
return
old_id = args[0]
new_id = args[1]
old = Servidor.objects.get(id=old_id)
new = Servidor.objects.get(id=new_id)
self.stdout.write(self.style.WARNING(
u"Transferir dados de {old_name} para {new_name}".format(
old_name=old.nome_completo,
new_name=new.nome_completo
)
))
self.stdout.write(u"\t* Transferindo a carteira de atendimento...")
for casa in old.casas_que_gerencia.all():
new.casas_que_gerencia.add(casa)
old.casas_que_gerencia.remove(casa)
self.stdout.write(u"\t* Transferindo ocorrências registradas...")
old.ocorrencia_set.all().update(servidor_registro=new)
self.stdout.write(u"\t* Transferindo comentários de ocorrências...")
old.comentario_set.all().update(usuario=new)
self.stdout.write(u"\t* Transferindo convênios geridos...")
old.convenio_set.all().update(servidor_gestao=new)
self.stdout.write(u"\t* Transferindo convênios acompanhados...")
old.convenio_set.all().update(acompanha=new)
self.stdout.write(u"\t* Transferindo participação em eventos...")
old.equipe_evento.all().update(membro=new)
self.stdout.write(u"\t* Transferindo convites para eventos...")
old.convite_set.all().update(servidor=new)
self.stdout.write(u"\t* Transferindo diagnósticos...")
old.diagnostico_set.all().update(responsavel=new)
self.stdout.write(u"\t* Transferindo participação em diagnósticos...")
old.equipe_set.all().update(membro=new)
self.stdout.write(u"\t* Transferindo dados de autenticação...")
if new.user:
old.user.logentry_set.all().update(user=new)
old.user.delete()
else:
new.user = old.user
new.save()
old.user = None
old.save()
self.stdout.write(u"Concluído!")
Loading…
Cancel
Save