Include an In-Reply-To: <Message-ID of triggering e-mail>, if any, in the new_ticket notification
This commit is contained in:
parent
d14758e1d8
commit
8a3c9b63b9
|
@ -106,7 +106,8 @@ class MailHandler:
|
|||
print("Rejecting email due to validation errors")
|
||||
return "550 " + ", ".join([e["reason"] for e in valid.errors])
|
||||
|
||||
ticket = submit_ticket(tracker, sender, title, desc, from_email=True)
|
||||
ticket = submit_ticket(tracker, sender, title, desc,
|
||||
from_email=True, from_email_id=mail["Message-ID"])
|
||||
UserWebhook.deliver(UserWebhook.Events.ticket_create,
|
||||
ticket.to_dict(),
|
||||
UserWebhook.Subscription.user_id == sender.id)
|
||||
|
|
|
@ -433,7 +433,7 @@ def get_comment_counts(tickets):
|
|||
.filter(col.in_([t.id for t in tickets]))
|
||||
.group_by(col))
|
||||
|
||||
def _send_new_ticket_notification(subscription, ticket):
|
||||
def _send_new_ticket_notification(subscription, ticket, email_trigger_id):
|
||||
subject = f"{ticket.ref()}: {ticket.title}"
|
||||
headers = {
|
||||
"From": "{} <{}>".format(ticket.submitter.name, notify_from),
|
||||
|
@ -441,11 +441,14 @@ def _send_new_ticket_notification(subscription, ticket):
|
|||
"Reply-To": f"{ticket.ref()} <{ticket.ref(email=True)}@{posting_domain}>",
|
||||
"Sender": smtp_user,
|
||||
}
|
||||
if email_trigger_id:
|
||||
headers["In-Reply-To"] = email_trigger_id
|
||||
|
||||
notify(subscription, "new_ticket", subject,
|
||||
headers=headers, ticket=ticket, ticket_url=ticket_url(ticket))
|
||||
|
||||
def submit_ticket(tracker, submitter, title, description, importing=False, from_email=False):
|
||||
def submit_ticket(tracker, submitter, title, description,
|
||||
importing=False, from_email=False, from_email_id=None):
|
||||
ticket = Ticket(
|
||||
submitter=submitter,
|
||||
tracker=tracker,
|
||||
|
@ -473,7 +476,7 @@ def submit_ticket(tracker, submitter, title, description, importing=False, from_
|
|||
_create_event_notification(sub.participant, event)
|
||||
# Notify submitter for tickets created by email
|
||||
if from_email or sub.participant != submitter:
|
||||
_send_new_ticket_notification(sub, ticket)
|
||||
_send_new_ticket_notification(sub, ticket, from_email_id)
|
||||
|
||||
notified_users = [sub.participant for sub in tracker.subscriptions]
|
||||
_handle_mentions(
|
||||
|
|
Loading…
Reference in New Issue