diff options
author | gerv%gerv.net <> | 2002-04-27 08:18:53 +0200 |
---|---|---|
committer | gerv%gerv.net <> | 2002-04-27 08:18:53 +0200 |
commit | 150660ee3f4201df06c96b802dbed17753e72b68 (patch) | |
tree | e692b2560917e250aeb28cf0a8c67596864f96c7 | |
parent | 6578779de149b5a2649978b18f283b924f21a30d (diff) | |
download | bugzilla-150660ee3f4201df06c96b802dbed17753e72b68.tar.gz bugzilla-150660ee3f4201df06c96b802dbed17753e72b68.tar.xz |
Bug 138994 - split up duplicates.html.tmpl. Patch by gerv; r=myk, bbaetz.
-rwxr-xr-x | duplicates.cgi | 8 | ||||
-rw-r--r-- | template/en/default/reports/duplicates-simple.html.tmpl | 42 | ||||
-rw-r--r-- | template/en/default/reports/duplicates-table.html.tmpl | 137 | ||||
-rw-r--r-- | template/en/default/reports/duplicates.html.tmpl | 109 |
4 files changed, 189 insertions, 107 deletions
diff --git a/duplicates.cgi b/duplicates.cgi index 98e7e0a22..50affa6df 100755 --- a/duplicates.cgi +++ b/duplicates.cgi @@ -191,13 +191,17 @@ $vars->{'changedsince'} = $changedsince; $vars->{'maxrows'} = $maxrows; $vars->{'openonly'} = $openonly; $vars->{'reverse'} = $reverse; +$vars->{'format'} = $::FORM{'format'}; $vars->{'product'} = $product; $vars->{'products'} = \@::legal_product; -print "Content-type: text/html\n\n"; + +my $format = ValidateOutputFormat($::FORM{'format'}, "duplicates", "reports"); + +print "Content-Type: $format->{'contenttype'}\n\n"; # Generate and return the UI (HTML page) from the appropriate template. -$template->process("reports/duplicates.html.tmpl", $vars) +$template->process("reports/$format->{'template'}", $vars) || ThrowTemplateError($template->error()); diff --git a/template/en/default/reports/duplicates-simple.html.tmpl b/template/en/default/reports/duplicates-simple.html.tmpl new file mode 100644 index 000000000..481dd6eca --- /dev/null +++ b/template/en/default/reports/duplicates-simple.html.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): Gervase Markham <gerv@gerv.net> + #%] + +[%# INTERFACE: + # You need to fulfill the interface to duplicates-table.html.tmpl. + #%] + +<html> + + [% IF product %] + [% title = "Most Frequently Reported Bugs for $product" %] + [% ELSE %] + [% title = "Most Frequently Reported Bugs" %] + [% END%] + + <head> + <title>[% title %]</title> + </head> + + <body> + [% PROCESS "reports/duplicates-table.html.tmpl" %] + </body> + +</html> diff --git a/template/en/default/reports/duplicates-table.html.tmpl b/template/en/default/reports/duplicates-table.html.tmpl new file mode 100644 index 000000000..f7b8ec173 --- /dev/null +++ b/template/en/default/reports/duplicates-table.html.tmpl @@ -0,0 +1,137 @@ +<!-- 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): 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. + # + # 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. + #%] + +[%# *** 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 %] + [% "&format=$format" IF format %] + [% "&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> diff --git a/template/en/default/reports/duplicates.html.tmpl b/template/en/default/reports/duplicates.html.tmpl index 48c2bc796..203776cd3 100644 --- a/template/en/default/reports/duplicates.html.tmpl +++ b/template/en/default/reports/duplicates.html.tmpl @@ -20,18 +20,6 @@ #%] [%# 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. @@ -40,6 +28,9 @@ # 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. + # + # Additionally, you need to fulfill the interface to + # duplicates-table.html.tmpl. #%] [% IF product %] @@ -56,99 +47,7 @@ <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> +[% PROCESS "reports/duplicates-table.html.tmpl" %] <br> <br> |