Scarab commit: svn commit: r10613 - trunk/src: conf/classes java/org/tigris/scarab/notification java/org/tigris/scarab/util webapp/WEB-INF/templates/email/notification
[email protected] 22 Aug 2008 13:02:34 -0000
Newsgroups
gmane.comp.java.scarab.cvs
Message-ID
<[email protected] >
Author: hair
Date: 2008-08-22 06:02:34-0700
New Revision: 10613
Modified:
trunk/src/conf/classes/ScarabBundle_en.properties
trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java
trunk/src/java/org/tigris/scarab/util/Email.java
trunk/src/java/org/tigris/scarab/util/EmailContext.java
trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm
Log:
Issue SCB845: ( All emails from one issue belonging to same mail thread)
Modified: trunk/src/conf/classes/ScarabBundle_en.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/classes/ScarabBundle_en.properties?view=diff&rev=10613&p1=trunk/src/conf/classes/ScarabBundle_en.properties&p2=trunk/src/conf/classes/ScarabBundle_en.properties&r1=10612&r2=10613
==============================================================================
--- trunk/src/conf/classes/ScarabBundle_en.properties (original)
+++ trunk/src/conf/classes/ScarabBundle_en.properties 2008-08-22 06:02:34-0700
@@ -1519,7 +1519,7 @@
## ***********************************************************************
# ActivitySet
-DefaultModifyIssueEmailSubject=[{0}] Issue #{1} {2}
+DefaultModifyIssueEmailSubject=[{0}] Issue #{1} ({2}) {3}
MinimalModifyIssueEmailSubject=Issue #{0} modified
# AbstractScarabModule
Modified: trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java?view=diff&rev=10613&p1=trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java&p2=trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java&r1=10612&r2=10613
==============================================================================
--- trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java (original)
+++ trunk/src/java/org/tigris/scarab/notification/ScarabNewNotificationManager.java 2008-08-22 06:02:34-0700
@@ -304,12 +304,31 @@
ScarabUser user = (ScarabUser) userIterator.next();
EmailContext ectx = new EmailContext();
- ectx.put("issue", issue);
- ectx.put("link", new ScarabLink());
+ ectx.setIssue(issue);
+ ectx.setLinkTool(new ScarabLink());
ectx.put("creators", creators);
ectx.put("firstNotification", firstNotification);
ectx.put("lastNotification", lastNotification);
ectx.put("changedStatus",changedStatusAttributeValue);
+ // Message-ID & References headers
+ try{
+ if(issue.getCreatedDate().before(firstNotification.getCreationDate()))
+ {
+ ectx.setMessageID(firstNotification.getCreationDate().getTime()
+ + issueId + '@' + issue.getIdDomain());
+
+ ectx.addReference(issueId + '@' + issue.getIdDomain());
+ }
+ else
+ {
+ ectx.setMessageID(issueId + '@' + issue.getIdDomain());
+ }
+ }
+ catch(TorqueException te)
+ {
+ Log.get().warn("Unable to set Message-Id/References headers");
+ }
+
Map groupedActivities = (Map) issueActivities.get(user);
if(groupedActivities == null)
{
@@ -725,6 +744,7 @@
throws Exception
{
context.setSubjectTemplate("notification/IssueActivitySubject.vm");
+ context.setDefaultTextKey(issue.getDefaultText());
Set toUsers = new HashSet();
toUsers.add(user);
Modified: trunk/src/java/org/tigris/scarab/util/Email.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/Email.java?view=diff&rev=10613&p1=trunk/src/java/org/tigris/scarab/util/Email.java&p2=trunk/src/java/org/tigris/scarab/util/Email.java&r1=10612&r2=10613
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/Email.java (original)
+++ trunk/src/java/org/tigris/scarab/util/Email.java 2008-08-22 06:02:34-0700
@@ -81,6 +81,7 @@
import org.tigris.scarab.tools.localization.L10NKeySet;
import org.tigris.scarab.util.ScarabConstants;
import org.apache.fulcrum.TurbineServices;
+import org.tigris.scarab.om.Issue;
import org.tigris.scarab.services.email.EmailService;
import org.tigris.scarab.services.email.VelocityEmailService;
@@ -251,6 +252,16 @@
}
}
+ // Email threading
+ if(null!=context.getMessageID())
+ {
+ te.addHeader("Message-ID", context.getMessageID());
+ }
+ if(null!=context.getReferences())
+ {
+ te.addHeader("References", context.getReferences());
+ }
+
try
{
log.debug("Sending email ...");
Modified: trunk/src/java/org/tigris/scarab/util/EmailContext.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/EmailContext.java?view=diff&rev=10613&p1=trunk/src/java/org/tigris/scarab/util/EmailContext.java&p2=trunk/src/java/org/tigris/scarab/util/EmailContext.java&r1=10612&r2=10613
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/EmailContext.java (original)
+++ trunk/src/java/org/tigris/scarab/util/EmailContext.java 2008-08-22 06:02:34-0700
@@ -109,4 +109,24 @@
{
return subjectTemplate;
}
+
+ public String getMessageID()
+ {
+ return (String) get("Message-ID");
+ }
+
+ public void setMessageID(final String messageId)
+ {
+ put("Message-ID", messageId);
+ }
+
+ public String getReferences()
+ {
+ return (String) get("References");
+ }
+
+ public void addReference(final String reference)
+ {
+ put("References", getReferences() + reference + ' ');
+ }
}
Modified: trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm?view=diff&rev=10613&p1=trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm&p2=trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm&r1=10612&r2=10613
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm (original)
+++ trunk/src/webapp/WEB-INF/templates/email/notification/IssueActivitySubject.vm 2008-08-22 06:02:34-0700
@@ -1 +1 @@
-#set ($args = [$issue.Module.RealName.toUpperCase(), $issue.UniqueId, $l10n.getIgnoreMissingResource($changedStatus)]) $l10n.format("DefaultModifyIssueEmailSubject", $args)
\ No newline at end of file
+#set ($args = [$issue.Module.RealName.toUpperCase(), $issue.UniqueId, $l10n.getIgnoreMissingResource($changedStatus), $issue.defaultText]) $l10n.format("DefaultModifyIssueEmailSubject", $args)
\ No newline at end of file