mirror of https://github.com/jumpserver/jumpserver
perf: 优化通知迁移
parent
1999cfdfeb
commit
8f35fcd6f9
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue