Browse Source

ajusta disposição dos signals

pull/3354/head
Leandro Roberto 5 years ago
committed by eribeiro
parent
commit
40836430e1
  1. 3
      sapl/base/apps.py
  2. 51
      sapl/base/receivers.py
  3. 45
      sapl/base/signals.py
  4. 3
      sapl/materia/apps.py
  5. 0
      sapl/norma/signals.py
  6. 3
      sapl/protocoloadm/apps.py

3
sapl/base/apps.py

@ -7,3 +7,6 @@ class AppConfig(django.apps.AppConfig):
name = 'sapl.base'
label = 'base'
verbose_name = _('Dados Básicos')
def ready(self):
from sapl.base import receivers

51
sapl/base/receivers.py

@ -2,16 +2,19 @@ import inspect
import logging
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.core import serializers
from django.db.models.signals import post_delete, post_save
from django.db.models.signals import post_delete, post_save,\
post_migrate
from django.db.utils import DEFAULT_DB_ALIAS
from django.dispatch import receiver
from django.utils import timezone
from sapl.base.email_utils import do_envia_email_tramitacao
from sapl.base.models import AuditLog
from sapl.base.models import AuditLog, TipoAutor, Autor
from sapl.materia.models import Tramitacao
from sapl.protocoloadm.models import TramitacaoAdministrativo
from sapl.utils import get_base_url
from sapl.utils import get_base_url, models_with_gr_for_model
@receiver(post_save, sender=Tramitacao)
@ -48,8 +51,9 @@ def handle_tramitacao_signal(sender, **kwargs):
tramitacao.unidade_tramitacao_destino)
except Exception as e:
logger.error(f'user={request.user.username}. Tramitação criada, mas e-mail de acompanhamento '
'de matéria não enviado. Há problemas na configuração '
'do e-mail. ' + str(e))
'de matéria não enviado. Há problemas na configuração '
'do e-mail. ' + str(e))
@receiver(post_delete)
def status_tramitacao_materia(sender, instance, **kwargs):
@ -133,3 +137,40 @@ def audit_log_post_delete(sender, **kwargs):
def audit_log_post_save(sender, **kwargs):
operation = 'C' if kwargs.get('created') else 'U'
audit_log_function(sender, operation=operation, **kwargs)
def cria_models_tipo_autor(app_config=None, verbosity=2, interactive=True,
using=DEFAULT_DB_ALIAS, **kwargs):
models = models_with_gr_for_model(Autor)
print("\n\033[93m\033[1m{}\033[0m".format(
_('Atualizando registros TipoAutor do SAPL:')))
for model in models:
content_type = ContentType.objects.get_for_model(model)
tipo_autor = TipoAutor.objects.filter(
content_type=content_type.id).exists()
if tipo_autor:
msg1 = "Carga de {} não efetuada.".format(
TipoAutor._meta.verbose_name)
msg2 = " Já Existe um {} {} relacionado...".format(
TipoAutor._meta.verbose_name,
model._meta.verbose_name)
msg = " {}{}".format(msg1, msg2)
else:
novo_autor = TipoAutor()
novo_autor.content_type_id = content_type.id
novo_autor.descricao = model._meta.verbose_name
novo_autor.save()
msg1 = "Carga de {} efetuada.".format(
TipoAutor._meta.verbose_name)
msg2 = " {} {} criado...".format(
TipoAutor._meta.verbose_name, content_type.model)
msg = " {}{}".format(msg1, msg2)
print(msg)
# Disconecta função para evitar a chamada repetidas vezes.
post_migrate.disconnect(receiver=cria_models_tipo_autor)
post_migrate.connect(receiver=cria_models_tipo_autor)

45
sapl/base/signals.py

@ -1,45 +0,0 @@
from django.contrib.contenttypes.models import ContentType
from django.db.models.signals import post_migrate
from django.db.utils import DEFAULT_DB_ALIAS
import django.dispatch
from django.utils.translation import ugettext_lazy as _
from sapl.base.models import Autor, TipoAutor
from sapl.utils import models_with_gr_for_model
def cria_models_tipo_autor(app_config=None, verbosity=2, interactive=True,
using=DEFAULT_DB_ALIAS, **kwargs):
models = models_with_gr_for_model(Autor)
print("\n\033[93m\033[1m{}\033[0m".format(
_('Atualizando registros TipoAutor do SAPL:')))
for model in models:
content_type = ContentType.objects.get_for_model(model)
tipo_autor = TipoAutor.objects.filter(
content_type=content_type.id).exists()
if tipo_autor:
msg1 = "Carga de {} não efetuada.".format(
TipoAutor._meta.verbose_name)
msg2 = " Já Existe um {} {} relacionado...".format(
TipoAutor._meta.verbose_name,
model._meta.verbose_name)
msg = " {}{}".format(msg1, msg2)
else:
novo_autor = TipoAutor()
novo_autor.content_type_id = content_type.id
novo_autor.descricao = model._meta.verbose_name
novo_autor.save()
msg1 = "Carga de {} efetuada.".format(
TipoAutor._meta.verbose_name)
msg2 = " {} {} criado...".format(
TipoAutor._meta.verbose_name, content_type.model)
msg = " {}{}".format(msg1, msg2)
print(msg)
# Disconecta função para evitar a chamada repetidas vezes.
post_migrate.disconnect(receiver=cria_models_tipo_autor)
post_migrate.connect(receiver=cria_models_tipo_autor)

3
sapl/materia/apps.py

@ -6,6 +6,3 @@ class AppConfig(apps.AppConfig):
name = 'sapl.materia'
label = 'materia'
verbose_name = _('Matéria')
def ready(self):
from sapl.base import receivers

0
sapl/norma/signals.py

3
sapl/protocoloadm/apps.py

@ -6,6 +6,3 @@ class AppConfig(apps.AppConfig):
name = 'sapl.protocoloadm'
label = 'protocoloadm'
verbose_name = _('Protocolo Administrativo')
def ready(self):
from sapl.base import receivers

Loading…
Cancel
Save