diff options
Diffstat (limited to 'template/en/custom/reports')
-rw-r--r-- | template/en/custom/reports/components.html.tmpl | 150 | ||||
-rw-r--r-- | template/en/custom/reports/duplicates-simple.html.tmpl | 27 | ||||
-rw-r--r-- | template/en/custom/reports/duplicates-table.html.tmpl | 112 |
3 files changed, 289 insertions, 0 deletions
diff --git a/template/en/custom/reports/components.html.tmpl b/template/en/custom/reports/components.html.tmpl new file mode 100644 index 000000000..648b1c516 --- /dev/null +++ b/template/en/custom/reports/components.html.tmpl @@ -0,0 +1,150 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # product: object. The product for which we want to display component + # descriptions. + #%] + +[% title = BLOCK %] + Components for [% product.name FILTER html %] +[% END %] + +[% PROCESS global/header.html.tmpl + style_urls = ['skins/standard/buglist.css'] + title = title +%] + +[% IF Param("useqacontact") %] + [% numcols = 3 %] +[% ELSE %] + [% numcols = 2 %] +[% END %] + +<div class="row"> + <div class="col-sm-2"></div> + <div class="col-sm-8"> + <div class="text-center"> + <h1>[% product.name FILTER html %]</h1> + + <p id="product_desc">[% product.description FILTER html_light %]</p> + + <p><small>Select a component to see open [% terms.bugs %] in that component.</small></p> + </div> + </div> + <div class="col-sm-2"></div> +</div> + + + +<div class="row" style="margin-bottom:10px;"> +<div class="col-sm-11"> + + <ul class="nav nav-pills pull-right" role="tablist"> + <li role="presentation" class=" active"> + <a class="btn btn-default btn-xs bgo_tab" style="border-right:0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px;" href="#detailed" aria-controls="detailed" role="tab" data-toggle="tab"><i class="fa fa-th-list" aria-hidden="true"></i></a> + </li> + <li role="presentation" class="" style="margin-left:0px;"> + <a class="btn btn-default btn-xs bgo_tab" style="border-top-left-radius: 0px; border-bottom-left-radius: 0px;" href="#condensed" aria-controls="condensed" role="tab" data-toggle="tab"><i class="fa fa-list-ul" aria-hidden="true"></i></a> + </li> + </ul> +</div> +<div class="col-sm-1"></div> +</div> + +<div class="row"> +<div class="col-sm-1"></div> +<div class="col-sm-10"> + + <div class="tab-content"> + <div role="tabpanel" class="tab-pane" id="condensed"> + <table id="component_table"> + <tr> + <th>Component</th> + <th>Default Assignee</th> + [% IF Param("useqacontact") %] + <th>Default QA Contact</th> + [% END %] + </tr> + [% FOREACH comp = product.components %] + [% INCLUDE describe_comp %] + [% END %] + </table> + </div> + <div role="tabpanel" class="tab-pane active" id="detailed"> + [% FOREACH comp = product.components %] + [% INCLUDE describe_comp_detailed %] + [% END %] + </div> + </div> + +</div> +<div class="col-sm-1"></div> +</div> + +[% PROCESS global/footer.html.tmpl %] + +[%############################################################################%] +[%# BLOCK for components %] +[%############################################################################%] + + +[% BLOCK describe_comp_detailed %] +<div id="[% comp.name FILTER html %]" class="panel panel-default" style="margin-bottom:10px;"> +<div class="panel-body"> + <div class="row"> + + <div class="col-sm-4"> + + <h3 style="font-weight:400;margin-top:0px;margin-bottom:0px;"><a href="buglist.cgi?product= + [%- product.name FILTER uri %]&component= + [%- comp.name FILTER uri %]&resolution=---"> + [% comp.name FILTER html %]</a></h3> + + </div> + + <div class="col-sm-8"> + <!-- TODO Include QA contract + [% IF Param("useqacontact") %] + [% IF comp.default_qa_contact %] + [% INCLUDE global/user.html.tmpl who = comp.default_qa_contact %] + [% END %] + [% END %] + --> + [% comp.description FILTER html_light %] + |<small>[% INCLUDE global/user.html.tmpl who = comp.default_assignee %]</small> + </div> + </div> +</div> +</div> +[% END %] + + +[% BLOCK describe_comp %] + <tr id="[% comp.name FILTER html %]"> + <td rowspan="2" class="component_name"> + <a href="buglist.cgi?product= + [%- product.name FILTER uri %]&component= + [%- comp.name FILTER uri %]&resolution=---"> + [% comp.name FILTER html %]</a> + </td> + <td class="component_assignee"> + [% INCLUDE global/user.html.tmpl who = comp.default_assignee %] + </td> + [% IF Param("useqacontact") %] + [% IF comp.default_qa_contact %] + [% INCLUDE global/user.html.tmpl who = comp.default_qa_contact %] + [% END %] + [% END %] + </tr> + <tr> + <td colspan="[% numcols - 1 %]" class="component_description"> + [% comp.description FILTER html_light %] + </td> + </tr> +[% END %] diff --git a/template/en/custom/reports/duplicates-simple.html.tmpl b/template/en/custom/reports/duplicates-simple.html.tmpl new file mode 100644 index 000000000..c94b30f4e --- /dev/null +++ b/template/en/custom/reports/duplicates-simple.html.tmpl @@ -0,0 +1,27 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # You need to fulfill the interface to duplicates-table.html.tmpl. + #%] + +<!DOCTYPE html> +<html> + [% IF product.size %] + [% title = BLOCK %] + Most Frequently Reported [% terms.Bugs %] for [% product.join(', ') FILTER html %] + [% END %] + [% ELSE %] + [% title = "Most Frequently Reported $terms.Bugs" %] + [% END%] + + + <body> + [% PROCESS "reports/duplicates-table.html.tmpl" %] + </body> +</html> diff --git a/template/en/custom/reports/duplicates-table.html.tmpl b/template/en/custom/reports/duplicates-table.html.tmpl new file mode 100644 index 000000000..92f9b617f --- /dev/null +++ b/template/en/custom/reports/duplicates-table.html.tmpl @@ -0,0 +1,112 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # bugs: list of hashes. May be empty. Each hash has three members: + # bug: A Bugzilla::Bug object + # count: integer. The number of dupes + # delta: integer. The change in count in the last $changedsince days + # + # 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: array of strings. Restrict to these products only. + #%] + +[%# *** Column Headers *** %] + +[% SET columns = [ + { name => "id", description => "$terms.Bug #" }, + { name => "count", description => "Dupe<br>Count" }, + { name => "delta", + description => "Change in last<br>$changedsince day(s)" }, + { name => "component", description => field_descs.component }, + { name => "bug_severity", description => field_descs.bug_severity }, + { name => "priority", description => field_descs.priority }, + { name => "target_milestone", description => field_descs.target_milestone }, + { name => "short_desc", description => field_descs.short_desc }, +] %] + +[% SET base_args = [] %] +[% FOREACH param = ['maxrows', 'openonly', 'format', 'sortvisible', + 'changedsince', 'product'] +%] + [% NEXT IF NOT ${param}.defined %] + [% FOREACH value = ${param} %] + [% filtered_value = value FILTER uri %] + [% base_args.push("$param=$filtered_value") %] + [% END %] +[% END %] +[% IF sortvisible %] + [% bug_ids_string = bug_ids.nsort.join(',') FILTER uri %] + [% base_args.push("bug_id=$bug_ids_string") %] +[% END %] +[% base_args_string = base_args.join('&') %] + + + +[% IF bugs.size %] + <table id="duplicates_table" class="table"> + <thead> + <tr> + [% FOREACH column = columns %] + [% IF column.name == sortby %] + [%# We add this to the column object so it doesn't affect future + # iterations of the loop. + #%] + [% column.reverse_sort = reverse ? 0 : 1 %] + [% END %] + <th class="[% column.name FILTER html %]"> + <a href="duplicates.cgi?sortby=[% column.name FILTER uri %] + [% IF column.reverse_sort.defined %] + [%- %]&reverse=[% column.reverse_sort FILTER uri %] + [% END %] + [% IF base_args_string %] + [% "&$base_args_string" FILTER none %] + [% END %]" + >[% column.description FILTER none %]</a> + </th> + [% END %] + </tr> + </thead> + + [%# *** Buglist *** %] + + <tbody> + [% FOREACH item = bugs %] + [% SET bug = item.bug %] + <tr [% " class='resolved'" IF NOT bug.isopened %]> + <td class="id"> + [% bug.id FILTER bug_link(bug) FILTER none %] + </td> + <td class="count">[% item.count FILTER html %]</td> + <td class="delta">[% item.delta FILTER html %]</td> + <td class="component">[% bug.component FILTER html %]</td> + <td class="bug_severity"> + [%- display_value('bug_severity', bug.bug_severity) FILTER html %] + </td> + <td class="priority"> + [%- display_value('priority', bug.priority) FILTER html %] + </td> + <td class="target_milestone"> + [% display_value('target_milestone', + bug.target_milestone) FILTER html %] + </td> + <td class="short_desc">[% bug.short_desc FILTER html %]</td> + </tr> + [% END %] + </tbody> + </table> +[% ELSE %] +<div class="row" style="margin: 20px;"><div class="col-sm-12"><div class="text-center">No duplicate [% terms.bugs %] found.</div></div></div> +[% END %] + |