X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fpkg_class.html;h=eb33c0fb0a31a7288d0b2a929b697cd3cc012b10;hb=b9c9835fc3a990958b21bed560f1ff758735add0;hp=d4f8f02a9f4f95ed714289a77dca7864517db0ad;hpb=1a033848671cad2cbe7687b37fc718b3b2a68b83;p=freeside.git
diff --git a/httemplate/browse/pkg_class.html b/httemplate/browse/pkg_class.html
index d4f8f02a9..eb33c0fb0 100644
--- a/httemplate/browse/pkg_class.html
+++ b/httemplate/browse/pkg_class.html
@@ -1,26 +1,49 @@
-<%
-
-my $html_init =
- 'Package classes define groups of packages, for reporting and '.
- 'convenience purposes.
'.
- qq!Add a package class
!;
-
-my $count_query = 'SELECT COUNT(*) FROM pkg_class';
-
-my $link = [ $p.'edit/pkg_class.html?', 'classnum' ];
-
-%><%= include( 'elements/browse.html',
+<% include( 'elements/browse.html',
'title' => 'Package classes',
- 'menubar' => [ 'Main menu' => $p, ],
'html_init' => $html_init,
'name' => 'package classes',
+ 'disableable' => 1,
+ 'disabled_statuspos' => 2,
'query' => { 'table' => 'pkg_class',
+ 'addl_from' => ' LEFT JOIN pkg_category USING (categorynum)',
'hashref' => {},
- 'extra_sql' => 'ORDER BY classnum',
+ 'order_by' => 'ORDER BY classnum',
},
'count_query' => $count_query,
- 'header' => [ '#', 'Class', ],
- 'fields' => [ 'classnum', 'classname' ],
- 'links' => [ $link, $link ],
+ 'header' => $header,
+ 'fields' => $fields,
+ 'links' => $links,
)
%>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $conf = new FS::Conf;
+
+my $html_init =
+ 'Package classes define groups of packages, for taxation, ordering '.
+ 'convenience and reporting.
'.
+ qq!Add a package class
!;
+
+my $count_query = 'SELECT COUNT(*) FROM pkg_class';
+
+my $link = [ $p.'edit/pkg_class.html?', 'classnum' ];
+
+my $header = [ '#', 'Class' ];
+my $fields = [ 'classnum', 'classname' ];
+my $links = [ $link, $link ];
+
+my $cat_query = 'SELECT COUNT(*) FROM pkg_class where categorynum IS NOT NULL';
+my $sth = dbh->prepare($cat_query)
+ or die "Error preparing $cat_query: ". dbh->errstr;
+$sth->execute
+ or die "Error executing $cat_query: ". $sth->errstr;
+if ($sth->fetchrow_arrayref->[0]) {
+ push @$header, 'Category';
+ push @$fields, 'categoryname';
+ push @$links, [ $p.'edit/pkg_category.html?', 'categorynum' ]
+}
+
+%init>