From 8f35fcd6f9ebd79ffeaf87a9b100f7c4f78149be Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 16 Jun 2021 14:38:17 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/notifications.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/terminal/notifications.py b/apps/terminal/notifications.py index 0d7203ed2..53eeff392 100644 --- a/apps/terminal/notifications.py +++ b/apps/terminal/notifications.py @@ -6,6 +6,7 @@ from common.utils import get_logger, reverse from notifications.notifications import SystemMessage from terminal.models import Session, Command from notifications.models import SystemMsgSubscription +from notifications.backends import BACKEND logger = get_logger(__name__) @@ -24,14 +25,21 @@ class CommandAlertMixin: @classmethod 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(',') - emails = [email.strip() for email in emails] + from settings.models import Setting + 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) subscription.users.add(*users) + subscription.receive_backends = [BACKEND.EMAIL] + subscription.save() class CommandAlertMessage(CommandAlertMixin, SystemMessage):