mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 01:08:21 +00:00
Bug 282384: Templatize the 'select classification' bit of editproducts - Patch by GavinS <bugzilla@chimpychompy.org> r=LpSolit, a=justdave
This commit is contained in:
parent
1a4183e8b4
commit
26e5dfb449
@ -290,39 +290,33 @@ if (Param('useclassification') && (defined $classification)) {
|
||||
}
|
||||
|
||||
#
|
||||
# product = '' -> Show nice list of products
|
||||
# product = '' -> Show nice list of classifications (if
|
||||
# classifications enabled)
|
||||
#
|
||||
|
||||
if (Param('useclassification')) {
|
||||
unless ($classification) {
|
||||
PutHeader("Select classification");
|
||||
|
||||
SendSQL("SELECT classifications.name, classifications.description,
|
||||
COUNT(classification_id) AS total
|
||||
my $dbh = Bugzilla->dbh;
|
||||
|
||||
my $query =
|
||||
"SELECT classifications.name, classifications.description,
|
||||
COUNT(classification_id) AS product_count
|
||||
FROM classifications
|
||||
LEFT JOIN products
|
||||
ON classifications.id = products.classification_id " .
|
||||
$dbh->sql_group_by('classifications.id',
|
||||
'classifications.name,
|
||||
classifications.description') . "
|
||||
ORDER BY name");
|
||||
print "<TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0><TR BGCOLOR=\"#6666FF\">\n";
|
||||
print " <TH ALIGN=\"left\">Edit products of ...</TH>\n";
|
||||
print " <TH ALIGN=\"left\">Description</TH>\n";
|
||||
print " <TH ALIGN=\"left\">Total</TH>\n";
|
||||
print "</TR>";
|
||||
while ( MoreSQLData() ) {
|
||||
my ($classification, $description, $count) = FetchSQLData();
|
||||
$description ||= "<FONT COLOR=\"red\">missing</FONT>";
|
||||
print "<TR>\n";
|
||||
print " <TD VALIGN=\"top\"><A HREF=\"editproducts.cgi?classification=",url_quote($classification),"\"><B>$classification</B></A></TD>\n";
|
||||
print " <TD VALIGN=\"top\">$description</TD>\n";
|
||||
$count ||= "none";
|
||||
print " <TD VALIGN=\"top\">$count</TD>\n";
|
||||
}
|
||||
print "</TR></TABLE>\n";
|
||||
ON classifications.id = products.classification_id " .
|
||||
$dbh->sql_group_by('classifications.id',
|
||||
'classifications.name,
|
||||
classifications.description') . "
|
||||
ORDER BY name";
|
||||
|
||||
$vars->{'classifications'} = $dbh->selectall_arrayref($query,
|
||||
{'Slice' => {}});
|
||||
|
||||
$template->process("admin/products/list-classifications.html.tmpl",
|
||||
$vars)
|
||||
|| ThrowTemplateError($template->error());
|
||||
|
||||
PutTrailer();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
@ -43,11 +43,9 @@
|
||||
|
||||
[% UNLESS no_add_product_link %]
|
||||
<a title="Add a product"
|
||||
href="editproducts.cgi?action=add">Add</a> a product
|
||||
|
||||
|
||||
[%# Strictly speaking, we should not have to check for a
|
||||
classification if they are enabled, but I'm just being paranoid %]
|
||||
href="editproducts.cgi?action=add">Add</a> a product[% -%]
|
||||
[%# Strictly speaking, we should not have to check for a
|
||||
classification if they are enabled, but I'm just being paranoid %]
|
||||
[% IF Param('useclassification') && classification %]
|
||||
(<a title="Add a product to classification '
|
||||
[%- classification FILTER html %]'"
|
||||
|
@ -0,0 +1,72 @@
|
||||
[%# 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.
|
||||
#
|
||||
# Contributor(s): Gavin Shelley <bugzilla@chimpychompy.org>
|
||||
#%]
|
||||
|
||||
[%# INTERFACE:
|
||||
# classifications: array of hashes having the following properties:
|
||||
# - name: string; The name of the classification
|
||||
# - description: string; The classification description (html allowed)
|
||||
# - product_count: number; The number of products in this classification
|
||||
#
|
||||
#%]
|
||||
|
||||
[% PROCESS global/variables.none.tmpl %]
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = "Select Classification"
|
||||
%]
|
||||
|
||||
[% edit_contentlink = BLOCK %]
|
||||
editproducts.cgi?classification=%%name%%
|
||||
[% END %]
|
||||
[% add_contentlink = BLOCK %]
|
||||
editproducts.cgi?action=add&classification=%%name%%
|
||||
[% END %]
|
||||
|
||||
[% columns = [
|
||||
{
|
||||
name => "name"
|
||||
heading => "Edit products of..."
|
||||
contentlink => edit_contentlink
|
||||
},
|
||||
{
|
||||
name => "description"
|
||||
heading => "Description"
|
||||
allow_html_content => 1
|
||||
},
|
||||
{
|
||||
name => "product_count"
|
||||
align => "right"
|
||||
heading => "Product Count"
|
||||
},
|
||||
{
|
||||
heading => "Action..."
|
||||
content => "Add product"
|
||||
contentlink => add_contentlink
|
||||
},
|
||||
]
|
||||
%]
|
||||
|
||||
[% PROCESS admin/table.html.tmpl
|
||||
columns = columns
|
||||
data = classifications
|
||||
%]
|
||||
|
||||
<p>
|
||||
|
||||
[%# No need for the standard edit products footer, as we have an 'add'
|
||||
link in the table %]
|
||||
|
||||
[% PROCESS global/footer.html.tmpl %]
|
Loading…
x
Reference in New Issue
Block a user