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)) { ...@@ -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')) { if (Param('useclassification')) {
unless ($classification) { unless ($classification) {
PutHeader("Select classification");
SendSQL("SELECT classifications.name, classifications.description, my $dbh = Bugzilla->dbh;
COUNT(classification_id) AS total
my $query =
"SELECT classifications.name, classifications.description,
COUNT(classification_id) AS product_count
FROM classifications FROM classifications
LEFT JOIN products LEFT JOIN products
ON classifications.id = products.classification_id " . ON classifications.id = products.classification_id " .
$dbh->sql_group_by('classifications.id', $dbh->sql_group_by('classifications.id',
'classifications.name, 'classifications.name,
classifications.description') . " classifications.description') . "
ORDER BY name"); ORDER BY name";
print "<TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0><TR BGCOLOR=\"#6666FF\">\n";
print " <TH ALIGN=\"left\">Edit products of ...</TH>\n"; $vars->{'classifications'} = $dbh->selectall_arrayref($query,
print " <TH ALIGN=\"left\">Description</TH>\n"; {'Slice' => {}});
print " <TH ALIGN=\"left\">Total</TH>\n";
print "</TR>"; $template->process("admin/products/list-classifications.html.tmpl",
while ( MoreSQLData() ) { $vars)
my ($classification, $description, $count) = FetchSQLData(); || ThrowTemplateError($template->error());
$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";
PutTrailer();
exit; exit;
} }
} }
......
...@@ -43,11 +43,9 @@ ...@@ -43,11 +43,9 @@
[% UNLESS no_add_product_link %] [% UNLESS no_add_product_link %]
<a title="Add a product" <a title="Add a product"
href="editproducts.cgi?action=add">Add</a> 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 %]
[%# 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 %] [% IF Param('useclassification') && classification %]
(<a title="Add a product to classification ' (<a title="Add a product to classification '
[%- classification FILTER html %]'" [%- 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