diff options
Diffstat (limited to 'extensions/RequestNagger/template')
13 files changed, 557 insertions, 0 deletions
diff --git a/extensions/RequestNagger/template/en/default/account/prefs/request_nagging.html.tmpl b/extensions/RequestNagger/template/en/default/account/prefs/request_nagging.html.tmpl new file mode 100644 index 000000000..34bba0064 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/account/prefs/request_nagging.html.tmpl @@ -0,0 +1,56 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +<label for="request_nagging"> + Send me reminders for overdue requests: +</label> +<select name="request_nagging" id="request_nagging"> + <option value="default" [% "selected" IF user.settings.request_nagging.is_default %]> + Site Default (On) + </option> + <option value="on" [% "selected" IF !user.settings.request_nagging.is_default + && user.settings.request_nagging.value == "on" %]> + On + </option> + <option value="off" [% "selected" IF !user.settings.request_nagging.is_default + && user.settings.request_nagging.value == "off" %]> + Off + </option> +</select> + +<h4>User Request Reminder Watching</h4> + +<p> + If you watch a user, you will receive a report of their overdue + requests. +</p> + +<p> + [% IF watching.size %] + You are watching everyone in the following list:<br> + <select id="del_watching" name="del_watching" multiple="multiple" size="5"> + [% FOREACH u = watching %] + <option value="[% u FILTER html %]">[% u FILTER html %]</option> + [% END %] + </select><br> + <input type="checkbox" id="remove_watched_users" name="remove_watched_users"> + <label for="remove_watched_users">Remove selected users from my watch list</label> + [% ELSE %] + <i>You are currently not watching any users.</i> + [% END %] +</p> + +<p>Add users to my watch list (comma separated list): + [% INCLUDE global/userselect.html.tmpl + id => "add_watching" + name => "add_watching" + value => "" + size => 60 + multiple => 5 + %] +</p> diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-requestee-header.txt.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee-header.txt.tmpl new file mode 100644 index 000000000..8ad9d6cb1 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee-header.txt.tmpl @@ -0,0 +1,19 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] +[% PROCESS "global/reason-descs.none.tmpl" %] +From: [% Param('mailfrom') %] +To: [% recipient.email %] +Subject: [[% terms.Bugzilla %]] Your Overdue Requests + ([% FOREACH type = requests.item(recipient.email).typelist %] + [%- requests.item(recipient.email).types.item(type).size %] [%+ type %] + [% ", " UNLESS loop.last %] + [% END %]) +Date: [% date %] +X-Bugzilla-Type: nag diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.html.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.html.tmpl new file mode 100644 index 000000000..cc570e4c4 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.html.tmpl @@ -0,0 +1,90 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +<!doctype html> +<html> + +<head> + <title>[[% terms.Bugzilla %]] Your Overdue Requests</title> +</head> + +<body bgcolor="#ffffff"> + +<p> + The following is a list of requests people have made of you, which are + currently overdue. To avoid disappointing others, please deal with them as + quickly as possible. +</p> + +[% requests = requests.item(recipient.login) %] +[% FOREACH type = requests.typelist %] + + <h3> + [% type FILTER upper FILTER html %] requests + <span style="font-size: x-small; font-weight: normal"> + (<a href="[% urlbase FILTER none %]buglist.cgi?bug_id= + [% FOREACH request = requests.types.$type %] + [% request.bug.id FILTER none %] + [% "%2C" UNLESS loop.last %] + [% END %]">buglist</a>) + </span> + </h3> + + <ul> + [% FOREACH request = requests.types.$type %] + <li> + <a href="[% urlbase FILTER none %]show_bug.cgi?id=[% request.bug.id FILTER none %]" + title="[% request.bug.tooltip FILTER html %]"> + [% request.bug.id FILTER none %] - [% request.bug.short_desc FILTER html %] + </a><br> + <b>[%+ request.flag.age FILTER html %]</b> from [% request.requester.identity FILTER html %]<br> + <div style="font-size: x-small"> + [% IF request.attachment %] + <a href="[% urlbase FILTER none %]attachment.cgi?id=[% request.attachment.id FILTER none %]&action=edit">Details</a> + [% IF request.attachment.ispatch %] + | <a href="[% urlbase FILTER none %]attachment.cgi?id=[% request.attachment.id FILTER none %]&action=diff">Diff</a> + | <a href="[% urlbase FILTER none %]review?bug=[% request.bug.id FILTER none %]&attachment=[% request.attachment.id FILTER none %]">Review</a> + [% END %] + | + [% END %] + <a href="[% urlbase FILTER none %]request_defer?flag=[% request.flag.id FILTER none %]">Defer</a> + </div> + <br> + </li> + [% END %] + </ul> + +[% END %] + +<div> + <hr style="border: 1px dashed #969696"> + [% IF requests.types.item('review').size || requests.types.item('feedback').size %] + <a href="https://wiki.mozilla.org/BMO/Handling_Requests"> + Guidance on handling requests + </a><br> + [% END %] + <a href="[% urlbase FILTER none %]request.cgi?action=queue&requestee=[% recipient.login FILTER uri %]&group=type"> + See all your overdue requests + </a><br> + <a href="[% urlbase FILTER none %]userprefs.cgi#request_nagging"> + Opt out of these emails + </a><br> +</div> + +<div style="font-size: 90%; color: #666666"> + <hr style="border: 1px dashed #969696"> + <b>You are receiving this mail because:</b> + <ul> + <li>You have overdue requests.</li> + </ul> +</div> + +</body> +</html> diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.txt.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.txt.tmpl new file mode 100644 index 000000000..2dae504e5 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.txt.tmpl @@ -0,0 +1,45 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +The following is a list of requests people have made of you, which are +currently overdue. To avoid disappointing others, please deal with them as +quickly as possible. + +[% requests = requests.item(recipient.login) %] +[% FOREACH type = requests.typelist %] +:: [% type FILTER upper FILTER html %] requests + +[% FOREACH request = requests.types.$type %] +[[% terms.Bug %] [%+ request.bug.id %]] [% request.bug.short_desc %] + [%+ request.flag.age %] from [% request.requester.identity %] + [%+ urlbase %]show_bug.cgi?id=[% request.bug.id +%] + [% IF request.attachment && request.attachment.ispatch %] + Review: [% urlbase %]review?bug=[% request.bug.id %]&attachment=[% request.attachment.id %] + [% END %] + Defer: [% urlbase %]request_defer?flag=[% request.flag.id %] + +[% END %] +[% END %] + +:: + +[% IF requests.types.item('review').size || requests.types.item('feedback').size %] +Guidance on handling requests: + https://wiki.mozilla.org/BMO/Handling_Requests +[% END %] + +See all your overdue requests: + [%+ urlbase %]request.cgi?action=queue&requestee=[% recipient.login FILTER uri %]&group=type + +Opt out of these emails: + [%+ urlbase %]userprefs.cgi#request_nagging + +-- +You are receiving this mail because: you have overdue requests. diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-watching-header.txt.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-watching-header.txt.tmpl new file mode 100644 index 000000000..261e92f13 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-watching-header.txt.tmpl @@ -0,0 +1,15 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] +[% PROCESS "global/reason-descs.none.tmpl" %] +From: [% Param('mailfrom') %] +To: [% recipient.email %] +Subject: [[% terms.Bugzilla %]] Overdue Requests Report +Date: [% date %] +X-Bugzilla-Type: nag-watch diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-watching.html.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-watching.html.tmpl new file mode 100644 index 000000000..a3010f8a5 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-watching.html.tmpl @@ -0,0 +1,104 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +<!doctype html> +<html> + +<head> + <title>[[% terms.Bugzilla %]] Overdue Requests Report</title> +</head> + +<body bgcolor="#ffffff"> + +<p> + The following is a list of people who you are watching that have overdue + requests. +</p> + +<hr> + +[% FOREACH login = requests.keys.sort %] + [% requestee = requests.$login.requestee %] + [% requestee.identity FILTER html %] + <ul> + <li> + [%+ FOREACH type = requests.$login.typelist %] + [% requests.$login.types.item(type).size %] [%+ type FILTER html %] + [% ", " UNLESS loop.last %] + [% END %] + </li> + </ul> +[% END %] + +[% FOREACH login = requests.keys.sort %] + [% requestee = requests.$login.requestee %] + + [% bug_ids = [] %] + [% FOREACH type = requests.$login.typelist %] + [% FOREACH request = requests.$login.types.$type %] + [% bug_ids.push(request.bug.id) %] + [% END %] + [% END %] + + <hr> + <h3> + [% requestee.identity FILTER html %] + <span style="font-size: x-small; font-weight: normal"> + (<a href="[% urlbase FILTER none %]buglist.cgi?bug_id=[% bug_ids.join(",") FILTER uri %]">buglist</a>) + </span><br> + <span style="font-size: x-small; font-weight: normal"> + [% FOREACH type = requests.$login.typelist %] + [% requests.$login.types.item(type).size %] [%+ type FILTER html %] + [% ", " UNLESS loop.last %] + [% END %] + </span> + </h3> + + [% FOREACH type = requests.$login.typelist %] + + <h3>[% type FILTER upper FILTER html %] requests</h3> + + <ul> + [% FOREACH request = requests.$login.types.$type %] + <li> + <a href="[% urlbase FILTER none %]show_bug.cgi?id=[% request.bug.id FILTER none %]" + title="[% request.bug.tooltip FILTER html %]"> + [% request.bug.id FILTER none %] - [% request.bug.short_desc FILTER html %] + </a><br> + <b>[%+ request.flag.age FILTER html %]</b> from [% request.requester.identity FILTER html %]<br> + [% IF request.flag.deferred %] + Deferred until [%+ request.flag.deferred.ymd FILTER html %]<br> + [% END %] + <br> + </li> + [% END %] + </ul> + + [% END %] + +[% END %] + +<div> + <hr style="border: 1px dashed #969696"> + <a href="[% urlbase FILTER none %]userprefs.cgi?tab=request_nagging"> + Change who you are watching + </a> +</div> + +<div style="font-size: 90%; color: #666666"> + <hr style="border: 1px dashed #969696"> + <b>You are receiving this mail because:</b> + <ul> + <li>you are watching someone with overdue requests.</li> + </ul> +</div> + +</body> +</html> diff --git a/extensions/RequestNagger/template/en/default/email/request_nagging-watching.txt.tmpl b/extensions/RequestNagger/template/en/default/email/request_nagging-watching.txt.tmpl new file mode 100644 index 000000000..e36224109 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-watching.txt.tmpl @@ -0,0 +1,47 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +The following is a list of people who you are watching that have overdue +requests. + +[% FOREACH login = requests.keys.sort %] +[% requestee = requests.$login.requestee %] +:: +:: [% requestee.identity %] +:: [% FOREACH type = requests.$login.typelist %] + [%- requests.$login.types.item(type).size %] [%+ type %] + [% ", " UNLESS loop.last %] + [% END %] +:: + +[% FOREACH type = requests.$login.typelist %] +:: [% type FILTER upper FILTER html %] requests + +[% FOREACH request = requests.$login.types.$type %] +[[% terms.Bug %] [%+ request.bug.id %]] [% request.bug.short_desc %] + [%+ request.flag.age %] from [% request.requester.identity %] + [%+ urlbase %]show_bug.cgi?id=[% request.bug.id +%] + [% IF request.flag.deferred %] + Deferred until [%+ request.flag.deferred.ymd %] + [% END %] + +[% END %] +[% END %] + +[% END %] + +:: + +Change who you are watching + [%+ urlbase %]userprefs.cgi?tab=request_nagging + +-- +You are receiving this mail because: you are watching someone with overdue +requests. diff --git a/extensions/RequestNagger/template/en/default/hook/account/prefs/prefs-tabs.html.tmpl b/extensions/RequestNagger/template/en/default/hook/account/prefs/prefs-tabs.html.tmpl new file mode 100644 index 000000000..ed3e29c64 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/account/prefs/prefs-tabs.html.tmpl @@ -0,0 +1,14 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% tabs = tabs.import([{ + name => "request_nagging", + label => "Request Reminders", + link => "userprefs.cgi?tab=request_nagging", + saveable => 1 + }]) %] diff --git a/extensions/RequestNagger/template/en/default/hook/admin/products/edit-common-rows.html.tmpl b/extensions/RequestNagger/template/en/default/hook/admin/products/edit-common-rows.html.tmpl new file mode 100644 index 000000000..6dcd58f67 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/admin/products/edit-common-rows.html.tmpl @@ -0,0 +1,16 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +<tr> + <th align="right">Remind for overdue requests after:</th> + <td> + <input name="nag_interval" size="5" + value="[% product.id ? product.nag_interval / 24 : 7 %]"> + days (Setting this to 0 disables request reminding). + </td> +</tr> diff --git a/extensions/RequestNagger/template/en/default/hook/admin/products/updated-changes.html.tmpl b/extensions/RequestNagger/template/en/default/hook/admin/products/updated-changes.html.tmpl new file mode 100644 index 000000000..9baccce86 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/admin/products/updated-changes.html.tmpl @@ -0,0 +1,14 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF changes.nag_interval.defined %] + <p> + Changed request reminder interval from '[% changes.nag_interval.0 / 24 FILTER html %]' to + '[% product.nag_interval / 24 FILTER html %]'. + </p> +[% END %] diff --git a/extensions/RequestNagger/template/en/default/hook/global/setting-descs-settings.none.tmpl b/extensions/RequestNagger/template/en/default/hook/global/setting-descs-settings.none.tmpl new file mode 100644 index 000000000..c421a47de --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/global/setting-descs-settings.none.tmpl @@ -0,0 +1,11 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% + setting_descs.request_nagging = "Send me reminders for overdue requests" +%] diff --git a/extensions/RequestNagger/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/RequestNagger/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 000000000..12ef38370 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,25 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF error == "request_nagging_flag_invalid" %] + [% title = "Invalid Flag" %] + Invalid or missing Flag ID + +[% ELSIF error == "request_nagging_flag_set" %] + [% title = "Flag Already Set" %] + The requested Flag has been set, and is no longer pending. + +[% ELSIF error == "request_nagging_flag_wind" %] + [% title = "No Requestee" %] + The requested Flag does not have a requestee, and cannot be deferred. + +[% ELSIF error == "request_nagging_flag_not_owned" %] + [% title = "Not The Requestee" %] + You cannot defer Flags unless you are the requestee. + +[% END %] diff --git a/extensions/RequestNagger/template/en/default/pages/request_defer.html.tmpl b/extensions/RequestNagger/template/en/default/pages/request_defer.html.tmpl new file mode 100644 index 000000000..e89409ce1 --- /dev/null +++ b/extensions/RequestNagger/template/en/default/pages/request_defer.html.tmpl @@ -0,0 +1,101 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/header.html.tmpl + title = "Defer Request Reminder" + style_urls = [ "extensions/RequestNagger/web/style/requestnagger.css" ] + javascript_urls = [ "js/util.js" , "extensions/RequestNagger/web/js/requestnagger.js" ] +%] + +<h2>Defer Request Reminder</h2> + +[% IF saved %] + <div id="message"> + Request reminder deferral has been saved. + </div> +[% END %] + +<form method="post" action="page.cgi"> +<input type="hidden" name="id" value="request_defer.html"> +<input type="hidden" name="flag" value="[% flag.id FILTER none %]"> +<input type="hidden" name="save" value="1"> + +<table class="edit_form"> +<tr><td> + + <div class="flag-bug"> + <a href="show_bug.cgi?id=[% flag.bug.id FILTER none %]"> + [% terms.Bug %] [%+ flag.bug.id FILTER none %] + </a> + - + <a href="show_bug.cgi?id=[% flag.bug.id FILTER none %]"> + [% flag.bug.short_desc FILTER html %] + </a> + </div> + + [% IF flag.attachment %] + <div class="flag-attach"> + <div class="flag-attach-desc"> + <a href="attachment.cgi?id=[% flag.attachment.id FILTER none %]&action=edit"> + [% flag.attachment.description FILTER html %] + </a> + </div> + <div class="flag-attach-details"> + [% flag.attachment.filename FILTER html %] ([% flag.attachment.contenttype FILTER html %]), + [% IF flag.attachment.datasize %] + [%+ flag.attachment.datasize FILTER unitconvert %] + [% ELSE %] + <em>deleted</em> + [% END %], + created by [%+ INCLUDE global/user.html.tmpl who = flag.attachment.attacher %] + </div> + [% IF flag.attachment.ispatch %] + <div class="flag-attach-actions"> + <a href="attachment.cgi?id=[% flag.attachment.id FILTER none ~%] + &action=diff">Diff</a> | + <a href="review?bug=[% flag.bug.id FILTER none ~%] + &attachment=[% flag.attachment.id FILTER none %]">Review</a> + </div> + [% END %] + </div> + [% END %] + + <div class="flag-details"> + <span class="flag-type"> + [% flag.type.name FILTER html %] + </span> + requested by [%+ INCLUDE global/user.html.tmpl who = flag.setter %] + [% flag.age FILTER html %] + </div> + + [% IF saved %] + <div class="deferred"> + Deferred until [% defer_until.ymd FILTER html %]. + </div> + [% ELSE %] + <div class="defer"> + Defer[% "ed" IF flag.deferred %] for + <select name="defer-until" id="defer-until"> + [% FOREACH defer = defer_until %] + <option value="[% defer.date.ymd FILTER html %]" + [%+ "selected" IF flag.deferred.ymd == defer.date.ymd %] + > + [% defer.days FILTER html %] Day[% "s" UNLESS defer.days == 1 %] + </option> + [% END %] + </select> + <span id="defer-date"></span> + </div> + <input type="submit" value="Submit"> + [% END %] +</td></tr> +</table> + +</form> + +[% PROCESS global/footer.html.tmpl %] |