v4 style
[freeside.git] / httemplate / elements / select-agent.html
index e85ede5..2bd0095 100644 (file)
@@ -1,19 +1,31 @@
-%
-%  my( $agentnum, %opt ) = @_;
-%
-%  $opt{'records'} = delete $opt{'agents'}
-%    if $opt{'agents'};
-%
-%
-<% include( '/elements/select-table.html',
-                 'table'       => 'agent',
-                 'name_col'    => 'agent',
-                 'value'       => $agentnum,
-                 'empty_label' => 'all',
-                 'hashref'     => { 'disabled' => '' },
-                 'extra_sql'   => ' AND '.
-                                  $FS::CurrentUser::CurrentUser->agentnums_sql.
-                                  ' ORDER BY agent',
+<& /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 %opt = @_;
+my $agentnum = $opt{'curr_value'} || $opt{'value'};
+
+$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>