summaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
authorGuy Pyrzak <guy.pyrzak@gmail.com>2010-10-03 22:44:42 +0200
committerGuy Pyrzak <guy.pyrzak@gmail.com>2010-10-03 22:44:42 +0200
commit71320dae661a8ca351128d917c894b0f8318eaf3 (patch)
tree7a868603eae8d17bb069d5d54d4635ee41ba1a5a /template
parent22c1448223846c21addc7c1b1896989191163429 (diff)
downloadbugzilla-71320dae661a8ca351128d917c894b0f8318eaf3.tar.gz
bugzilla-71320dae661a8ca351128d917c894b0f8318eaf3.tar.xz
Bug 65477: Send HTML bugmail
r=mkanat, a=mkanat
Diffstat (limited to 'template')
-rw-r--r--template/en/default/email/bugmail-common.txt.html38
-rw-r--r--template/en/default/email/bugmail-header.txt.tmpl47
-rw-r--r--template/en/default/email/bugmail.html.tmpl126
-rw-r--r--template/en/default/email/bugmail.txt.tmpl (renamed from template/en/default/email/newchangedmail.txt.tmpl)52
4 files changed, 218 insertions, 45 deletions
diff --git a/template/en/default/email/bugmail-common.txt.html b/template/en/default/email/bugmail-common.txt.html
new file mode 100644
index 000000000..b6cadaf11
--- /dev/null
+++ b/template/en/default/email/bugmail-common.txt.html
@@ -0,0 +1,38 @@
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Guy Pyrzak
+ # Portions created by the Initial Developer are Copyright (C) 2010 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s): Guy Pyrzak <guy.pyrzak@gmail.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+
+[% field_label = field_descs.${change.field_name} %]
+[% old_value = display_value(change.field_name, change.old) %]
+[% new_value = display_value(change.field_name, change.new) %]
+
+[% IF change.field_name == "estimated_time" || change.field_name == "remaining_time" %]
+ [% old_value = old_value FILTER format('%.2f') %]
+ [% new_value = new_value FILTER format('%.2f') %]
+[% END %]
+
+[% IF change.attach_id %]
+ [% field_label = field_label.replace('^(Attachment )?', "Attachment #${change.attach_id} ") %]
+[% END %]
+
+[% IF change.field_name == 'longdescs.isprivate' %]
+ [% field_label = field_label.replace('^(Comment )?', "Comment #${change.num} ") %]
+[% END %]
+ \ No newline at end of file
diff --git a/template/en/default/email/bugmail-header.txt.tmpl b/template/en/default/email/bugmail-header.txt.tmpl
new file mode 100644
index 000000000..c2b4ea4f5
--- /dev/null
+++ b/template/en/default/email/bugmail-header.txt.tmpl
@@ -0,0 +1,47 @@
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): André Batosti <batosti@async.com.br>
+ # Frédéric Buclin <LpSolit@gmail.com>
+ # Guy Pyrzak <guy.pyrzak@gmail.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+[% PROCESS "global/reason-descs.none.tmpl" %]
+[% isnew = bug.lastdiffed ? 0 : 1 %]
+
+From: [% Param('mailfrom') %]
+To: [% to_user.email %]
+Subject: [[% terms.Bug %] [%+ bug.id %]] [% 'New: ' IF isnew %][%+ bug.short_desc %]
+Date: [% delta_ts || bug.delta_ts FILTER time("%a, %d %b %Y %T %z", to_user.timezone) %]
+X-Bugzilla-Reason: [% reasonsheader %]
+X-Bugzilla-Type: [% isnew ? 'new' : 'changed' %]
+X-Bugzilla-Watch-Reason: [% reasonswatchheader %]
+[% IF Param('useclassification') %]
+X-Bugzilla-Classification: [% bug.classification %]
+[% END %]
+X-Bugzilla-Product: [% bug.product %]
+X-Bugzilla-Component: [% bug.component %]
+X-Bugzilla-Keywords: [% bug.keywords %]
+X-Bugzilla-Severity: [% bug.bug_severity %]
+X-Bugzilla-Who: [% changer.login %]
+X-Bugzilla-Status: [% bug.bug_status %]
+X-Bugzilla-Priority: [% bug.priority %]
+X-Bugzilla-Assigned-To: [% bug.assigned_to.login %]
+X-Bugzilla-Target-Milestone: [% bug.target_milestone %]
+X-Bugzilla-Changed-Fields: [% changedfields.join(" ") %]
+[%+ threadingmarker %]
diff --git a/template/en/default/email/bugmail.html.tmpl b/template/en/default/email/bugmail.html.tmpl
new file mode 100644
index 000000000..888d47bc4
--- /dev/null
+++ b/template/en/default/email/bugmail.html.tmpl
@@ -0,0 +1,126 @@
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Guy Pyrzak
+ # Portions created by the Initial Developer are Copyright (C) 2010 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s): Guy Pyrzak <guy.pyrzak@gmail.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+[% PROCESS "global/reason-descs.none.tmpl" %]
+
+[% isnew = bug.lastdiffed ? 0 : 1 %]
+<html>
+ <head>
+ <base href="[% %]" />
+ </head>
+ <body>
+ [% PROCESS generate_diffs %]
+ <p>
+ [% FOREACH comment = new_comments.reverse %]
+ <div>
+ [% IF comment.count %]
+ <b>[% "Comment # ${comment.count}" FILTER bug_link( bug,
+ {comment_num => comment.count, full_url => 1}) FILTER none %]
+ from [% INCLUDE global/user.html.tmpl who = comment.author %]</b>
+ [% END %]
+ <pre>[% comment.body_full({ wrap => 1 }) FILTER html %]</pre>
+ </div>
+ [% END %]
+ </p>
+ <p>
+ <a href="[% urlbase FILTER html %]userprefs.cgi?tab=email">
+ Configure [% terms.bug %]mail
+ </a>
+ </p>
+
+ <span>You are receiving this mail because:</span>
+
+ <ul>
+ [% FOREACH reason = reasons %]
+ [% IF reason_descs.$reason %]
+ <li>[% reason_descs.$reason FILTER html %]</li>
+ [% END %]
+ [% END %]
+ [% FOREACH reason = reasons_watch %]
+ [% IF watch_reason_descs.$reason %]
+ <li>[% watch_reason_descs.$reason FILTER html %]</li>
+ [% END %]
+ [% END %]
+ </ul>
+ </body>
+</html>
+
+[% BLOCK generate_diffs %]
+
+ [% "${terms.Bug} ${bug.id}" FILTER bug_link(bug, full_url => 1) FILTER none %]
+
+ [% last_changer = "" %]
+ <table border="1" cellspacing="0" cellpadding="2">
+ [% FOREACH change = diffs %]
+ [% IF !isnew && change.who.login != last_changer %]
+ [% last_changer = change.who.login %]
+ [% IF change.blocker %]
+ <tr>
+ <td colspan="3">
+ [% "${terms.Bug} ${bug.id}" FILTER bug_link(bug, full_url => 1) FILTER none %] depends
+ on [% "${terms.bug} ${change.blocker.id}"
+ FILTER bug_link(change.blocker, full_url => 1) FILTER none %],
+ which changed state.
+ </td>
+ </tr>
+ [% ELSE %]
+ <tr>
+ <td colspan="3">
+ [% INCLUDE global/user.html.tmpl who = change.who %]
+ changed:
+ </td>
+ </tr>
+ [% END %]
+ <tr>
+ <th>What</th>
+ <th>Removed</th>
+ <th>Added</th>
+ </tr>
+ [% END %]
+
+ [% PROCESS "email/bugmail-common.txt.html" %]
+
+ [% IF isnew %]
+ <tr>
+ <th>[% field_label FILTER html %]</th>
+ <td>[% new_value FILTER html %]</td>
+ </tr>
+ [% ELSE %]
+ <tr>
+ <td style="text-align:right;">[% field_label FILTER html %]</td>
+ <td>
+ [% IF old_value %]
+ [% old_value FILTER html %]
+ [% ELSE %]
+ &nbsp;
+ [% END%]
+ </td>
+ <td>
+ [% IF new_value %]
+ [% new_value FILTER html %]
+ [% ELSE %]
+ &nbsp;
+ [% END%]
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+ </table>
+[% END %] \ No newline at end of file
diff --git a/template/en/default/email/newchangedmail.txt.tmpl b/template/en/default/email/bugmail.txt.tmpl
index de4a248e3..31efaba33 100644
--- a/template/en/default/email/newchangedmail.txt.tmpl
+++ b/template/en/default/email/bugmail.txt.tmpl
@@ -17,6 +17,7 @@
#
# Contributor(s): André Batosti <batosti@async.com.br>
# Frédéric Buclin <LpSolit@gmail.com>
+ # Guy Pyrzak <guy.pyrzak@gmail.com>
#%]
[% PROCESS "global/field-descs.none.tmpl" %]
@@ -24,28 +25,6 @@
[% isnew = bug.lastdiffed ? 0 : 1 %]
-From: [% Param('mailfrom') %]
-To: [% to_user.email %]
-Subject: [[% terms.Bug %] [%+ bug.id %]] [% 'New: ' IF isnew %][%+ bug.short_desc %]
-Date: [% delta_ts || bug.delta_ts FILTER time("%a, %d %b %Y %T %z", to_user.timezone) %]
-X-Bugzilla-Reason: [% reasonsheader %]
-X-Bugzilla-Type: [% isnew ? 'new' : 'changed' %]
-X-Bugzilla-Watch-Reason: [% reasonswatchheader %]
-[% IF Param('useclassification') %]
-X-Bugzilla-Classification: [% bug.classification %]
-[% END %]
-X-Bugzilla-Product: [% bug.product %]
-X-Bugzilla-Component: [% bug.component %]
-X-Bugzilla-Keywords: [% bug.keywords %]
-X-Bugzilla-Severity: [% bug.bug_severity %]
-X-Bugzilla-Who: [% changer.login %]
-X-Bugzilla-Status: [% bug.bug_status %]
-X-Bugzilla-Priority: [% bug.priority %]
-X-Bugzilla-Assigned-To: [% bug.assigned_to.login %]
-X-Bugzilla-Target-Milestone: [% bug.target_milestone %]
-X-Bugzilla-Changed-Fields: [% changedfields.join(" ") %]
-[%+ threadingmarker %]
-
[%+ PROCESS generate_diffs -%]
[% FOREACH comment = new_comments %]
@@ -74,42 +53,25 @@ Configure [% terms.bug %]mail: [% urlbase %]userprefs.cgi?tab=email
[%+ last_changer = "" %]
[% FOREACH change = diffs %]
- [% IF !isnew && change.login_name != last_changer %]
- [% last_changer = change.login_name %]
+ [% IF !isnew && change.who.login != last_changer %]
+ [% last_changer = change.who.login %]
[% IF change.blocker %]
[% terms.Bug %] [%+ bug.id %] depends on [% terms.bug %] [%+ change.blocker.id %], which changed state.
[%+ terms.Bug %] [%+ change.blocker.id %] Summary: [% change.blocker.short_desc %]
[%+ urlbase %]show_bug.cgi?id=[% change.blocker.id %]
[% ELSE %]
- [%~ IF change.realname %]
- [% change.realname _ " <" _ change.login_name _ ">" %]
+ [%~ IF change.who.name %]
+ [% change.who.name _ " <" _ change.who.login _ ">" %]
[% ELSE %]
- [% change.login_name %]
+ [% change.who.login %]
[% END %] changed:
[% END %]
What |Removed |Added
----------------------------------------------------------------------------
[%+ END %][%# End of IF. This indentation is intentional! ~%]
-
- [% field_label = field_descs.${change.field_name} %]
- [% old_value = display_value(change.field_name, change.old) %]
- [% new_value = display_value(change.field_name, change.new) %]
-
- [%~ IF change.field_name == "estimated_time" || change.field_name == "remaining_time" %]
- [% old_value = old_value FILTER format('%.2f') %]
- [% new_value = new_value FILTER format('%.2f') %]
- [% END %]
-
- [%~ IF change.attach_id %]
- [% field_label = field_label.replace('^(Attachment )?', "Attachment #${change.attach_id} ") %]
- [% END %]
-
- [%~ IF change.field_name == 'longdescs.isprivate' %]
- [% field_label = field_label.replace('^(Comment )?', "Comment #${change.num} ") %]
- [% END %]
-
+ [% PROCESS "email/bugmail-common.txt.html"%]
[%~ IF isnew %]
[% format_columns(2, field_label _ ":", new_value) -%]
[% ELSE %]