Browse Source

Merge branch 'stable/2.2' of github.com:interlegis/sigi into new_sigi

pull/102/head
Lude Ribeiro 3 years ago
parent
commit
052eef9e10
  1. 34
      sigi/apps/casas/admin.py
  2. 11
      sigi/apps/convenios/models.py

34
sigi/apps/casas/admin.py

@ -1,11 +1,13 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from unicodedata import name
from django.contrib import admin from django.contrib import admin
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import render from django.shortcuts import render
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
#from geraldo.site.newsite.django_1_0.django.forms import extras
from image_cropping import ImageCroppingMixin from image_cropping import ImageCroppingMixin
from sigi.apps.casas.forms import OrgaoForm from sigi.apps.casas.forms import OrgaoForm
@ -57,6 +59,24 @@ class PresidenteInline(admin.StackedInline):
# A função extra foi usada para quando existir um registro com o campo igual a null não aparecer na frente dos mais novos # A função extra foi usada para quando existir um registro com o campo igual a null não aparecer na frente dos mais novos
) )
class ContatoInterlegisInline(admin.StackedInline):
model = Funcionario
fields = ('nome', 'sexo', 'data_nascimento', 'nota', 'email', 'cargo',
'funcao', 'setor', 'tempo_de_servico', 'ult_alteracao',
'endereco', 'municipio', 'bairro', 'cep', 'redes_sociais',
'desativado', 'observacoes')
raw_id_fields = ('municipio',)
readonly_fields = ('ult_alteracao',)
extra = 1
inlines = (TelefonesInline,)
verbose_name_plural = _(u'Contato Interlegis Vigente')
def get_queryset(self, request):
return (self.model.objects.filter(setor='contato_interlegis')
.extra(select={'ult_null': 'ult_alteracao is null'}).order_by('-ult_alteracao')
)
def get_extra(self, request, obj=None , **kwargs):
extra = 0
return extra
class FuncionariosInline(admin.StackedInline): class FuncionariosInline(admin.StackedInline):
model = Funcionario model = Funcionario
@ -65,6 +85,7 @@ class FuncionariosInline(admin.StackedInline):
'endereco', 'municipio', 'bairro', 'cep', 'redes_sociais', 'endereco', 'municipio', 'bairro', 'cep', 'redes_sociais',
'desativado', 'observacoes') 'desativado', 'observacoes')
raw_id_fields = ('municipio',) raw_id_fields = ('municipio',)
# fieldsets = ((None, { # fieldsets = ((None, {
# 'fields': ( # 'fields': (
# ('nome', 'sexo', 'data_nascimento'), # ('nome', 'sexo', 'data_nascimento'),
@ -80,15 +101,15 @@ class FuncionariosInline(admin.StackedInline):
readonly_fields = ('ult_alteracao',) readonly_fields = ('ult_alteracao',)
extra = 1 extra = 1
inlines = (TelefonesInline,) inlines = (TelefonesInline,)
verbose_name_plural = _(u'Outros Contatos da Casa')
def get_queryset(self, request): def get_queryset(self, request):
return (self.model.objects.exclude(cargo='Presidente') return (self.model.objects.exclude(cargo='Presidente',)
.exclude(desativado=True).extra(select={'ult_null': 'ult_alteracao is null'}) .exclude(desativado=True).extra(select={'ult_null': 'ult_alteracao is null'})
.order_by('ult_null', '-ult_alteracao') .order_by('ult_null', '-ult_alteracao')
# A função extra foi usada para quando existir um registro com o campo igual a null não aparecer na frente dos mais novos # A função extra foi usada para quando existir um registro com o campo igual a null não aparecer na frente dos mais novos
) )
class ConveniosInline(admin.TabularInline): class ConveniosInline(admin.TabularInline):
model = Convenio model = Convenio
fieldsets = ( fieldsets = (
@ -313,8 +334,11 @@ class ExcluirConvenioFilter(admin.SimpleListFilter):
return tuple([(p.pk, p.sigla) for p in Projeto.objects.all()]) return tuple([(p.pk, p.sigla) for p in Projeto.objects.all()])
def queryset(self, request, queryset): def queryset(self, request, queryset):
queryset = queryset.exclude(convenio__projeto_id=self.value()) if (self.value() is None):
return queryset.distinct('municipio__uf__nome', 'nome') return queryset
else:
queryset = queryset.exclude(convenio__projeto_id=self.value()).distinct('municipio__uf__nome', 'nome')
return queryset
class ServicoFilter(admin.SimpleListFilter): class ServicoFilter(admin.SimpleListFilter):
title = _(u"Serviço") title = _(u"Serviço")
@ -354,7 +378,7 @@ class ServicoFilter(admin.SimpleListFilter):
class OrgaoAdmin(ImageCroppingMixin, BaseModelAdmin): class OrgaoAdmin(ImageCroppingMixin, BaseModelAdmin):
form = OrgaoForm form = OrgaoForm
actions = ['adicionar_casas', ] actions = ['adicionar_casas', ]
inlines = (TelefonesInline, PresidenteInline, FuncionariosInline, inlines = (TelefonesInline, PresidenteInline, ContatoInterlegisInline, FuncionariosInline,
ConveniosInline, ServicoInline, OcorrenciaInline,) ConveniosInline, ServicoInline, OcorrenciaInline,)
list_display = ('id', 'sigla', 'nome', 'get_uf', 'get_gerentes', 'get_convenios', list_display = ('id', 'sigla', 'nome', 'get_uf', 'get_gerentes', 'get_convenios',
'get_servicos') 'get_servicos')

11
sigi/apps/convenios/models.py

@ -3,13 +3,14 @@ import re
import requests import requests
from datetime import datetime, date from datetime import datetime, date
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q, fields
from django.core.mail import send_mail from django.core.mail import send_mail
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from sigi.apps.utils import SearchField, to_ascii from sigi.apps.utils import SearchField, to_ascii
from sigi.apps.casas.models import Orgao from sigi.apps.casas.models import Orgao
from sigi.apps.servidores.models import Servidor, Servico from sigi.apps.servidores.models import Servidor, Servico
#from sigi.apps.convenios.admin import ConvenioAdmin
class Projeto(models.Model): class Projeto(models.Model):
""" Modelo para representar os projetos do programa """ Modelo para representar os projetos do programa
@ -249,18 +250,18 @@ class Convenio(models.Model):
if ((self.data_retorno_assinatura is None) and if ((self.data_retorno_assinatura is None) and
(self.equipada and self.data_termo_aceite is not None)): (self.equipada and self.data_termo_aceite is not None)):
return _(u"Convênio{number} - equipada em {date} pelo {project}" return _(u"{project}{number} - equipada em {date}"
).format(number=self.num_convenio, ).format(number=self.num_convenio,
date=self.data_termo_aceite.strftime('%d/%m/%Y'), date=self.data_termo_aceite.strftime('%d/%m/%Y'),
project=self.projeto.sigla) project=self.projeto.sigla)
elif self.data_retorno_assinatura is None: elif self.data_retorno_assinatura is None:
return _(u"Convênio nº {number} - adesão ao projeto {project}, " return _(u"{project}, nº {number}, início "
u"em {date}").format(number=self.num_convenio, u"em {date}").format(number=self.num_convenio,
project=self.projeto.sigla, project=self.projeto.sigla,
date=self.data_adesao) date=self.data_adesao)
if ((self.data_retorno_assinatura is not None) and not if ((self.data_retorno_assinatura is not None) and not
(self.equipada and self.data_termo_aceite is not None)): (self.equipada and self.data_termo_aceite is not None)):
return _(u"Convênio nº {number} - conveniada ao {project} em " return _(u"{project}, nº {number}, inicio em "
u"{date}. Status: {status}").format( u"{date}. Status: {status}").format(
number=self.num_convenio, number=self.num_convenio,
project=self.projeto.sigla, project=self.projeto.sigla,
@ -268,7 +269,7 @@ class Convenio(models.Model):
status=self.get_status()) status=self.get_status())
if ((self.data_retorno_assinatura is not None) and if ((self.data_retorno_assinatura is not None) and
(self.equipada and self.data_termo_aceite is not None)): (self.equipada and self.data_termo_aceite is not None)):
return _(u"Convẽnio nº {number} - conveniada ao {project} em {date}" return _(u"{project}, nº {number}, início em {date}"
u" e equipada em {equipped_date}. Status: {status}" u" e equipada em {equipped_date}. Status: {status}"
).format(number=self.num_convenio, ).format(number=self.num_convenio,
project=self.projeto.sigla, project=self.projeto.sigla,

Loading…
Cancel
Save