aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'template/en/custom/reports')
-rw-r--r--template/en/custom/reports/components.html.tmpl150
-rw-r--r--template/en/custom/reports/duplicates-simple.html.tmpl27
-rw-r--r--template/en/custom/reports/duplicates-table.html.tmpl112
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 %]&amp;component=
+ [%- comp.name FILTER uri %]&amp;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 %]&amp;component=
+ [%- comp.name FILTER uri %]&amp;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('&amp;') %]
+
+
+
+[% 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 %]
+ [%- %]&amp;reverse=[% column.reverse_sort FILTER uri %]
+ [% END %]
+ [% IF base_args_string %]
+ [% "&amp;$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 %]
+