optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / edit / agent_type.cgi
index bfef42f..8a6fbc2 100755 (executable)
@@ -1,22 +1,4 @@
-%
-%
-%my($agent_type);
-%if ( $cgi->param('error') ) {
-%  $agent_type = new FS::agent_type ( {
-%    map { $_, scalar($cgi->param($_)) } fields('agent')
-%  } );
-%} elsif ( $cgi->keywords ) { #editing
-%  my( $query ) = $cgi->keywords;
-%  $query =~ /^(\d+)$/;
-%  $agent_type=qsearchs('agent_type',{'typenum'=>$1});
-%} else { #adding
-%  $agent_type = new FS::agent_type {};
-%}
-%my $action = $agent_type->typenum ? 'Edit' : 'Add';
-%
-%
 <% include("/elements/header.html","$action Agent Type", menubar(
-  'Main Menu' => "$p",
   'View all agent types' => "${p}browse/agent_type.cgi",
 ))
 %>
@@ -38,7 +20,7 @@ Select which packages agents of this type may sell to customers<BR>
               'source_obj'    => $agent_type,
               'link_table'    => 'type_pkgs',
               'target_table'  => 'part_pkg',
-              'name_callback' => sub { $_[0]->pkg. ' - '. $_[0]->comment; },
+              'name_callback' => sub { $_[0]->pkg_comment(nopkgpart => 1); },
               'target_link'   => $p.'edit/part_pkg.cgi?',
               'disable-able'  => 1,
 
@@ -52,3 +34,24 @@ Select which packages agents of this type may sell to customers<BR>
     </FORM>
 
 <% include('/elements/footer.html') %>
+
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my($agent_type);
+if ( $cgi->param('error') ) {
+  $agent_type = new FS::agent_type ( {
+    map { $_, scalar($cgi->param($_)) } fields('agent')
+  } );
+} elsif ( $cgi->keywords ) { #editing
+  my( $query ) = $cgi->keywords;
+  $query =~ /^(\d+)$/;
+  $agent_type=qsearchs('agent_type',{'typenum'=>$1});
+} else { #adding
+  $agent_type = new FS::agent_type {};
+}
+my $action = $agent_type->typenum ? 'Edit' : 'Add';
+
+</%init>