mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-25 06:42:49 +00:00
perf: 优化工单body html显示格式及翻译信息
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from django.utils.translation import ugettext as __
|
||||
from django.utils.translation import ugettext as _
|
||||
from orgs.utils import tmp_to_org, tmp_to_root_org
|
||||
from applications.models import Application
|
||||
from applications.const import ApplicationCategoryChoices, ApplicationTypeChoices
|
||||
@@ -52,12 +52,12 @@ class Handler(BaseHandler):
|
||||
{}: {},
|
||||
{}: {},
|
||||
'''.format(
|
||||
__('Applied category'), apply_category_display,
|
||||
__('Applied type'), apply_type_display,
|
||||
__('Applied application group'), apply_application_group,
|
||||
__('Applied system user group'), apply_system_user_group,
|
||||
__('Applied date start'), apply_date_start,
|
||||
__('Applied date expired'), apply_date_expired,
|
||||
_('Applied category'), apply_category_display,
|
||||
_('Applied type'), apply_type_display,
|
||||
_('Applied application group'), apply_application_group,
|
||||
_('Applied system user group'), apply_system_user_group,
|
||||
_('Applied date start'), apply_date_start,
|
||||
_('Applied date expired'), apply_date_expired,
|
||||
)
|
||||
return applied_body
|
||||
|
||||
@@ -72,10 +72,10 @@ class Handler(BaseHandler):
|
||||
{}: {},
|
||||
{}: {},
|
||||
'''.format(
|
||||
__('Approved applications'), approve_applications_display,
|
||||
__('Approved system users'), approve_system_users_display,
|
||||
__('Approved date start'), approve_date_start,
|
||||
__('Approved date expired'), approve_date_expired
|
||||
_('Approved applications'), approve_applications_display,
|
||||
_('Approved system users'), approve_system_users_display,
|
||||
_('Approved date start'), approve_date_start,
|
||||
_('Approved date expired'), approve_date_expired
|
||||
)
|
||||
return approved_body
|
||||
|
||||
@@ -92,10 +92,10 @@ class Handler(BaseHandler):
|
||||
approve_system_users_id = self.ticket.meta.get('approve_system_users', [])
|
||||
approve_date_start = self.ticket.meta.get('approve_date_start')
|
||||
approve_date_expired = self.ticket.meta.get('approve_date_expired')
|
||||
permission_name = '{}({})'.format(
|
||||
__('Created by ticket ({})'.format(self.ticket.title)), str(self.ticket.id)[:4]
|
||||
permission_name = _('Created by ticket ({}) ({})'.format(
|
||||
self.ticket.title, str(self.ticket.id)[:4])
|
||||
)
|
||||
permission_comment = __(
|
||||
permission_comment = _(
|
||||
'Created by the ticket, '
|
||||
'ticket title: {}, '
|
||||
'ticket applicant: {}, '
|
||||
@@ -108,10 +108,10 @@ class Handler(BaseHandler):
|
||||
)
|
||||
permissions_data = {
|
||||
'id': self.ticket.id,
|
||||
'name': permission_name,
|
||||
'name': str(permission_name),
|
||||
'category': apply_category,
|
||||
'type': apply_type,
|
||||
'comment': permission_comment,
|
||||
'comment': str(permission_comment),
|
||||
'created_by': '{}:{}'.format(str(self.__class__.__name__), str(self.ticket.id)),
|
||||
'date_start': approve_date_start,
|
||||
'date_expired': approve_date_expired,
|
||||
|
@@ -1,5 +1,5 @@
|
||||
from .base import BaseHandler
|
||||
from django.utils.translation import ugettext as __
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from perms.models import AssetPermission, Action
|
||||
from assets.models import Asset, SystemUser
|
||||
@@ -54,12 +54,12 @@ class Handler(BaseHandler):
|
||||
{}: {},
|
||||
{}: {}
|
||||
'''.format(
|
||||
__('Applied IP group'), apply_ip_group,
|
||||
__("Applied hostname group"), apply_hostname_group,
|
||||
__("Applied system user group"), apply_system_user_group,
|
||||
__("Applied actions"), apply_actions_display,
|
||||
__('Applied date start'), apply_date_start,
|
||||
__('Applied date expired'), apply_date_expired,
|
||||
_('Applied IP group'), apply_ip_group,
|
||||
_("Applied hostname group"), apply_hostname_group,
|
||||
_("Applied system user group"), apply_system_user_group,
|
||||
_("Applied actions"), apply_actions_display,
|
||||
_('Applied date start'), apply_date_start,
|
||||
_('Applied date expired'), apply_date_expired,
|
||||
)
|
||||
return applied_body
|
||||
|
||||
@@ -75,11 +75,11 @@ class Handler(BaseHandler):
|
||||
{}: {},
|
||||
{}: {}
|
||||
'''.format(
|
||||
__('Approved assets'), approve_assets_display,
|
||||
__('Approved system users'), approve_system_users_display,
|
||||
__('Approved actions'), ', '.join(approve_actions_display),
|
||||
__('Approved date start'), approve_date_start,
|
||||
__('Approved date expired'), approve_date_expired,
|
||||
_('Approved assets'), approve_assets_display,
|
||||
_('Approved system users'), approve_system_users_display,
|
||||
_('Approved actions'), ', '.join(approve_actions_display),
|
||||
_('Approved date start'), approve_date_start,
|
||||
_('Approved date expired'), approve_date_expired,
|
||||
)
|
||||
return approved_body
|
||||
|
||||
@@ -95,23 +95,25 @@ class Handler(BaseHandler):
|
||||
approve_actions = self.ticket.meta.get('approve_actions', Action.NONE)
|
||||
approve_date_start = self.ticket.meta.get('approve_date_start')
|
||||
approve_date_expired = self.ticket.meta.get('approve_date_expired')
|
||||
permission_name = '{}({})'.format(
|
||||
__('Created by ticket ({})'.format(self.ticket.title)), str(self.ticket.id)[:4]
|
||||
permission_name = _('Created by ticket ({}) ({})'.format(
|
||||
self.ticket.title, str(self.ticket.id)[:4])
|
||||
)
|
||||
permission_comment = __(
|
||||
permission_comment = _(
|
||||
'Created by the ticket, '
|
||||
'ticket title: {}, '
|
||||
'ticket applicant: {}, '
|
||||
'ticket processor: {}, '
|
||||
'ticket ID: {}'
|
||||
''.format(
|
||||
self.ticket.title, self.ticket.applicant_display, self.ticket.processor_display,
|
||||
self.ticket.title,
|
||||
self.ticket.applicant_display,
|
||||
self.ticket.processor_display,
|
||||
str(self.ticket.id)
|
||||
)
|
||||
)
|
||||
permission_data = {
|
||||
'id': self.ticket.id,
|
||||
'name': permission_name,
|
||||
'name': str(permission_name),
|
||||
'comment': permission_comment,
|
||||
'created_by': '{}:{}'.format(str(self.__class__.__name__), str(self.ticket.id)),
|
||||
'actions': approve_actions,
|
||||
|
@@ -1,6 +1,8 @@
|
||||
from django.utils.translation import ugettext as __
|
||||
from django.utils.translation import ugettext as _
|
||||
from common.utils import get_logger
|
||||
from tickets.utils import send_ticket_processed_mail_to_applicant
|
||||
from tickets.utils import (
|
||||
send_ticket_processed_mail_to_applicant, send_ticket_applied_mail_to_assignees
|
||||
)
|
||||
|
||||
|
||||
logger = get_logger(__name__)
|
||||
@@ -14,9 +16,11 @@ class BaseHandler(object):
|
||||
# on action
|
||||
def _on_open(self):
|
||||
self.ticket.applicant_display = str(self.ticket.applicant)
|
||||
self.ticket.assignees_display = [str(assignee) for assignee in self.ticket.assignees.all()]
|
||||
meta_display = getattr(self, '_construct_meta_display_of_open', lambda: {})()
|
||||
self.ticket.meta.update(meta_display)
|
||||
self.ticket.save()
|
||||
self._send_applied_mail_to_assignees()
|
||||
|
||||
def _on_approve(self):
|
||||
meta_display = getattr(self, '_construct_meta_display_of_approve', lambda: {})()
|
||||
@@ -41,11 +45,12 @@ class BaseHandler(object):
|
||||
return method()
|
||||
|
||||
# email
|
||||
def _send_applied_mail_to_assignees(self):
|
||||
logger.debug('Send applied email to assignees: {}'.format(self.ticket.assignees_display))
|
||||
send_ticket_applied_mail_to_assignees(self.ticket)
|
||||
|
||||
def _send_processed_mail_to_applicant(self):
|
||||
msg = 'Ticket ({}) has processed, send mail to applicant ({})'.format(
|
||||
self.ticket.title, self.ticket.applicant_display
|
||||
)
|
||||
logger.debug(msg)
|
||||
logger.debug('Send processed mail to applicant: {}'.format(self.ticket.applicant_display))
|
||||
send_ticket_processed_mail_to_applicant(self.ticket)
|
||||
|
||||
# comments
|
||||
@@ -54,13 +59,18 @@ class BaseHandler(object):
|
||||
user_display = str(user)
|
||||
action_display = self.ticket.get_action_display()
|
||||
data = {
|
||||
'body': __('User {} {} the ticket'.format(user_display, action_display)),
|
||||
'body': _('User {} {} the ticket'.format(user_display, action_display)),
|
||||
'user': user,
|
||||
'user_display': user_display
|
||||
}
|
||||
return self.ticket.comments.create(**data)
|
||||
|
||||
# body
|
||||
body_html_format = '''
|
||||
{}:
|
||||
<div style="margin-left: 20px;">{}</div>
|
||||
'''
|
||||
|
||||
def get_body(self):
|
||||
old_body = self.ticket.meta.get('body')
|
||||
if old_body:
|
||||
@@ -71,9 +81,7 @@ class BaseHandler(object):
|
||||
return basic_body + meta_body
|
||||
|
||||
def _construct_basic_body(self):
|
||||
body = '''
|
||||
{}:
|
||||
{}: {},
|
||||
basic_body = '''{}: {},
|
||||
{}: {},
|
||||
{}: {},
|
||||
{}: {},
|
||||
@@ -81,15 +89,15 @@ class BaseHandler(object):
|
||||
{}: {},
|
||||
{}: {}
|
||||
'''.format(
|
||||
__("Ticket basic info"),
|
||||
__('Ticket title'), self.ticket.title,
|
||||
__('Ticket type'), self.ticket.get_type_display(),
|
||||
__('Ticket applicant'), self.ticket.applicant_display,
|
||||
__('Ticket assignees'), self.ticket.assignees_display,
|
||||
__('Ticket processor'), self.ticket.processor_display,
|
||||
__('Ticket action'), self.ticket.get_action_display(),
|
||||
__('Ticket status'), self.ticket.get_status_display()
|
||||
_('Ticket title'), self.ticket.title,
|
||||
_('Ticket type'), self.ticket.get_type_display(),
|
||||
_('Ticket applicant'), self.ticket.applicant_display,
|
||||
_('Ticket assignees'), self.ticket.assignees_display,
|
||||
_('Ticket processor'), self.ticket.processor_display or _('No'),
|
||||
_('Ticket action'), self.ticket.get_action_display(),
|
||||
_('Ticket status'), self.ticket.get_status_display()
|
||||
)
|
||||
body = self.body_html_format.format(_("Ticket basic info"), basic_body)
|
||||
return body
|
||||
|
||||
def _construct_meta_body(self):
|
||||
@@ -102,21 +110,11 @@ class BaseHandler(object):
|
||||
return body
|
||||
|
||||
def _base_construct_meta_body_of_open(self):
|
||||
open_body = '''
|
||||
{}:
|
||||
{}
|
||||
'''.format(
|
||||
__('Ticket applied info'),
|
||||
getattr(self, '_construct_meta_body_of_open', lambda: 'No')()
|
||||
)
|
||||
return open_body
|
||||
meta_body_of_open = getattr(self, '_construct_meta_body_of_open', lambda: 'No')()
|
||||
body = self.body_html_format.format(_('Ticket applied info'), meta_body_of_open)
|
||||
return body
|
||||
|
||||
def _base_construct_meta_body_of_approve(self):
|
||||
approve_body = '''
|
||||
{}:
|
||||
{}
|
||||
'''.format(
|
||||
__('Ticket approved info'),
|
||||
getattr(self, '_construct_meta_body_of_approve', lambda: 'No')()
|
||||
)
|
||||
return approve_body
|
||||
meta_body_of_approve = getattr(self, '_construct_meta_body_of_approve', lambda: 'No')()
|
||||
body = self.body_html_format.format(_('Ticket approved info'), meta_body_of_approve)
|
||||
return body
|
||||
|
@@ -1,4 +1,4 @@
|
||||
from django.utils.translation import ugettext as __
|
||||
from django.utils.translation import ugettext as _
|
||||
from .base import BaseHandler
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ class Handler(BaseHandler):
|
||||
{}: {},
|
||||
{}: {}
|
||||
'''.format(
|
||||
__("Applied login IP"), apply_login_ip,
|
||||
__("Applied login city"), apply_login_city,
|
||||
__("Applied login datetime"), apply_login_datetime,
|
||||
_("Applied login IP"), apply_login_ip,
|
||||
_("Applied login city"), apply_login_city,
|
||||
_("Applied login datetime"), apply_login_datetime,
|
||||
)
|
||||
return applied_body
|
||||
|
Reference in New Issue
Block a user