mirror of https://github.com/jumpserver/jumpserver
63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
from django.conf import settings
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from common.utils import get_logger, reverse
|
|
from common.tasks import send_mail_async
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
def send_login_confirm_order_mail_to_assignees(order, assignees):
|
|
recipient_list = [user.email for user in assignees]
|
|
user = order.user
|
|
if not recipient_list:
|
|
logger.error("Order not has assignees: {}".format(order.id))
|
|
return
|
|
subject = '{}: {}'.format(_("New order"), order.title)
|
|
detail_url = reverse('orders:login-confirm-order-detail',
|
|
kwargs={'pk': order.id}, external=True)
|
|
message = _("""
|
|
<div>
|
|
<p>Your has a new order</p>
|
|
<div>
|
|
<b>Title:</b> {order.title}
|
|
<br/>
|
|
<b>User:</b> {user}
|
|
<br/>
|
|
<b>Assignees:</b> {order.assignees_display}
|
|
<br/>
|
|
<b>City:</b> {order.city}
|
|
<br/>
|
|
<b>IP:</b> {order.ip}
|
|
<br/>
|
|
<a href={url}>click here to review</a>
|
|
</div>
|
|
</div>
|
|
""").format(order=order, user=user, url=detail_url)
|
|
send_mail_async.delay(subject, message, recipient_list, html_message=message)
|
|
|
|
|
|
def send_login_confirm_action_mail_to_user(order):
|
|
if not order.user:
|
|
logger.error("Order not has user: {}".format(order.id))
|
|
return
|
|
user = order.user
|
|
recipient_list = [user.email]
|
|
subject = '{}: {}'.format(_("Order has been reply"), order.title)
|
|
message = _("""
|
|
<div>
|
|
<p>Your order has been replay</p>
|
|
<div>
|
|
<b>Title:</b> {order.title}
|
|
<br/>
|
|
<b>Assignee:</b> {order.assignee_display}
|
|
<br/>
|
|
<b>Status:</b> {order.status_display}
|
|
<br/>
|
|
</div>
|
|
</div>
|
|
""").format(order=order)
|
|
send_mail_async.delay(subject, message, recipient_list, html_message=message)
|