diff options
author | myk%mozilla.org <> | 2002-09-29 01:42:23 +0000 |
---|---|---|
committer | myk%mozilla.org <> | 2002-09-29 01:42:23 +0000 |
commit | 91b171e7584920d03abb9c45e779c84f3dee975c (patch) | |
tree | fc59becfe02d1a4dc84e5f3501f0139effcf1c7a /template/en/default/request | |
parent | 90975fe914d066726d06f53abe8696399b13a61a (diff) | |
download | bugs-91b171e7584920d03abb9c45e779c84f3dee975c.tar bugs-91b171e7584920d03abb9c45e779c84f3dee975c.tar.gz bugs-91b171e7584920d03abb9c45e779c84f3dee975c.tar.bz2 bugs-91b171e7584920d03abb9c45e779c84f3dee975c.tar.xz bugs-91b171e7584920d03abb9c45e779c84f3dee975c.zip |
Fix for bug 98801: Implementation of the request tracker, a set of enhancements to attachment statuses.
r=gerv,bbaetz
Diffstat (limited to 'template/en/default/request')
-rw-r--r-- | template/en/default/request/created-email.txt.tmpl | 41 | ||||
-rw-r--r-- | template/en/default/request/fulfilled-email.txt.tmpl | 42 | ||||
-rw-r--r-- | template/en/default/request/queue.html.tmpl | 193 | ||||
-rw-r--r-- | template/en/default/request/verify.html.tmpl | 108 |
4 files changed, 384 insertions, 0 deletions
diff --git a/template/en/default/request/created-email.txt.tmpl b/template/en/default/request/created-email.txt.tmpl new file mode 100644 index 000000000..3edf10786 --- /dev/null +++ b/template/en/default/request/created-email.txt.tmpl @@ -0,0 +1,41 @@ +[%# 1.0@bugzilla.org %] +[%# 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): Myk Melez <myk@mozilla.org> + #%] +From: bugzilla-request-daemon +To: [% flag.requestee.email IF flag.requestee.email_prefs.FlagRequestee %] +CC: [% flag.type.cc_list %] +Subject: [% flag.type.name %]: [Bug [% flag.target.bug.id %]] [% flag.target.bug.summary %] +[%- IF flag.target.attachment.exists %] : + [Attachment [% flag.target.attachment.id %]] [% flag.target.attachment.summary %][% END %] + +[%+ USE wrap -%] +[%- FILTER bullet = wrap(80) -%] +[% flag.setter.identity %] has asked you for [% flag.type.name %] on bug # + [%- flag.target.bug.id %] ([% flag.target.bug.summary %]) +[%- IF flag.target.attachment.exists %], attachment # + [%- flag.target.attachment.id %] ([% flag.target.attachment.summary %])[% END %]. + +[%+ IF flag.target.type == 'bug' -%] + [% Param('urlbase') %]show_bug.cgi?id=[% flag.target.bug.id %] +[%- ELSIF flag.target.type == 'attachment' -%] + [% Param('urlbase') %]attachment.cgi?id=[% flag.target.attachment.id %]&action=edit +[%- END %] + +[%- END %] diff --git a/template/en/default/request/fulfilled-email.txt.tmpl b/template/en/default/request/fulfilled-email.txt.tmpl new file mode 100644 index 000000000..84608c546 --- /dev/null +++ b/template/en/default/request/fulfilled-email.txt.tmpl @@ -0,0 +1,42 @@ +[%# 1.0@bugzilla.org %] +[%# 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): Myk Melez <myk@mozilla.org> + #%] +[% statuses = { '+' => "approved" , '-' => 'denied' , 'X' => "cancelled" } %] +From: bugzilla-request-daemon +To: [% flag.setter.email IF flag.setter.email_prefs.FlagRequester %] +CC: [% flag.type.cc_list %] +Subject: [% flag.type.name %]: [Bug [% flag.target.bug.id %]] [% flag.target.bug.summary %] +[%- IF flag.target.attachment.exists %] : + [Attachment [% flag.target.attachment.id %]] [% flag.target.attachment.summary %][% END %] + +[%+ USE wrap -%] +[%- FILTER bullet = wrap(80) -%] +[% user.realname %] <[% user.login %]> has [% statuses.${flag.status} %] your request for [% flag.type.name %] on bug # + [%- flag.target.bug.id %] ([% flag.target.bug.summary %]) +[%- IF flag.target.attachment.exists %], attachment # + [%- flag.target.attachment.id %] ([% flag.target.attachment.summary %])[% END %]. + +[%+ IF flag.target.type == 'bug' -%] + [% Param('urlbase') %]show_bug.cgi?id=[% flag.target.bug.id %] +[%- ELSIF flag.target.type == 'attachment' -%] + [% Param('urlbase') %]attachment.cgi?id=[% flag.target.attachment.id %]&action=edit +[%- END %] + +[%- END %] diff --git a/template/en/default/request/queue.html.tmpl b/template/en/default/request/queue.html.tmpl new file mode 100644 index 000000000..14f244ab3 --- /dev/null +++ b/template/en/default/request/queue.html.tmpl @@ -0,0 +1,193 @@ +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +[%# The javascript and header_html blocks get used in header.html.tmpl. %] +[% javascript = BLOCK %] + var usetms = 0; // do we have target milestone? + var first_load = 1; // is this the first time we load the page? + var last_sel = []; // caches last selection + var cpts = new Array(); + [% FOREACH p = products %] + cpts['[% p FILTER js %]'] = [ + [%- FOREACH item = components_by_product.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; + [% END %] +[% END %] + +[% header_html = BLOCK %] + <script language="JavaScript" type="text/javascript" src="productmenu.js"></script> +[% END %] + +[% PROCESS global/header.html.tmpl + title="Request Queue" + style = " + table.requests th { text-align: left; } + table#filter th { text-align: right; } + " +%] + +[% column_headers = { + "type" => "Flag" , + "status" => "Status" , + "bug" => "Bug" , + "attachment" => "Attachment" , + "requester" => "Requester" , + "requestee" => "Requestee" , + "created" => "Created" , + "category" => "Product/Component" } %] + +[% DEFAULT display_columns = ["requester", "requestee", "type", "bug", "attachment", "created"] + group_field = "Requestee" + group_value = "" +%] + +[% IF requests.size == 0 %] + <p> + No requests. + </p> +[% ELSE %] + [% FOREACH request = requests %] + [% PROCESS start_new_table IF request.$group_field != group_value %] + <tr> + [% FOREACH column = display_columns %] + [% NEXT IF column == group_field || excluded_columns.contains(column) %] + <td>[% PROCESS "display_$column" %]</td> + [% END %] + </tr> + [% END %] + </table> +[% END %] + +<h3>Filter the Queue</h3> + +<form action="request.cgi" method="get"> + <input type="hidden" name="action" value="queue"> + + <table id="filter"> + <tr> + <th>Requester:</th> + <td><input type="text" name="requester" value="[% form.requester FILTER html %]" size="20"></td> + <th>Product:</th> + <td> + <select name="product" onChange="selectProduct(this.form, 'product', 'component', 'Any');"> + <option value="">Any</option> + [% FOREACH item = products %] + <option value="[% item FILTER html %]" + [% "selected" IF form.product == item %]>[% item FILTER html %]</option> + [% END %] + </select> + </td> + <th>Flag:</th> + <td> + [% PROCESS "global/select-menu.html.tmpl" + name="type" + options=types + default=form.type %] + </td> + + [%# We could let people see a "queue" of non-pending requests. %] + <!-- + <th>Status:</th> + <td> + [%# PROCESS "global/select-menu.html.tmpl" + name="status" + options=["all", "?", "+-", "+", "-"] + default=form.status %] + </td> + --> + + </tr> + <tr> + <th>Requestee:</th> + <td><input type="text" name="requestee" value="[% form.requestee FILTER html %]" size="20"></td> + <th>Component:</th> + <td> + <select name="component"> + <option value="">Any</option> + [% FOREACH item = components %] + <option value="[% item FILTER html %]" [% "selected" IF form.component == item %]> + [% item FILTER html %]</option> + [% END %] + </select> + </td> + <th>Group By:</th> + <td> + [% groups = { + "Requester" => 'requester' , + "Requestee" => 'requestee', + "Flag" => 'type' , + "Product/Component" => 'category' + } %] + [% PROCESS "global/select-menu.html.tmpl" name="group" options=groups default=form.group %] + </td> + <td><input type="submit" value="Filter"></td> + </tr> + </table> + +</form> + +[% PROCESS global/footer.html.tmpl %] + +[% BLOCK start_new_table %] + [% "</table>" UNLESS group_value == "" %] + <h3>[% column_headers.$group_field %]: [% request.$group_field FILTER html %]</h3> + <table class="requests" cellspacing="0" cellpadding="4" border="1"> + <tr> + [% FOREACH column = display_columns %] + [% NEXT IF column == group_field || excluded_columns.contains(column) %] + <th>[% column_headers.$column %]</th> + [% END %] + </tr> + [% group_value = request.$group_field %] +[% END %] + +[% BLOCK display_type %] + [% request.type FILTER html %] +[% END %] + +[% BLOCK display_status %] + [% request.status %] +[% END %] + +[% BLOCK display_bug %] + <a href="show_bug.cgi?id=[% request.bug_id %]"> + [% request.bug_id %]: [%+ request.bug_summary FILTER html %]</a> +[% END %] + +[% BLOCK display_attachment %] + [% IF request.attach_id %] + <a href="attachment.cgi?id=[% request.attach_id %]&action=edit"> + [% request.attach_id %]: [%+ request.attach_summary FILTER html %]</a> + [% ELSE %] + N/A + [% END %] +[% END %] + +[% BLOCK display_requestee %] + [% request.requestee FILTER html %] +[% END %] + +[% BLOCK display_requester %] + [% request.requester FILTER html %] +[% END %] + +[% BLOCK display_created %] + [% request.created FILTER html %] +[% END %] + diff --git a/template/en/default/request/verify.html.tmpl b/template/en/default/request/verify.html.tmpl new file mode 100644 index 000000000..ad4c07d2c --- /dev/null +++ b/template/en/default/request/verify.html.tmpl @@ -0,0 +1,108 @@ +<!-- 1.0@bugzilla.org --> +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +[%# INTERFACE: + # form, mform: hashes; the form values submitted to the script, used by + # hidden-fields to generate hidden form fields replicating + # the original form + # flags: array; the flags the user made, including information about + # potential requestees for those flags (based on + # the string the user typed into the requestee fields) + # target: record; the bug/attachment for which the flags are being made + #%] + +[% UNLESS header_done %] + [% title = BLOCK %] + Verify Requests for Bug #[% target.bug.id %] + [% IF target.attachment %], Attachment #[% target.attachment.id %][% END %] + [% END %] + + [% h1 = BLOCK %] + Verify Requests for <a href="show_bug.cgi?id=[% target.bug.id %]">Bug #[% target.bug.id %]</a> + [% IF target.attachment.exists %], + <a href="attachment.cgi?id=[% target.attachment.id %]&action=edit">Attachment #[% target.attachment.id %]</a> + [% END %] + [% END %] + + [% h2 = BLOCK %] + [% target.bug.summary FILTER html %] + [% IF target.attachment.exists %] + : [% target.attachment.summary FILTER html %] + [% END %] + [% END %] + + [% PROCESS global/header.html.tmpl %] +[% END %] + +<form method="post"> + +[% PROCESS "global/hidden-fields.html.tmpl" + exclude=("^(flag_type|requestee)-") %] + +[% FOREACH flag = flags %] + [% IF flag.requestees.size == 0 %] + <p> + Sorry, I can't find a user whose name or email address contains + the string <em>[% flag.requestee_str FILTER html %]</em>. + Double-check that the user's name or email address contains that + string, or try entering a shorter string. + </p> + <p> + Ask <input type="text" size="20" maxlength="255" + name="requestee-[% flag.type.id %]" + value="[% flag.requestee_str FILTER html %]"> + for [% flag.type.name FILTER html %] + <input type="hidden" name="flag_type-[% flag.type.id %]" value="?"> + </p> + + [% ELSIF flag.requestees.size == 1 %] + <input type="hidden" + name="requestee-[% flag.type.id %]" + value="[% flag.requestee.email FILTER html %]"> + <input type="hidden" name="flag_type-[% flag.type.id %]" value="?"> + + [% ELSE %] + <p> + More than one user's name or email address contains the string + <em>[% flag.requestee_str FILTER html %]</em>. Choose the user + you meant from the following menu or click the back button and try + again with a more specific string. + </p> + <p> + Ask <select name="requestee-[% flag.type.id %]"> + [% FOREACH requestee = flag.requestees %] + <option value="[% requestee.email FILTER html %]"> + [% requestee.identity FILTER html%]</option> + [% END %] + </select> + for [% flag.type.name %] + <input type="hidden" name="flag_type-[% flag.type.id %]" value="?"> + </p> + + [% END %] +[% END %] + +<input type="submit" value="Commit"> + +</form> + +[% PROCESS global/footer.html.tmpl %] + |