From bfc22d47158b685ff8c6a686faf0f213a65fa0e1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gmail.com>
Date: Thu, 25 Sep 2014 08:22:32 -0400
Subject: [PATCH] Merged #186 "Support email subject-line links"
---
src/main/java/com/gitblit/tickets/viewTicket.html | 12 ++++++++++++
src/main/java/com/gitblit/tickets/TicketNotifier.java | 9 ++++++++-
2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/gitblit/tickets/TicketNotifier.java b/src/main/java/com/gitblit/tickets/TicketNotifier.java
index 07371b1..5979cf2 100644
--- a/src/main/java/com/gitblit/tickets/TicketNotifier.java
+++ b/src/main/java/com/gitblit/tickets/TicketNotifier.java
@@ -135,6 +135,7 @@
StringBuilder html = new StringBuilder();
html.append("<head>");
html.append(readStyle());
+ html.append(readViewTicketAction(ticket));
html.append("</head>");
html.append("<body>");
html.append(MarkdownUtils.transformGFM(settings, markdown, ticket.repository));
@@ -596,7 +597,7 @@
// respect the author's email preference
UserModel lastAuthor = userManager.getUserModel(lastChange.author);
- if (!lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) {
+ if (lastAuthor != null && !lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) {
toAddresses.remove(lastAuthor.emailAddress);
ccAddresses.remove(lastAuthor.emailAddress);
}
@@ -613,6 +614,12 @@
return sb.toString();
}
+ protected String readViewTicketAction(TicketModel ticket) {
+ String action = readResource("viewTicket.html");
+ action = action.replace("${url}", ticketService.getTicketUrl(ticket));
+ return action;
+ }
+
protected String readResource(String resource) {
StringBuilder sb = new StringBuilder();
InputStream is = null;
diff --git a/src/main/java/com/gitblit/tickets/viewTicket.html b/src/main/java/com/gitblit/tickets/viewTicket.html
new file mode 100644
index 0000000..54e091c
--- /dev/null
+++ b/src/main/java/com/gitblit/tickets/viewTicket.html
@@ -0,0 +1,12 @@
+<script type="application/ld+json">
+{
+ "@context": "http://schema.org",
+ "@type": "EmailMessage",
+ "description": "View this Ticket in Gitblit",
+ "action": {
+ "@type": "ViewAction",
+ "url": "${url}",
+ "name": "View Ticket"
+ }
+}
+</script>
--
Gitblit v1.9.1