RT# 82949 - changes section name from fees to pricing, better opiton
[freeside.git] / httemplate / browse / pkg_class.html
index 3ec5e55..eb33c0f 100644 (file)
@@ -1,27 +1,49 @@
-%
-%
-%my $html_init = 
-%  'Package classes define groups of packages, for reporting and '.
-%  'convenience purposes.<BR><BR>'.
-%  qq!<A HREF="${p}edit/pkg_class.html"><I>Add a package class</I></A><BR><BR>!;
-%
-%my $count_query = 'SELECT COUNT(*) FROM pkg_class';
-%
-%my $link = [ $p.'edit/pkg_class.html?', 'classnum' ];
-%
-%
 <% 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.<BR><BR>'.
+  qq!<A HREF="${p}edit/pkg_class.html"><I>Add a package class</I></A><BR><BR>!;
+
+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>