[%# 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> #%] [% PROCESS global/variables.none.tmpl %] [% USE Bugzilla %] [% cgi = Bugzilla.cgi %] [%# 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 %] [% filter_form = BLOCK %] <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="[% cgi.param('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 cgi.param('product') == item %]>[% item FILTER html %]</option> [% END %] </select> </td> <th>Flag:</th> <td> [% PROCESS "global/select-menu.html.tmpl" name="type" options=types default=cgi.param('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=cgi.param('status') %] </td> --> </tr> <tr> <th>Requestee:</th> <td><input type="text" name="requestee" value="[% cgi.param('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 cgi.param('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=cgi.param('group') %] </td> <td><input type="submit" value="Filter"></td> </tr> </table> </form> [% END %] [% column_headers = { "type" => "Flag" , "status" => "Status" , "bug" => "$terms.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 = "" %] [% PROCESS global/header.html.tmpl title="Request Queue" h2=filter_form style = " table.requests th { text-align: left; } table#filter th { text-align: right; } " %] [% IF debug %] <p>[% query FILTER html %]</p> [% END %] [% IF requests.size == 0 %] <p> No requests. </p> [% ELSE %] [% FOREACH request = requests %] [% IF loop.first %] [% PROCESS start_new_table %] [% END %] [% IF request.$group_field != group_value %] [% group_value = request.$group_field %] [% UNLESS loop.first %] </table> [% PROCESS start_new_table %] [% END %] [% END %] <tr> [% FOREACH column = display_columns %] [% NEXT IF column == group_field || excluded_columns.contains(column) %] <td>[% PROCESS "display_$column" %]</td> [% END %] </tr> [% END %] </table> [% END %] [% PROCESS global/footer.html.tmpl %] [% BLOCK start_new_table %] <h3>[% column_headers.$group_field %]: [% (request.$group_field || "None") 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> [% 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 time %] [% END %]