Reverted menu-left-example.png back to original and cleaned up menu-top-example to...
[freeside.git] / httemplate / browse / agent_type.cgi
index 318d0b6..0c011ce 100755 (executable)
@@ -1,60 +1,65 @@
-%
-%
-%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>!;
-%
-%my $count_query = 'SELECT COUNT(*) FROM agent_type';
-%
-%#false laziness w/access_user.html
-%my $packages_sub = sub {
-%  my $agent_type = shift;
-%
-%  [ 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
-%  ];
-%
-%};
-%
-%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,
-                                    '',
-                                  ],
-             )
-%>
+<& 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>!;
+
+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'  => 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' ];
+
+</%init>