Reverted menu-left-example.png back to original and cleaned up menu-top-example to...
[freeside.git] / httemplate / browse / agent_type.cgi
index ceffce3..0c011ce 100755 (executable)
@@ -1,59 +1,65 @@
-<%
+<& elements/browse.html,
+     'title'              => 'Agent Types',
+     'menubar'            => [ 'Agents' => "${p}browse/agent.cgi" ],
+     'html_init'          => $html_init,
+     'name'               => 'agent types',
+     'disableable'        => 1,
+     'disabled_statuspos' => 2,
+     'query'              => { 'table'     => 'agent_type',
+                               'hashref'   => {},
+                               'order_by' => 'ORDER BY typenum', # atype?
+                             },
+     'count_query'        => $count_query,
+     'header'             => [ '#',
+                               'Agent Type',
+                               'Packages',
+                             ],
+     'fields'             => [ 'typenum',
+                               'atype',
+                               $packages_sub,
+                             ],
+     'links'              => [ $link,
+                               $link,
+                               '',
+                             ],
+&>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
 my $html_init = 
-  'Agent types define groups of packages that you can then assign to'.
-  ' particular agents.<BR><BR>'.
-  qq!<A HREF="${p}edit/agent_type.cgi"><I>Add a new agent type</I></A><BR><BR>!;
+'Agent types define groups of packages that you can then assign to'.
+' particular agents.<BR><BR>'.
+qq!<A HREF="${p}edit/agent_type.cgi"><I>Add a new agent type</I></A><BR><BR>!;
 
 my $count_query = 'SELECT COUNT(*) FROM agent_type';
 
 #false laziness w/access_user.html
 my $packages_sub = sub {
   my $agent_type = shift;
+  my @type_pkgs = $agent_type->type_pkgs_enabled;
+  return '(lots; edit agent type to view)' if scalar(@type_pkgs) > 32;
 
-  [ map  {
-           my $type_pkgs = $_;
-           #my $part_pkg = $type_pkgs->part_pkg;
-           [
-             {
-               #'data'  => $part_pkg->pkg. ' - '. $part_pkg->comment,
-               'data'  => $type_pkgs->pkg. ' - '. $type_pkgs->comment,
-               'align' => 'left',
-               'link'  => $p. 'edit/part_pkg.cgi?'. $type_pkgs->pkgpart,
-             },
-           ];
-         }
-
-    $agent_type->type_pkgs_enabled
+  [ map {
+          my $type_pkgs = $_;
+          #my $part_pkg = $type_pkgs->part_pkg;
+          [
+            {
+              #'data'  => $part_pkg->pkg. ' - '. $part_pkg->comment,
+              'data'  => encode_entities($type_pkgs->pkg). ' - '.
+                         ( $type_pkgs->custom ? '(CUSTOM) ' : '' ).
+                         encode_entities($type_pkgs->comment),
+              'align' => 'left',
+              'link'  => $p. 'edit/part_pkg.cgi?'. $type_pkgs->pkgpart,
+            },
+          ];
+        }
+      @type_pkgs
   ];
 
 };
 
 my $link = [ $p.'edit/agent_type.cgi?', 'typenum' ];
 
-%><%= include( 'elements/browse.html',
-                 'title'   => 'Agent Types',
-                 'menubar'     => [ #'Main menu' => $p,
-                                    'Agents'    =>"${p}browse/agent.cgi",
-                                  ],
-                 'html_init'   => $html_init,
-                 'name'        => 'agent types',
-                 'query'       => { 'table'     => 'agent_type',
-                                    'hashref'   => {},
-                                    'extra_sql' => 'ORDER BY typenum', # 'ORDER BY atype',
-                                  },
-                 'count_query' => $count_query,
-                 'header'      => [ '#',
-                                    'Agent Type',
-                                    'Packages',
-                                  ],
-                 'fields'      => [ 'typenum',
-                                    'atype',
-                                    $packages_sub,
-                                  ],
-                 'links'       => [ $link,
-                                    $link,
-                                    '',
-                                  ],
-             )
-%>
+</%init>