v4 style
[freeside.git] / httemplate / elements / select-agent.html
index aa480a5..2bd0095 100644 (file)
@@ -1,16 +1,31 @@
-<%
-  my( $agentnum, %opt ) = @_;
+<& /elements/select-table.html,
+                 'table'         => 'agent',
+                 'name_col'      => 'agent',
+                 'value'         => $agentnum || '',
+                 'agent_virt'    => 1,
+                 'empty_label'   => $empty_label,
+                 'hashref'       => { 'disabled' => '' },
+                 'order_by'      => ' ORDER BY agent',
+                 'disable_empty' => $disable_empty,
+                 %opt,
+&>
+<%init>
 
-  my %select_opt = ();
-  $select_opt{'records'} = $opt{'agents'}
-    if $opt{'agents'};
+my %opt = @_;
+my $agentnum = $opt{'curr_value'} || $opt{'value'};
 
-%><%= include( '/elements/select-table.html',
-                 'table'       => 'agent',
-                 'name_col'    => 'agent',
-                 'value'       => $agentnum,
-                 'empty_label' => 'all',
-                 'hashref'     => { 'disabled' => '' },
-                 %select_opt,
-             )
-%>
+$opt{'records'} = delete $opt{'agents'}
+  if $opt{'agents'};
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+my $empty_label = $opt{'empty_label'} ? $opt{'empty_label'} : 'all';
+my $disable_empty = 0;
+if ( $opt{'agent_null_right'} ) {
+  if ( $curuser->access_right($opt{'agent_null_right'}) ) {
+    $disable_empty = 0;
+  } else {
+    $disable_empty = 1;
+  }
+}
+
+</%init>