Thread: [Openfirst-cvscommit] www/htdocs/bugzilla/search search-advanced.html.tmpl,NONE,1.1 search-create-se
Brought to you by:
xtimg
From: Tim G. <xt...@us...> - 2005-05-15 14:38:35
|
Update of /cvsroot/openfirst/www/htdocs/bugzilla/search In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28397/search Modified Files: boolean-charts.html.tmpl form.html.tmpl knob.html.tmpl Added Files: search-advanced.html.tmpl search-create-series.html.tmpl search-help.html.tmpl search-report-graph.html.tmpl search-report-select.html.tmpl search-report-table.html.tmpl search-specific.html.tmpl tabs.html.tmpl Log Message: Bring templates up to date for Bugzilla 2.18.1 --- NEW FILE: tabs.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> # Myk Melez <my...@mo...> #%] [%# INTERFACE: # tabs: List of hashes. May not be empty. Each hash has two members: # name: string. Name of the tab and the format it represents. # description: string. Description of the tab (used in tab title). #%] [% tabs = [ { name => 'specific', description => "Find a Specific $terms.Bug " }, { name => 'advanced', description => "Advanced Search" } ] %] [% current_tab = query_format || format || "advanced" %] <center> <table cellspacing="0" cellpadding="10" border="0" width="100%"> <tr> <td class="spacer"> </td> [% FOREACH tab = tabs %] [% IF tab.name == current_tab %] <td align="center" bgcolor="lightblue" class="selected_tab"> [% tab.description %] </td> [% ELSE %] <td align="center" bgcolor="#BBBBEE" class="unselected_tab"> <a href="query.cgi?format=[% tab.name %]" > [% tab.description %] </a> </td> [% END %] [% END %] <td class="spacer"> </td> </tr> </table> </center> --- NEW FILE: search-advanced.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [%# INTERFACE: # This template has no interface. However, to use it, you need to fulfill # the interfaces of search/form.html.tmpl, search/knob.html.tmpl and # search/boolean-charts.html.tmpl. #%] [% PROCESS global/variables.none.tmpl %] [% USE Bugzilla %] [% cgi = Bugzilla.cgi %] [% PROCESS global/header.html.tmpl title = "Search for $terms.bugs" h1 = "" onload = "selectProduct(document.forms['queryform']);initHelp();" style = "td.selected_tab { border-width: 2px 2px 0px; border-style: solid; } td.unselected_tab, td.spacer { border-width: 0px 0px 2px 0px; border-style: solid; } dl.bug_changes dt { margin-top: 15px; }" %] [% PROCESS search/tabs.html.tmpl %] [% button_name = "Search" %] [%# The decent help requires Javascript %] [% IF NOT help %] [% IF cgi.user_agent("Mozilla/5") %] <script type="text/javascript"> <!-- document.write("<p><a href='query.cgi?help=1&format=advanced'>Give me some help</a> (reloads page.)</p>"); // --> </script> [% END %] [% ELSE %] <p> For help, mouse over the page elements. <font color="red"> [% IF cgi.user_agent("Mozilla/5") %] Note that if the help popups are hidden by form element scroll bars, this is a b<!-- word broken up to pass test 009 -->ug in your browser, not in [% terms.Bugzilla %]. [% END %] </font> </p> [% END %] <form method="get" action="buglist.cgi" name="queryform"> [% PROCESS search/form.html.tmpl %] [% PROCESS search/knob.html.tmpl %] <hr> [% PROCESS "search/boolean-charts.html.tmpl" %] </form> [% PROCESS "search/search-help.html.tmpl" IF help %] [% PROCESS global/footer.html.tmpl %] --- NEW FILE: search-help.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [% help_html = [ { id => "short_desc_type", html => "The type of summary search you would like" }, { id => "short_desc", html => "The $terms.bug summary is a short sentence which succinctly describes <br> what the $terms.bug is about." }, { id => "product", html => "$terms.Bugs are categorised into Products and Components. Product is the<br>top-level categorisation." }, { id => "component", html => "Components are second-level categories; each belongs to a<br> particular Product. Select a Product to narrow down this list." }, { id => "version", html => "The version field defines the version of the software the $terms.bug<br>was found in." }, { id => "target_milestone", html => "The target_milestone field is used to define when the engineer<br> the $terms.bug is assigned to expects to fix it." }, { id => "long_desc", html => "$terms.Bugs have comments added to them by $terms.Bugzilla users. You can<br>search for some text in those comments." }, { id => "long_desc_type", html => "The type of comment search you would like" }, { id => "bug_file_loc", html => "$terms.Bugs can have a URL associated with them - for example, a pointer<br>to a web site where the problem is seen." }, { id => "bug_file_loc_type", html => "The type of URL search you would like" }, { id => "status_whiteboard", html => "Each $terms.bug has a free-form single line text entry box for adding<br>tags and status information." }, { id => "status_whiteboard_type", html => "The type of whiteboard search you would like" }, { id => "keywords", html => "You can add keywords from a defined list to $terms.bugs, in order to<br>tag and group them." }, { id => "keywords_type", html => "The type of keyword search you would like" }, { id => "bug_status", html => "A $terms.bug may be in any of a number of states." }, { id => "resolution", html => "If a $terms.bug is in a resolved state, then one of these reasons will<br>be given for its resolution." }, { id => "bug_severity", html => "How severe the $terms.bug is, or whether it's an enhancement." }, { id => "priority", html => "Engineers prioritise their $terms.bugs using this field." }, { id => "rep_platform", html => "The hardware platform the $terms.bug was observed on." }, { id => "op_sys", html => "The operating system the $terms.bug was observed on." }, { id => "email1", html => "Every $terms.bug has people associated with it in different roles.<br>Here, you can search on what people are in what role." }, { id => "email2", html => "Every $terms.bug has people associated with it in different roles.<br>Here, you can search on what people are in what role." }, { id => "bug_id", html => "You can limit your search to a specific set of $terms.bugs ." }, { id => "votes", html => "Some $terms.bugs can be voted for, and you can limit your search to $terms.bugs<br>with more than a certain number of votes." }, { id => "chfield", html => "You can search for specific types of change - this field define <br> which field you are interested in changes for." }, { id => "chfieldfrom", html => "Specify the start and end dates either in YYYY-MM-DD format<br> (optionally followed by HH:mm, in 24 hour clock), or in relative<br> dates such as 1d, 2w, 3m, 4y, which respectively mean one day,<br> two weeks, three months, or four years ago. 0d is last midnight,<br> and 0w, 0m, 0y is the beginning of this week, month, or year." }, { id => "chfieldto", html => "Specify the start and end dates either in YYYY-MM-DD format<br> (optionally followed by HH:mm, in 24 hour clock), or in relative<br> dates such as 1d, 2w, 3m, 4y, which respectively mean one day,<br> two weeks, three months, or four years ago. 0d is last midnight,<br> and 0w, 0m, 0y is the beginning of this week, month, or year." }, { id => "chfieldvalue", html => "The value the field defined above changed to during that time." }, ] %] Index: boolean-charts.html.tmpl =================================================================== RCS file: /cvsroot/openfirst/www/htdocs/bugzilla/search/boolean-charts.html.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** boolean-charts.html.tmpl 28 Jun 2004 00:43:09 -0000 1.1 --- boolean-charts.html.tmpl 15 May 2005 14:38:19 -0000 1.2 *************** *** 1,3 **** ! <!-- 1....@bu... --> [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file --- 1,3 ---- ! [%# 1....@bu... %] [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file *************** *** 24,27 **** --- 24,28 ---- { name => "equals", description => "is equal to" }, { name => "notequals", description => "is not equal to" }, + { name => "anyexact", description => "is equal to any of the strings" }, { name => "substring", description => "contains the string" }, { name => "casesubstring", description => "contains the string (exact case)" }, *************** *** 40,49 **** { name => "changedfrom", description => "changed from" }, { name => "changedto", description => "changed to" }, ! { name => "changedby", description => "changed by" } ] %] <p> <strong> ! <a name="chart" href="queryhelp.cgi#advancedquerying"> ! Advanced Querying Using Boolean Charts</a>: </strong> </p> --- 41,50 ---- { name => "changedfrom", description => "changed from" }, { name => "changedto", description => "changed to" }, ! { name => "changedby", description => "changed by" }, ! { name => "matches", description => "matches" } ] %] <p> <strong> ! Advanced Searching Using Boolean Charts: </strong> </p> *************** *** 80,92 **** </td> ! [% IF NOT col == row.last %] <td align="center"> Or </td> [% ELSE %] <td> [% newor = colnum + 1 %] <input type="submit" value="Or" ! name="cmd-add[% "${chartnum}-${rownum}-${newor}" %]" [% $jsmagic %]> </td> [% END %] --- 81,95 ---- </td> ! [% UNLESS loop.last %] <td align="center"> Or </td> + </tr> + <tr> [% ELSE %] <td> [% newor = colnum + 1 %] <input type="submit" value="Or" ! name="cmd-add[% "${chartnum}-${rownum}-${newor}" %]" [% jsmagic %]> </td> [% END %] *************** *** 95,99 **** </tr> ! [% IF NOT row == chart.last %] <tr> <td>And</td> --- 98,102 ---- </tr> ! [% UNLESS loop.last %] <tr> <td>And</td> *************** *** 104,111 **** [% newand = rownum + 1; newchart = chartnum + 1 %] <input type="submit" value="And" ! name="cmd-add[% "${chartnum}-${newand}-0" %]"[% $jsmagic %]> <input type="submit" value="Add another boolean chart" ! name="cmd-add[% newchart %]-0-0" [% $jsmagic %]> </td> --- 107,114 ---- [% newand = rownum + 1; newchart = chartnum + 1 %] <input type="submit" value="And" ! name="cmd-add[% "${chartnum}-${newand}-0" %]" [% jsmagic %]> <input type="submit" value="Add another boolean chart" ! name="cmd-add[% newchart %]-0-0" [% jsmagic %]> </td> --- NEW FILE: search-create-series.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [%# INTERFACE: # This template has no interface. However, to use it, you need to fulfill # the interfaces of search/form.html.tmpl, reports/series.html.tmpl and # search/boolean-charts.html.tmpl. #%] [% PROCESS global/variables.none.tmpl %] [% PROCESS global/header.html.tmpl title = "Create New Data Set" onload = "selectProduct(document.forms['chartform']);" %] <form method="get" action="chart.cgi" name="chartform"> [% PROCESS search/form.html.tmpl %] <p> <input type="submit" name="action-search" value="Run Search"> to see which [% terms.bugs %] would be included in this data set. </p> <h3>Data Set Parameters</h3> [% PROCESS reports/series.html.tmpl button_name = "Create Data Set" %] <input type="hidden" name="action" value="create"> <script language="JavaScript" type="text/javascript"> document.chartform.category[0].selected = true; catSelected(); checkNewState(); </script> <hr> [% PROCESS "search/boolean-charts.html.tmpl" %] </form> [% PROCESS global/footer.html.tmpl %] --- NEW FILE: search-specific.html.tmpl --- [%# 1....@bu... %] [%# 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 <my...@mo...> #%] [% PROCESS global/variables.none.tmpl %] [% PROCESS global/header.html.tmpl title = "Find a Specific " _ terms.Bug h1 = "" style = "td.selected_tab { border-width: 2px 2px 0px; border-style: solid; } td.unselected_tab, td.spacer { border-width: 0px 0px 2px 0px; border-style: solid; }" %] [% PROCESS search/tabs.html.tmpl %] <p> Find a specific [% terms.bug %] by entering words that describe it. [% terms.Bugzilla %] will search [% terms.bug %] descriptions and comments for those words and return a list of matching [% terms.bugs %] sorted by relevance. </p> <p> For example, if the [% terms.bug %] you are looking for is a browser crash when you go to a secure web site with an embedded Flash animation, you might search for "crash secure SSL flash". </p> <form name="queryform" method="get" action="buglist.cgi"> <input type="hidden" name="query_format" value="specific"> <input type="hidden" name="order" value="relevance desc"> <table> <tr> <td align="right" valign="baseline"> <b><label for="bug_status">Status:</label></b> </td> <td> <select name="bug_status" id="bug_status"> [% FOREACH s = ['open', 'closed', 'all'] %] <option value="__[% s %]__" [% " selected" IF default.bug_status.0 == "__${s}__" %]> [% s %] </option> [% END %] </select> </td> </tr> <tr> <td align="right" valign="baseline"> <b><label for="product">Product:</label></b> </td> <td> <select name="product" id="product"> <option value="">All</option> [% FOREACH p = product %] <option value="[% p.name FILTER html %]" [% " selected" IF lsearch(default.product, p.name) != -1 %]> [% p.name FILTER html %]</option> [% END %] </select> </td> </tr> <tr> <td align="right" valign="baseline"> <b><label for="content">Words:</label></b> </td> <td> <input name="content" size="40" id="content" value="[% default.content.0 FILTER html %]"> <script language="JavaScript" type="text/javascript"> <!-- document.forms['queryform'].content.focus(); // --> </script> </td> </tr> <tr> <td></td> <td> <input type="submit" value="Search"> [% IF known_name %] <input type="hidden" name="query_based_on" value="[% known_name FILTER html %]"> [% END %] </td> </tr> </table> </form> [% PROCESS global/footer.html.tmpl %] --- NEW FILE: search-report-table.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [%# INTERFACE: # This template has no interface. However, to use it, you need to fulfill # the interfaces of the templates it contains. #%] [% PROCESS global/variables.none.tmpl %] [% PROCESS global/header.html.tmpl title = "Generate Tabular Report" onload = "selectProduct(document.forms['reportform']);" %] [% PROCESS "search/search-report-select.html.tmpl" %] <p> Choose one or more fields as your axes, and then refine your set of [% terms.bugs %] using the rest of the form. </p> [% button_name = "Generate Report" %] <form method="get" action="report.cgi" name="reportform"> <table align="center"> <tr> <td> </td> <td align="center"> <b>Horizontal Axis:</b> [% PROCESS select name = 'x_axis_field' %] </td> </tr> <tr> <td valign="middle" align="center"> <b>Vertical Axis:</b><br> [% PROCESS select name = 'y_axis_field' %] </td> <td width="150" height="150"> <table border="1" width="100%" height="100%"> <tr> <td align="center" valign="middle"> <b>Multiple Tables:</b><br> [% PROCESS select name = 'z_axis_field' %] </td> </tr> </table> </td> </tr> </table> <hr> [% PROCESS search/form.html.tmpl %] <br> <input type="submit" value="[% button_name FILTER html %]"> <input type="hidden" name="format" value="table"> <input type="hidden" name="action" value="wrap"> <hr> [% PROCESS "search/boolean-charts.html.tmpl" %] </form> [% PROCESS global/footer.html.tmpl %] Index: form.html.tmpl =================================================================== RCS file: /cvsroot/openfirst/www/htdocs/bugzilla/search/form.html.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** form.html.tmpl 28 Jun 2004 00:43:09 -0000 1.1 --- form.html.tmpl 15 May 2005 14:38:19 -0000 1.2 *************** *** 1,3 **** ! <!-- 1....@bu... --> [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file --- 1,3 ---- ! [%# 1....@bu... %] [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file *************** *** 21,25 **** # Gervase Markham <ge...@ge...> #%] ! [%# Note: use Template comments and not JS ones here, to avoid bloating what we actually send to the browser %] --- 21,27 ---- # Gervase Markham <ge...@ge...> #%] ! ! [% PROCESS global/variables.none.tmpl %] ! [%# Note: use Template comments and not JS ones here, to avoid bloating what we actually send to the browser %] *************** *** 36,51 **** [% END %] ! [%# Create three arrays of components, versions and target milestones, indexed # numerically according to the product they refer to. #%] [% n = 0 %] [% FOREACH p = product %] ! cpts[[% n %]] = [ ! [%- FOREACH item = componentsbyproduct.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; ! vers[[% n %]] = [ ! [%- FOREACH item = versionsbyproduct.$p -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% IF Param('usetargetmilestone') %] ! tms[[% n %]] = [ ! [%- FOREACH item = milestonesbyproduct.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% END %] [% n = n+1 %] --- 38,53 ---- [% END %] ! [%# Create three arrays of components, versions and target milestones, indexed # numerically according to the product they refer to. #%] [% n = 0 %] [% FOREACH p = product %] ! cpts[[% n %]] = [ ! [%- FOREACH item = p.components %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; ! vers[[% n %]] = [ ! [%- FOREACH item = p.versions -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% IF Param('usetargetmilestone') %] ! tms[[% n %]] = [ ! [%- FOREACH item = p.milestones %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% END %] [% n = n+1 %] *************** *** 58,62 **** # - array should be a array of arrays, indexed by number. the # array should contain the elements that correspond to that ! # product. # - sel is a list of selected items, either whole or a diff # depending on merging. --- 60,64 ---- # - array should be a array of arrays, indexed by number. the # array should contain the elements that correspond to that ! # product. # - sel is a list of selected items, either whole or a diff # depending on merging. *************** *** 79,83 **** function updateSelect(array, sel, target, merging) { ! var i, item; --- 81,85 ---- function updateSelect(array, sel, target, merging) { ! var i, item; *************** *** 120,124 **** } ! [%# Returns elements in a that are not in b. # NOT A REAL DIFF: does not check the reverse. # - a,b: arrays of values to be compare. %] --- 122,126 ---- } ! [%# Returns elements in a that are not in b. # NOT A REAL DIFF: does not check the reverse. # - a,b: arrays of values to be compare. %] *************** *** 204,208 **** [%# Returns an array of indexes or values from a select form control. # - control: select control from which to find selections ! # - findall: boolean, store all options when true or just the selected # indexes # - want_values: boolean; we store values when true and indexes when --- 206,210 ---- [%# Returns an array of indexes or values from a select form control. # - control: select control from which to find selections ! # - findall: boolean, store all options when true or just the selected # indexes # - want_values: boolean; we store values when true and indexes when *************** *** 264,268 **** return; } ! [%# turn first_load off. this is tricky, since it seems to be redundant with the above clause. It's not: if when we first load --- 266,270 ---- return; } ! [%# turn first_load off. this is tricky, since it seems to be redundant with the above clause. It's not: if when we first load *************** *** 274,278 **** first_load = false; ! [%# - sel keeps the array of products we are selected. - merging says if it is a full list or just a list of products that were added to the current selection. %] --- 276,280 ---- first_load = false; ! [%# - sel keeps the array of products we are selected. - merging says if it is a full list or just a list of products that were added to the current selection. %] *************** *** 286,293 **** [%# save sel for the next invocation of selectProduct() %] var tmp = sel; ! [%# this is an optimization: if we have just added products to an ! existing selection, no need to clear the form controls and add ! everybody again; just merge the new ones with the existing options. %] if ((last_sel.length > 0) && (last_sel.length < sel.length)) { --- 288,295 ---- [%# save sel for the next invocation of selectProduct() %] var tmp = sel; ! [%# this is an optimization: if we have just added products to an ! existing selection, no need to clear the form controls and add ! everybody again; just merge the new ones with the existing options. %] if ((last_sel.length > 0) && (last_sel.length < sel.length)) { *************** *** 318,322 **** </script> ! [% query_variants = [ { value => "allwordssubstr", description => "contains all of the words/strings" }, { value => "anywordssubstr", description => "contains any of the words/strings" }, --- 320,324 ---- </script> ! [% query_variants = [ { value => "allwordssubstr", description => "contains all of the words/strings" }, { value => "anywordssubstr", description => "contains any of the words/strings" }, *************** *** 327,336 **** { value => "regexp", description => "matches the regexp" }, { value => "notregexp", description => "doesn't match the regexp" } ] %] ! [%# *** Summary *** %] <table> <tr> ! <th align="right">Summary:</th> <td> <select name="short_desc_type"> --- 329,344 ---- { value => "regexp", description => "matches the regexp" }, { value => "notregexp", description => "doesn't match the regexp" } ] %] ! ! [% PROCESS "global/field-descs.none.tmpl" %] ! ! [%# If we resubmit to ourselves, we need to know if we are using a format. %] ! [% thisformat = query_format != '' ? query_format : format %] ! <input type="hidden" name="query_format" value="[% thisformat FILTER html %]"> ! [%# *** Summary *** %] <table> <tr> ! <th align="right"><u>S</u>ummary:</th> <td> <select name="short_desc_type"> *************** *** 338,351 **** <option value="[% qv.value %]" [% " selected" IF default.short_desc_type.0 == qv.value %]>[% qv.description %]</option> ! [% END %] </select> </td> <td> ! <input name="short_desc" size="40" value="[% default.short_desc.0 FILTER html %]"> </td> <td> ! <input type="submit" value="[% button_name %]"> </td> ! </tr> [%# *** Product Component Version Target *** %] --- 346,366 ---- <option value="[% qv.value %]" [% " selected" IF default.short_desc_type.0 == qv.value %]>[% qv.description %]</option> ! [% END %] </select> </td> <td> ! <input name="short_desc" size="40" accesskey="s" ! value="[% default.short_desc.0 FILTER html %]"> ! <script language="JavaScript" type="text/javascript"> <!-- ! document.forms['queryform'].short_desc.focus(); ! // --> ! </script> </td> <td> ! [% IF button_name %] ! <input type="submit" value="[% button_name FILTER html %]"> ! [% END %] </td> ! </tr> [%# *** Product Component Version Target *** %] *************** *** 354,395 **** <td colspan="4"> <table> ! <tr valign="bottom"> ! <th align="left">Product:</th> ! <th align="left"><a href="describecomponents.cgi">Component</a>:</th> ! <th align="left">Version:</th> ! ! [% IF (Param("usetargetmilestone")) %] ! <th align="left">Target:</th> ! [% END %] ! </tr> ! ! <tr valign="top"> ! ! [%# Can't use the select block here because of onChange and the fact that ! 'component' is a toolkit reserved word - we use 'component_' instead. %] ! <td align="left"> ! <select name="product" multiple="multiple" size="5" onchange="selectProduct(this.form);"> ! [% FOREACH p = product %] ! <option value="[% p FILTER html %]" ! [% " selected" IF lsearch(default.product, p) != -1 %]> ! [% p FILTER html %]</option> ! [% END %] ! </select> </td> ! ! <td align="left"> ! <select name="component" multiple="multiple" size="5"> ! [% FOREACH c = component_ %] ! <option value="[% c FILTER html %]" ! [% " selected" IF lsearch(default.component, c) != -1 %]> ! [% c FILTER html %]</option> ! [% END %] ! </select> </td> - - [% PROCESS select sel = { name => 'version', size => 5 } %] - - [% IF Param('usetargetmilestone') && target_milestone.size > 0 %] - [% PROCESS select sel = { name => 'target_milestone', size => 5 } %] [% END %] </tr> --- 369,445 ---- <td colspan="4"> <table> ! <tr> ! <td valign="top"> ! <table> ! <tr valign="bottom"> ! <th align="left"><u>P</u>roduct:</th> ! </tr> ! <tr valign="top"> ! [%# Can't use the select block here because of the onChange %] ! <td align="left"> ! <label for="product" accesskey="p"> ! <select name="product" multiple="multiple" size="5" id="product" ! onchange="selectProduct(this.form);"> ! [% FOREACH p = product %] ! <option value="[% p.name FILTER html %]" ! [% " selected" IF lsearch(default.product, p.name) != -1 %]> ! [% p.name FILTER html %]</option> ! [% END %] ! </select> ! </label> ! </td> ! </tr> ! </table> </td> ! <td valign="top"> ! <table> ! <tr valign="bottom"> ! <th align="left"> ! <a href="describecomponents.cgi">Co<u>m</u>ponent</a>: ! </th> ! </tr> ! <tr valign="top"> ! [%# Can't use the select block here because 'component' is a toolkit ! reserved word - we use 'component_' instead. %] ! <td align="left"> ! <label for="component" accesskey="m"> ! <select name="component" id="component" ! multiple="multiple" size="5"> ! [% FOREACH c = component_ %] ! <option value="[% c FILTER html %]" ! [% " selected" IF lsearch(default.component, c) != -1 %]> ! [% c FILTER html %]</option> ! [% END %] ! </select> ! </label> ! </td> ! </tr> ! </table> ! </td> ! <td valign="top"> ! <table> ! <tr valign="bottom"> ! <th align="left"><u>V</u>ersion:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'version', ! size => 5, ! accesskey => 'v' } %] ! </tr> ! </table> ! </td> ! [% IF Param('usetargetmilestone') %] ! <td valign="top"> ! <table> ! <tr valign="bottom"> ! <th align="left"><u>T</u>arget:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'target_milestone', ! size => 5, ! accesskey => 't' } %] ! </tr> ! </table> </td> [% END %] </tr> *************** *** 397,407 **** </td> </tr> ! [%# *** Comment URL Whiteboard Keywords *** %] ! [% FOREACH field = [ ! { name => "long_desc", description => "A comment" }, ! { name => "bug_file_loc", description => "The URL" }, ! { name => "status_whiteboard", description => "Whiteboard" } ] %] [% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %] --- 447,460 ---- </td> </tr> ! [%# *** Comment URL Whiteboard Keywords *** %] ! [% FOREACH field = [ ! { name => "long_desc", description => "A <u>C</u>omment", ! accesskey => 'c' }, ! { name => "bug_file_loc", description => "The <u>U</u>RL", ! accesskey => 'u' }, ! { name => "status_whiteboard", description => "<u>W</u>hiteboard", ! accesskey => 'w' } ] %] [% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %] *************** *** 411,425 **** <select name="[% field.name %]_type"> [% FOREACH qv = query_variants %] ! [% type = "${field.name}_type" %] <option value="[% qv.value %]" [% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option> ! [% END %] </select> </td> ! <td><input name="[% field.name %]" size="40" value=" ! [% default.${field.name}.0 FILTER html %]"> </td> <td></td> ! </tr> [% END %] [% END %] --- 464,479 ---- <select name="[% field.name %]_type"> [% FOREACH qv = query_variants %] ! [% type = "${field.name}_type" %] <option value="[% qv.value %]" [% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option> ! [% END %] </select> </td> ! <td><input name="[% field.name %]" size="40" ! accesskey="[% field.accesskey %]" ! value="[% default.${field.name}.0 FILTER html %]"> </td> <td></td> ! </tr> [% END %] [% END %] *************** *** 427,434 **** [% IF have_keywords %] <tr> ! <th align="right"><a href="describekeywords.cgi">Keywords</a>:</th> <td> <select name="keywords_type"> ! [% FOREACH qv = [ { name => "allwords", description => "contains all of the keywords" }, { name => "anywords", description => "contains any of the keywords" }, --- 481,490 ---- [% IF have_keywords %] <tr> ! <th align="right"> ! <a href="describekeywords.cgi"><u>K</u>eywords</a>: ! </th> <td> <select name="keywords_type"> ! [% FOREACH qv = [ { name => "allwords", description => "contains all of the keywords" }, { name => "anywords", description => "contains any of the keywords" }, *************** *** 442,450 **** </td> <td> ! <input name="keywords" size="40" value="[% default.keywords.0 FILTER html %]"> </td> </tr> [% END %] ! </table> <hr> --- 498,507 ---- </td> <td> ! <input name="keywords" size="40" accesskey="k" ! value="[% default.keywords.0 FILTER html %]"> </td> </tr> [% END %] ! </table> <hr> *************** *** 454,472 **** <table> <tr> ! <th align="left"><a href="queryhelp.cgi#status">Status</a>:</th> ! <th align="left"><a href="queryhelp.cgi#resolution">Resolution</a>:</th> ! <th align="left"><a href="queryhelp.cgi#severity">Severity</a>:</th> ! <th align="left"><a href="queryhelp.cgi#priority">Priority</a>:</th> ! <th align="left"><a href="queryhelp.cgi#platform">Hardware</a>:</th> ! <th align="left"><a href="queryhelp.cgi#opsys">OS</a>:</th> ! </tr> ! ! <tr valign="top"> ! [% PROCESS select sel = { name => 'bug_status', size => 7 } %] ! [% PROCESS select sel = { name => 'resolution', size => 7 } %] ! [% PROCESS select sel = { name => 'bug_severity', size => 7 } %] ! [% PROCESS select sel = { name => 'priority', size => 7 } %] ! [% PROCESS select sel = { name => 'rep_platform', size => 7 } %] ! [% PROCESS select sel = { name => 'op_sys', size => 7 } %] </tr> </table> --- 511,588 ---- <table> <tr> ! <td> ! <table> ! <tr> ! <th align="left">St<u>a</u>tus:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'bug_status', ! size => 7, ! accesskey => 'a' } %] ! </tr> ! </table> ! </td> ! <td> ! <table> ! <tr> ! <th align="left"> ! <u>R</u>esolution: ! </th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'resolution', ! size => 7, ! accesskey => 'r' } %] ! </tr> ! </table> ! </td> ! <td> ! <table> ! <tr> ! <th align="left">S<u>e</u>verity:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'bug_severity', ! size => 7, ! accesskey => 'e' } %] ! </tr> ! </table> ! </td> ! <td> ! <table> ! <tr> ! <th align="left">Pr<u>i</u>ority:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'priority', ! size => 7, ! accesskey => 'i' } %] ! </tr> ! </table> ! </td> ! <td> ! <table> ! <tr> ! <th align="left"><u>H</u>ardware:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'rep_platform', ! size => 7, ! accesskey => 'h' } %] ! </tr> ! </table> ! </td> ! <td> ! <table> ! <tr> ! <th align="left"><u>O</u>S:</th> ! </tr> ! <tr valign="top"> ! [% PROCESS select sel = { name => 'op_sys', ! size => 7, ! accesskey => 'o' } %] ! </tr> ! </table> ! </td> </tr> </table> *************** *** 482,487 **** <legend> <strong> ! <a href="queryhelp.cgi#peopleinvolved">Email</a> and Numbering ! </strong> </legend> --- 598,603 ---- <legend> <strong> ! Email and Numbering ! </strong> </legend> *************** *** 501,509 **** <tr> <td> ! <input type="checkbox" name="emailassigned_to[% n %]" id="emailassigned_to[% n %]" value="1" [% " checked" IF default.emailassigned_to.$n %]> <label for="emailassigned_to[% n %]"> ! bug owner </label> </td> --- 617,625 ---- <tr> <td> ! <input type="checkbox" name="emailassigned_to[% n %]" id="emailassigned_to[% n %]" value="1" [% " checked" IF default.emailassigned_to.$n %]> <label for="emailassigned_to[% n %]"> ! [% terms.bug %] owner </label> </td> *************** *** 511,515 **** <tr> <td> ! <input type="checkbox" name="emailreporter[% n %]" id="emailreporter[% n %]" value="1" [% " checked" IF default.emailreporter.$n %]> --- 627,631 ---- <tr> <td> ! <input type="checkbox" name="emailreporter[% n %]" id="emailreporter[% n %]" value="1" [% " checked" IF default.emailreporter.$n %]> *************** *** 522,526 **** <tr> <td> ! <input type="checkbox" name="emailqa_contact[% n %]" id="emailqa_contact[% n %]" value="1" [% " checked" IF default.emailqa_contact.$n %]> --- 638,642 ---- <tr> <td> ! <input type="checkbox" name="emailqa_contact[% n %]" id="emailqa_contact[% n %]" value="1" [% " checked" IF default.emailqa_contact.$n %]> *************** *** 533,537 **** <tr> <td> ! <input type="checkbox" name="emailcc[% n %]" id="emailcc[% n %]" value="1" [% " checked" IF default.emailcc.$n %]> --- 649,653 ---- <tr> <td> ! <input type="checkbox" name="emailcc[% n %]" id="emailcc[% n %]" value="1" [% " checked" IF default.emailcc.$n %]> *************** *** 543,547 **** <tr> <td> ! <input type="checkbox" name="emaillongdesc[% n %]" id="emaillongdesc[% n %]" value="1" [% " checked" IF default.emaillongdesc.$n %]> --- 659,663 ---- <tr> <td> ! <input type="checkbox" name="emaillongdesc[% n %]" id="emaillongdesc[% n %]" value="1" [% " checked" IF default.emaillongdesc.$n %]> *************** *** 554,563 **** <td> <select name="emailtype[% n %]"> ! [% FOREACH qv = [ { name => "substring", description => "contains" }, { name => "exact", description => "is" }, { name => "regexp", description => "matches regexp" }, { name => "notregexp", description => "doesn't match regexp" } ] %] ! <option value="[% qv.name %]" [% " selected" IF default.emailtype.$n == qv.name %]>[% qv.description %]</option> --- 670,679 ---- <td> <select name="emailtype[% n %]"> ! [% FOREACH qv = [ { name => "substring", description => "contains" }, { name => "exact", description => "is" }, { name => "regexp", description => "matches regexp" }, { name => "notregexp", description => "doesn't match regexp" } ] %] ! <option value="[% qv.name %]" [% " selected" IF default.emailtype.$n == qv.name %]>[% qv.description %]</option> *************** *** 573,577 **** </table> ! </td> [% END %] --- 689,693 ---- </table> ! </td> [% END %] *************** *** 579,583 **** </table> <hr> ! <table> <tr> <td> --- 695,699 ---- </table> <hr> ! <table> <tr> <td> *************** *** 586,590 **** <option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Exclude</option> </select> ! bugs numbered: </td> <td> --- 702,706 ---- <option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Exclude</option> </select> ! [% terms.bugs %] numbered: </td> <td> *************** *** 599,603 **** <tr> <td align="right"> ! Only bugs with at least: </td> <td> --- 715,719 ---- <tr> <td align="right"> ! Only [% terms.bugs %] with at least: </td> <td> *************** *** 616,629 **** <td valign="top"> <fieldset> ! <legend><strong>Bug Changes</strong></legend> ! - <dl> - <dt>Only bugs changed in the last </dt> - <dd><input name="changedin" size="3" value="[% default.changedin.0 FILTER html %]"> days</dd> - </dl> ! <dl> ! <dt>Only bugs where any of the fields</dt> <dd> <select name="chfield" multiple="multiple" size="4"> --- 732,746 ---- <td valign="top"> <fieldset> ! <legend><strong>[% terms.Bug %] Changes</strong></legend> ! <dl class="bug_changes"> ! <dt>Only [% terms.bugs %] changed between:</dt> ! <dd> ! <input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]"> ! and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]"> ! <br>(YYYY-MM-DD or relative dates) ! </dd> ! <dt>where one or more of the following changed:</dt> <dd> <select name="chfield" multiple="multiple" size="4"> *************** *** 631,646 **** <option value="[% field FILTER html %]" [% " selected" IF lsearch(default.chfield, field) != -1 %]> ! [% field FILTER html %]</option> [% END %] </select> </dd> ! ! <dt>were changed between</dt> ! <dd> ! <input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]"> ! and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]"> ! <br>(YYYY-MM-DD) ! </dd> ! <dt>to this value: (optional)</dt> <dd> <input name="chfieldvalue" size="20" value="[% default.chfieldvalue.0 FILTER html %]"> --- 748,756 ---- <option value="[% field FILTER html %]" [% " selected" IF lsearch(default.chfield, field) != -1 %]> ! [% (field_descs.$field || field) FILTER html %]</option> [% END %] </select> </dd> ! <dt>and the new value was:</dt> <dd> <input name="chfieldvalue" size="20" value="[% default.chfieldvalue.0 FILTER html %]"> *************** *** 648,652 **** </dl> - </fieldset> </td> --- 758,761 ---- *************** *** 654,659 **** </table> - [%# Note: the <form> tag is unclosed at the end of this template %] - [%############################################################################%] [%# Block for SELECT fields #%] --- 763,766 ---- *************** *** 662,672 **** [% BLOCK select %] <td align="left"> ! <select name="[% sel.name %]" multiple="multiple" size="[% sel.size %]"> ! [% FOREACH name = ${sel.name} %] ! <option value="[% name FILTER html %]" ! [% " selected" IF lsearch(default.${sel.name}, name) != -1 %]> ! [% name FILTER html %]</option> ! [% END %] ! </select> </td> [% END %] --- 769,782 ---- [% BLOCK select %] <td align="left"> ! <label for="[% sel.name %]" accesskey="[% sel.accesskey %]"> ! <select name="[% sel.name %]" id="[% sel.name %]" ! multiple="multiple" size="[% sel.size %]"> ! [% FOREACH name = ${sel.name} %] ! <option value="[% name FILTER html %]" ! [% " selected" IF lsearch(default.${sel.name}, name) != -1 %]> ! [% name FILTER html %]</option> ! [% END %] ! </select> ! </label> </td> [% END %] --- NEW FILE: search-report-select.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [%# INTERFACE: # name: string. The name of the select block to output. # default.$name.0: string. The default value for the block, if any. #%] [% PROCESS "global/field-descs.none.tmpl" %] [% BLOCK select %] [% rep_fields = ["product", "component", "version", "rep_platform", "op_sys", "bug_status", "resolution", "bug_severity", "priority", "target_milestone", "assigned_to", "reporter", "qa_contact", "votes" ] %] <select name="[% name FILTER html %]"> <option value=""><none></option> [% FOREACH field = rep_fields %] [% NEXT IF field == "target_milestone" AND !Param('usetargetmilestone') %] [% NEXT IF field == "qa_contact" AND !Param('useqacontact') %] [% NEXT IF field == "votes" AND !Param('usevotes') %] <option value="[% field FILTER html %]" [% " selected" IF default.$name.0 == field %]> [% field_descs.$field || field FILTER html %]</option> [% END %] </select> [% END %] Index: knob.html.tmpl =================================================================== RCS file: /cvsroot/openfirst/www/htdocs/bugzilla/search/knob.html.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** knob.html.tmpl 28 Jun 2004 00:43:09 -0000 1.1 --- knob.html.tmpl 15 May 2005 14:38:19 -0000 1.2 *************** *** 1,3 **** ! <!-- 1....@bu... --> [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file --- 1,3 ---- ! [%# 1....@bu... %] [%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file *************** *** 22,99 **** #%] [%# This is not necessary for English templates, but useful for localisers. %] [% ordersdesc = { "Reuse same sort as last time" => "Reuse same sort as last time", ! "Bug Number" => "Bug Number", "Importance" => "Importance", "Assignee" => "Assignee", "Last Changed" => "Last Changed" } %] ! <br> ! [% IF NOT userid %] ! <input type="hidden" name="cmdtype" value="doit"> ! [% ELSE %] ! <input type="radio" name="cmdtype" value="doit" checked="checked"> ! Run this query ! <br> ! [% IF namedqueries.size > 0 %] ! <br> ! <table cellspacing="0" cellpadding="0"> ! <tr> ! <td> ! <input type="radio" name="cmdtype" value="editnamed"> ! Load my remembered query: ! </td> ! <td rowspan="3"> ! <select name="namedcmd"> ! [% FOREACH query = namedqueries %] ! <option value="[% query FILTER html %]"> ! [% query FILTER html %]</option> ! [% END %] ! </select> ! </td> ! </tr> ! <tr> ! <td> ! <input type="radio" name="cmdtype" value="runnamed"> ! Run my remembered query: ! </td> ! </tr> ! <tr> ! <td> ! <input type="radio" name="cmdtype" value="forgetnamed"> ! Forget my remembered query: ! </td> ! </tr> ! </table> ! <br> ! [% END %] ! <input type="radio" name="cmdtype" value="asdefault"> ! Remember this as my default query ! <br> ! <input type="radio" name="cmdtype" value="asnamed"> ! Remember this query, and name it: ! <input type="text" name="newqueryname"> ! <br> ! <input type="checkbox" name="tofooter" value="1"> ! and put it in my page footer ! [% END %] ! <p> ! Sort results by: ! <select name="order"> ! [% FOREACH order = orders %] ! <option value="[% order FILTER html %]" ! [% " selected" IF default.order.0 == order %]> ! [% ordersdesc.$order FILTER html %]</option> ! [% END %] ! </select> ! <input type="submit" value="[% button_name %]"> ! [% IF userdefaultquery %] ! <p> ! <a href="query.cgi?nukedefaultquery=1"> ! Set my default query back to the system default</a> ! </p> ! [% END %] </p> --- 22,78 ---- #%] + [%# INTERFACE: + # (incomplete!) + # ... + # known_name: string. Possibly known stored name for the query being + # edited. This value is just passed through in a + # hidden field. + #%] + + + [% PROCESS global/variables.none.tmpl %] + [%# This is not necessary for English templates, but useful for localisers. %] [% ordersdesc = { "Reuse same sort as last time" => "Reuse same sort as last time", ! "Bug Number" => "$terms.Bug Number", "Importance" => "Importance", "Assignee" => "Assignee", "Last Changed" => "Last Changed" } %] ! <input type="hidden" name="cmdtype" value="doit"> ! <p> ! Sort results by: ! <select name="order"> ! [% FOREACH order = orders %] ! <option value="[% order FILTER html %]" ! [% " selected" IF default.order.0 == order %]> ! [% ordersdesc.$order FILTER html %]</option> ! [% END %] ! </select> ! </p> ! <p> ! <input type="submit" value="[% button_name FILTER html %]"> ! [% IF known_name %] ! <input type="hidden" name="query_based_on" ! value="[% known_name FILTER html %]"> ! [% END %] ! </p> ! ! <p> ! ! <input type="checkbox" id="remasdefault" ! name="remtype" value="asdefault"> ! <label for="remasdefault"> ! and remember these as my default search options ! </label> ! </p> ! ! [% IF userdefaultquery %] ! <p> ! <a href="query.cgi?nukedefaultquery=1"> ! Set my default search back to the system default</a>. </p> + [% END %] --- NEW FILE: search-report-graph.html.tmpl --- [%# 1....@bu... %] [%# 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): Gervase Markham <ge...@ge...> #%] [%# INTERFACE: # This template has no interface. However, to use it, you need to fulfill # the interfaces of the templates it contains. #%] [% PROCESS global/variables.none.tmpl %] [% PROCESS global/header.html.tmpl title = "Generate Graphical Report" onload = "selectProduct(document.forms['reportform']);chartTypeChanged()" %] [% PROCESS "search/search-report-select.html.tmpl" %] <p> Choose one or more fields as your axes, and then refine your set of [% terms.bugs %] using the rest of the form. </p> <script type="text/javascript"><!-- [%# The Y-axis fields are not used for pie charts %] function chartTypeChanged() { // format[2] is the pie chart radio button if (document.reportform.format[2].checked == true) { document.reportform.y_axis_field.disabled = true; document.reportform.cumulate[0].disabled = true; document.reportform.cumulate[1].disabled = true; } else { document.reportform.y_axis_field.disabled = false; document.reportform.cumulate[0].disabled = false; document.reportform.cumulate[1].disabled = false; } } // --> </script> [% button_name = "Generate Report" %] <form method="get" action="report.cgi" name="reportform"> <table align="center"> <tr> <td valign="middle"> <b>Vertical Axis:</b><br> <noscript><small>(not for pie charts)</small><br></noscript> [% PROCESS select name = 'y_axis_field' %]<br> <br> <b>Plot Data Sets:</b><br> <input type="radio" name="cumulate" value="0" [% " checked" IF default.cumulate.0 != "1" %]> Individually<br> <input type="radio" name="cumulate" value="1" [% " checked" IF default.cumulate.0 == "1" %]> Summed </td> <td width="150" height="150"> <table border="1" width="100%" height="100%"> <tr> <td align="center" valign="middle"> <b>Multiple Images:</b><br> [% PROCESS select name = 'z_axis_field' %] </td> </tr> </table> </td> <td rowspan="2"> <b>Format:</b><br> [% chart_formats = [ { name => "line", description => "Line Graph" }, { name => "bar", description => "Bar Chart" }, { name => "pie", description => "Pie Chart" } ] %] [% default.chart_format.0 = default.chart_format.0 || "bar" %] [% FOREACH chart_format = chart_formats %] <input type="radio" name="format" value="[% chart_format.name FILTER html %]" onchange="chartTypeChanged()" [% " checked" IF default.chart_format.0 == chart_format.name %]> [% chart_format.description FILTER html %]<br> [% END %] </td> </tr> <tr> <td> </td> <td align="left"> <b>Horizontal Axis:</b> [% PROCESS select name = 'x_axis_field' %]<br> <label for="x_labels_vertical"><b>Vertical labels:</b></label> <input type="checkbox" name="x_labels_vertical" id="x_labels_vertical" value="1" [% " check... [truncated message content] |