perf: 优化通知迁移

pull/6286/head
ibuler 2021-06-16 14:38:17 +08:00 committed by 老广
parent 1999cfdfeb
commit 8f35fcd6f9
1 changed files with 11 additions and 3 deletions

View File

@ -6,6 +6,7 @@ from common.utils import get_logger, reverse
from notifications.notifications import SystemMessage from notifications.notifications import SystemMessage
from terminal.models import Session, Command from terminal.models import Session, Command
from notifications.models import SystemMsgSubscription from notifications.models import SystemMsgSubscription
from notifications.backends import BACKEND
logger = get_logger(__name__) logger = get_logger(__name__)
@ -24,14 +25,21 @@ class CommandAlertMixin:
@classmethod @classmethod
def post_insert_to_db(cls, subscription: SystemMsgSubscription): def post_insert_to_db(cls, subscription: SystemMsgSubscription):
""" """
兼容操作试图用 `settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER` 的邮件地址找到 兼容操作试图用 `settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER` 的邮件地址assets_systemuser_assets找到
用户把用户设置为默认接收者 用户把用户设置为默认接收者
""" """
emails = settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER.split(',') from settings.models import Setting
emails = [email.strip() for email in emails] db_setting = Setting.objects.filter(name='SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER').first()
if db_setting:
emails = db_setting.value
emails = emails or settings.SECURITY_INSECURE_COMMAND_EMAIL_RECEIVER
emails = emails.split(',')
emails = [email.strip().strip('"') for email in emails]
users = User.objects.filter(email__in=emails) users = User.objects.filter(email__in=emails)
subscription.users.add(*users) subscription.users.add(*users)
subscription.receive_backends = [BACKEND.EMAIL]
subscription.save()
class CommandAlertMessage(CommandAlertMixin, SystemMessage): class CommandAlertMessage(CommandAlertMixin, SystemMessage):