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' name = 'sapl.base'
label = 'base' label = 'base'
verbose_name = _('Dados Básicos') 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 import logging
from django.conf import settings from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.core import serializers 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.dispatch import receiver
from django.utils import timezone from django.utils import timezone
from sapl.base.email_utils import do_envia_email_tramitacao 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.materia.models import Tramitacao
from sapl.protocoloadm.models import TramitacaoAdministrativo 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) @receiver(post_save, sender=Tramitacao)
@ -48,8 +51,9 @@ def handle_tramitacao_signal(sender, **kwargs):
tramitacao.unidade_tramitacao_destino) tramitacao.unidade_tramitacao_destino)
except Exception as e: except Exception as e:
logger.error(f'user={request.user.username}. Tramitação criada, mas e-mail de acompanhamento ' 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 ' 'de matéria não enviado. Há problemas na configuração '
'do e-mail. ' + str(e)) 'do e-mail. ' + str(e))
@receiver(post_delete) @receiver(post_delete)
def status_tramitacao_materia(sender, instance, **kwargs): 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): def audit_log_post_save(sender, **kwargs):
operation = 'C' if kwargs.get('created') else 'U' operation = 'C' if kwargs.get('created') else 'U'
audit_log_function(sender, operation=operation, **kwargs) 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' name = 'sapl.materia'
label = 'materia' label = 'materia'
verbose_name = _('Matéria') 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' name = 'sapl.protocoloadm'
label = 'protocoloadm' label = 'protocoloadm'
verbose_name = _('Protocolo Administrativo') verbose_name = _('Protocolo Administrativo')
def ready(self):
from sapl.base import receivers

Loading…
Cancel
Save