summaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
authorgerv%gerv.net <>2002-04-11 07:29:57 +0200
committergerv%gerv.net <>2002-04-11 07:29:57 +0200
commitfaf2e2dcec78484e261a70df3257fc011eeb75f7 (patch)
tree3e47d9ef9e8c29227b14c1e33bae1f52640791a1 /template
parent02ab1dd96286aebf3c7379d97ceeefe37be469c1 (diff)
downloadbugzilla-faf2e2dcec78484e261a70df3257fc011eeb75f7.tar.gz
bugzilla-faf2e2dcec78484e261a70df3257fc011eeb75f7.tar.xz
Bug 199635 - templatise duplicates.cgi. Patch by gerv, r=myk, bbaetz.
Diffstat (limited to 'template')
-rw-r--r--template/default/report/duplicates.html.tmpl275
1 files changed, 275 insertions, 0 deletions
diff --git a/template/default/report/duplicates.html.tmpl b/template/default/report/duplicates.html.tmpl
new file mode 100644
index 000000000..1f606664a
--- /dev/null
+++ b/template/default/report/duplicates.html.tmpl
@@ -0,0 +1,275 @@
+[%# 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 <gerv@gerv.net>
+ #%]
+
+[%# INTERFACE:
+ # bugs: list of hashes. May be empty. Each hash has nine members:
+ # id: integer. The bug number
+ # count: integer. The number of dupes
+ # delta: integer. The change in count in the last $changedsince days
+ # component: string. The bug's component
+ # bug_severity: string. The bug's severity.
+ # op_sys: string. The bug's reported OS.
+ # target_milestone: string. The bug's TM.
+ # short_desc: string. The bug's summary.
+ # bug_status: string. The bug's status.
+ #
+ # bug_ids: list of integers. May be empty. The IDs of the bugs in $bugs.
+ # products: list of strings. The products this user can see.
+ #
+ # sortby: string. the column on which we are sorting the buglist.
+ # reverse: boolean. True if we are reversing the current sort.
+ # maxrows: integer. Max number of rows to display.
+ # changedsince: integer. The number of days ago for the changedsince column.
+ # openonly: boolean. True if we are only showing open bugs.
+ # product: string. Restrict to this product only.
+ #%]
+
+[% IF product %]
+ [% title = "Most Frequently Reported Bugs for $product" %]
+[% ELSE %]
+ [% title = "Most Frequently Reported Bugs" %]
+[% END%]
+
+[% INCLUDE global/header %]
+
+<p>
+ <a href="#explanation">What is this data?</a>
+ <br>
+ <a href="#params">Change parameters</a>
+</p>
+
+[%# *** Column Headers *** %]
+
+<table border>
+ <tr BGCOLOR="#CCCCCC">
+ [% FOREACH column = [ { name => "id", description => "Bug #" },
+ { name => "count", description => "Dupe<br>Count" },
+ { name => "delta",
+ description => "Change in last<br>$changedsince day(s)" },
+ { name => "component", description => "Component" },
+ { name => "bug_severity", description => "Severity" },
+ { name => "op_sys", description => "Op Sys" },
+ { name => "target_milestone",
+ description => "Target<br>Milestone" },
+ { name => "short_desc", description => "Summary" } ]
+ %]
+
+ [%# Small hack to keep delta column out if we don't need it %]
+ [% NEXT IF column.name == "delta" AND NOT dobefore %]
+
+ <td>
+ <center>
+ <b>
+ [% bug_ids_string = bug_ids.join(',') %]
+ <a href="duplicates.cgi?sortby=[% column.name %]
+ [% "&reverse=1" IF NOT reverse AND sortby == column.name %]
+ [% "&maxrows=$maxrows" IF maxrows %]
+ [% "&changedsince=$changedsince" IF changedsince %]
+ [% "&openonly=1" IF openonly %]
+ [% "&product=$product" IF product %]
+ [% "&bug_id=$bug_ids_string&sortvisible=1" IF sortvisible %]">
+ [% column.description %]</a>
+ </b>
+ </center>
+ </td>
+ [% END %]
+ </tr>
+
+[% IF NOT sortby %]
+ [% sortby = "count"; reverse = "1" %]
+[% END %]
+
+[% IF sortby == "id" OR sortby == "count" OR sortby == "delta" %]
+ [%# Numeric sort %]
+ [% sortedbugs = bugs.nsort(sortby) %]
+[% ELSE %]
+ [% sortedbugs = bugs.sort(sortby) %]
+[% END %]
+
+[% IF reverse %]
+ [% bugs = sortedbugs.reverse %]
+[% ELSE %]
+ [% bugs = sortedbugs %]
+[% END %]
+
+[%# *** Buglist *** %]
+
+[%# We need to keep track of the bug IDs we are actually displaying, because
+ # if the user decides to sort the visible list, we need to know what that
+ # list actually is. %]
+[% vis_bug_ids = [] %]
+
+[% FOREACH bug = bugs %]
+ [% LAST IF loop.index() >= maxrows %]
+ [% vis_bug_ids.push(bug.id) %]
+
+ <tr>
+ <td>
+ <center>
+ [% "<strike>" IF bug.resolution != "" %]
+ <A HREF="show_bug.cgi?id=[% bug.id %]">[% bug.id %]</a>
+ [% "</strike>" IF bug.resolution != "" %]
+ </center>
+ </td>
+
+ <td>
+ <center>
+ [% bug.count %]
+ </center>
+ </td>
+
+ [% IF dobefore %]
+ <td><center>[% bug.delta %]</center></td>
+ [% END %]
+
+ <td>[% bug.component %]</td>
+ <td><center>[% bug.bug_severity %]</center></td>
+ <td><center>[% bug.op_sys %]</center></td>
+ <td><center>[% bug.target_milestone %]</center></td>
+ <td>[% bug.short_desc FILTER html %]</td>
+ </tr>
+[% END %]
+
+</table>
+
+<br>
+<br>
+
+[%# *** Parameters *** %]
+
+[% bug_ids_string = vis_bug_ids.join(',') %]
+
+<h3><a name="params">Change Parameters</a></h3>
+
+<form method="get" action="duplicates.cgi">
+ <input type="hidden" name="sortby" value="[% sortby %]" />
+ <input type="hidden" name="reverse" value="[% reverse %]" />
+ <input type="hidden" name="bug_id" value="[% bug_ids_string %]">
+ <table>
+ <tr>
+ <td>When sorting or restricting,
+ work with:</td>
+ <td>
+ <input type="radio" name="sortvisible" id="entirelist" value="0"
+ [% "checked" IF NOT sortvisible %] />
+ <label for="entirelist">
+ entire list
+ </label>
+ <br />
+ <input type="radio" name="sortvisible" id="visiblelist" value="1"
+ [% "checked" IF sortvisible %] />
+ <label for="visiblelist">
+ currently visible list
+ </label>
+ </td>
+ <td rowspan="4" valign="top">Restrict to products:</td>
+ <td rowspan="4" valign="top">
+ <select name="product" size="5" multiple>
+ [% FOREACH p = products %]
+ <option name="[% p %]"
+ [% " selected" IF product == p %]>[% p %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Max rows:</td>
+ <td>
+ <input size="4" name="maxrows" value="[% maxrows %]" />
+ </td>
+ </tr>
+
+ <tr>
+ <td>Change column is change in the last:</td>
+ <td>
+ <input size="4" name="changedsince" value="[% changedsince %]" /> days
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <label for="openonly">
+ Open bugs only:
+ </label>
+ </td>
+ <td>
+ <input type="checkbox" name="openonly" id="openonly" value="1"
+ [% "checked" IF openonly %] />
+ </td>
+ </tr>
+
+ </table>
+
+ <input type="submit" value="Change" />
+</form>
+
+<form method="post" action="buglist.cgi">
+ <input type="hidden" name="bug_id" value="[% bug_ids_string %]">
+ <input type="hidden" name="order" value="Reuse same sort as last time">
+ Or just give this to me as a <input type="submit" value="bug list">.
+ (Note: the order may not be the same.)
+</form>
+
+<hr />
+
+<b>
+ <a name="explanation">What are "Most Frequently Reported Bugs"?</a>
+</b>
+
+<blockquote>
+ The Most Frequent Bugs page lists the known open bugs which
+ are reported most frequently in recent builds of Mozilla. It is
+ automatically generated from the Bugzilla database every 24 hours, by
+ counting the number of direct and indirect duplicates of bugs.
+ This information is provided in order to assist in minimizing
+ the amount of duplicate bugs entered into Bugzilla which in turn cuts down
+ on development time.
+</blockquote>
+
+<b>How do I use this list?</b>
+
+<ul>
+ <li>Review the most frequent bugs list.</li>
+ <li>If problem is listed:</li>
+
+ <ul>
+ <li>Click on Bug # link to confirm that you have found the same bug and
+ comment if you have additional information. Or move on with your testing
+ of the product.
+ </li>
+ </ul>
+
+ <li>If problem not listed:</li>
+
+ <ul>
+ <li>Go to the <a href="query.cgi">Bugzilla Search</a>
+ page to try and locate a similar bug that has already been written.</li>
+ <li>If you find your bug in Bugzilla, feel free to comment with any new or
+ additional data you may have.</li>
+ <li>If you cannot find your problem already documented in Bugzilla, go to
+ the
+ <a href="http://www.mozilla.org/quality/help/bug-form.html">Bugzilla
+ Helper</a>
+ and post a new bug.</li>
+ </ul>
+</ul>
+
+[% INCLUDE global/footer %]