From 4c09622b4432820e49795345a747e530e5aa0764 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Tue, 29 Oct 2013 13:32:25 +0800 Subject: Bug 892615: Add a 24 hour nag to all requests (review, feedback and need-info) and make them follow-able --- .../account/prefs/request_nagging.html.tmpl | 56 +++++++++++ .../request_nagging-requestee-header.txt.tmpl | 19 ++++ .../email/request_nagging-requestee.html.tmpl | 91 ++++++++++++++++++ .../email/request_nagging-requestee.txt.tmpl | 45 +++++++++ .../email/request_nagging-watching-header.txt.tmpl | 15 +++ .../email/request_nagging-watching.html.tmpl | 105 +++++++++++++++++++++ .../email/request_nagging-watching.txt.tmpl | 47 +++++++++ .../hook/account/prefs/prefs-tabs.html.tmpl | 14 +++ .../hook/admin/products/edit-common-rows.html.tmpl | 16 ++++ .../hook/admin/products/updated-changes.html.tmpl | 14 +++ .../en/default/hook/bug/show-header-end.html.tmpl | 9 ++ .../hook/global/setting-descs-settings.none.tmpl | 11 +++ .../hook/global/user-error-errors.html.tmpl | 25 +++++ .../en/default/pages/request_defer.html.tmpl | 101 ++++++++++++++++++++ 14 files changed, 568 insertions(+) create mode 100644 extensions/RequestNagger/template/en/default/account/prefs/request_nagging.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-requestee-header.txt.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-requestee.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-requestee.txt.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-watching-header.txt.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-watching.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/email/request_nagging-watching.txt.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/account/prefs/prefs-tabs.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/admin/products/edit-common-rows.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/admin/products/updated-changes.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/bug/show-header-end.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/global/setting-descs-settings.none.tmpl create mode 100644 extensions/RequestNagger/template/en/default/hook/global/user-error-errors.html.tmpl create mode 100644 extensions/RequestNagger/template/en/default/pages/request_defer.html.tmpl (limited to 'extensions/RequestNagger/template/en') 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..98317e328 --- /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. + #%] + + + + +

User Request Reminder Watching

+ +

+ If you watch a user, you will receive a report of their outstanding + requests. +

+ +

+ [% IF watching.size %] + You are watching everyone in the following list:
+
+ + + [% ELSE %] + You are currently not watching any users. + [% END %] +

+ +

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 + %] +

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..3fc2ea66b --- /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 Outstanding 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..b1b0eff7e --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-requestee.html.tmpl @@ -0,0 +1,91 @@ +[%# 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" %] + + + + + + [[% terms.Bugzilla %]] Your Outstanding Requests + + + + +

+ The following is a list of requests people have made of you, which are + currently outstanding. 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 + + (buglist) + +

+ + + +[% END %] + +
+
+ [% IF requests.types.item('review').size || requests.types.item('feedback').size %] + + Guidance on handling requests +
+ [% END %] + + See all your outstanding requests +
+ + Opt out of these emails +
+
+ +
+
+ You are receiving this mail because: + +
+ + + 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..83fbfcf71 --- /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 outstanding. 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 outstanding 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 outstanding 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..5693f2be0 --- /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 %]] Outstanding 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..e01167c5f --- /dev/null +++ b/extensions/RequestNagger/template/en/default/email/request_nagging-watching.html.tmpl @@ -0,0 +1,105 @@ +[%# 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" %] + + + + + + [[% terms.Bugzilla %]] Outstanding Requests Report + + + + +

+ The following is a list of people who you are watching that have outstanding + requests. +

+ +
+ +[% FOREACH login = requests.keys.sort %] + [% requestee = requests.$login.requestee %] + [% requestee.identity FILTER html %] + +[% 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 %] + +
+

+ [% requestee.identity FILTER html %] + + (buglist) +
+ + [% FOREACH type = requests.$login.typelist %] + [% requests.$login.types.item(type).size %] [%+ type FILTER html %] + [% ", " UNLESS loop.last %] + [% END %] + +

+ + [% FOREACH type = requests.$login.typelist %] + +

[% type FILTER upper FILTER html %] requests

+ + + + [% END %] + +[% END %] + +
+
+ + Change who you are watching + +
+ +
+
+ You are receiving this mail because: + +
+ + + 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..39ca8d004 --- /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 outstanding +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 outstanding +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..795ca2ec0 --- /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. + #%] + + + Remind for outstanding requests after: + + + days (Setting this to 0 disables request reminding). + + 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 %] +

+ Changed request reminder interval from '[% changes.nag_interval.0 / 24 FILTER html %]' to + '[% product.nag_interval / 24 FILTER html %]'. +

+[% END %] diff --git a/extensions/RequestNagger/template/en/default/hook/bug/show-header-end.html.tmpl b/extensions/RequestNagger/template/en/default/hook/bug/show-header-end.html.tmpl new file mode 100644 index 000000000..d91877dba --- /dev/null +++ b/extensions/RequestNagger/template/en/default/hook/bug/show-header-end.html.tmpl @@ -0,0 +1,9 @@ +[%# 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. + #%] + +[% style_urls.push("extensions/RequestNagger/web/requestnagger.css") %] 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..aaec920a9 --- /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 outstanding 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" ] +%] + +

Defer Request Reminder

+ +[% IF saved %] +
+ Request reminder deferral has been saved. +
+[% END %] + +
+ + + + + + +
+ + + + [% IF flag.attachment %] +
+ +
+ [% flag.attachment.filename FILTER html %] ([% flag.attachment.contenttype FILTER html %]), + [% IF flag.attachment.datasize %] + [%+ flag.attachment.datasize FILTER unitconvert %] + [% ELSE %] + deleted + [% END %], + created by [%+ INCLUDE global/user.html.tmpl who = flag.attachment.attacher %] +
+ [% IF flag.attachment.ispatch %] +
+ Diff | + Review +
+ [% END %] +
+ [% END %] + +
+ + [% flag.type.name FILTER html %] + + requested by [%+ INCLUDE global/user.html.tmpl who = flag.setter %] + [% flag.age FILTER html %] +
+ + [% IF saved %] +
+ Deferred until [% defer_until.ymd FILTER html %]. +
+ [% ELSE %] +
+ Defer[% "ed" IF flag.deferred %] for + + +
+ + [% END %] +
+ +
+ +[% PROCESS global/footer.html.tmpl %] -- cgit v1.2.3-24-g4f1b