perf: 修改工单信息

This commit is contained in:
ibuler
2021-10-21 20:03:05 +08:00
committed by 老广
parent d1a3d31d3f
commit c341d01e5a
12 changed files with 287 additions and 250 deletions

View File

@@ -2,7 +2,7 @@ from urllib.parse import urljoin
from django.conf import settings
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from . import const
from notifications.notifications import UserMessage
@@ -17,14 +17,18 @@ class BaseTicketMessage(UserMessage):
ticket: Ticket
content_title: str
@property
def subject(self):
return self.title.format(self.ticket.title, self.ticket.get_type_display())
@property
def ticket_detail_url(self):
return urljoin(settings.SITE_URL, const.TICKET_DETAIL_URL.format(id=str(self.ticket.id)))
@property
def content_title(self):
raise NotImplementedError
@property
def subject(self):
raise NotImplementedError
def get_html_msg(self) -> dict:
context = dict(
title=self.content_title,
@@ -43,8 +47,6 @@ class BaseTicketMessage(UserMessage):
class TicketAppliedToAssignee(BaseTicketMessage):
title = _('New Ticket - {} ({})')
def __init__(self, user, ticket):
self.ticket = ticket
super().__init__(user)
@@ -55,6 +57,13 @@ class TicketAppliedToAssignee(BaseTicketMessage):
str(self.ticket.applicant_display)
)
@property
def subject(self):
title = _('New Ticket - {} ({})').format(
self.ticket.title, self.ticket.get_type_display()
)
return title
@classmethod
def gen_test_msg(cls):
from .models import Ticket
@@ -65,8 +74,6 @@ class TicketAppliedToAssignee(BaseTicketMessage):
class TicketProcessedToApplicant(BaseTicketMessage):
title = _('Ticket has processed - {} ({})')
def __init__(self, user, ticket, processor):
self.ticket = ticket
self.processor = processor
@@ -76,6 +83,13 @@ class TicketProcessedToApplicant(BaseTicketMessage):
def content_title(self):
return _('Your ticket has been processed, processor - {}').format(str(self.processor))
@property
def subject(self):
title = _('Ticket has processed - {} ({})').format(
self.ticket.title, self.ticket.get_type_display()
)
return title
@classmethod
def gen_test_msg(cls):
from .models import Ticket