summaryrefslogtreecommitdiffstats
path: root/template/en/default/request
diff options
context:
space:
mode:
authormyk%mozilla.org <>2002-09-29 03:42:23 +0200
committermyk%mozilla.org <>2002-09-29 03:42:23 +0200
commit91b171e7584920d03abb9c45e779c84f3dee975c (patch)
treefc59becfe02d1a4dc84e5f3501f0139effcf1c7a /template/en/default/request
parent90975fe914d066726d06f53abe8696399b13a61a (diff)
downloadbugzilla-91b171e7584920d03abb9c45e779c84f3dee975c.tar.gz
bugzilla-91b171e7584920d03abb9c45e779c84f3dee975c.tar.xz
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.tmpl41
-rw-r--r--template/en/default/request/fulfilled-email.txt.tmpl42
-rw-r--r--template/en/default/request/queue.html.tmpl193
-rw-r--r--template/en/default/request/verify.html.tmpl108
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 %]
+