Commit 4374ee31 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 282384: Templatize the 'select classification' bit of editproducts - Patch…

Bug 282384: Templatize the 'select classification' bit of editproducts - Patch by GavinS <bugzilla@chimpychompy.org> r=LpSolit, a=justdave
parent e4710b7e
......@@ -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 %]'"
......
[%# 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&amp;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 %]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment