RT# 31208 Docs $FS::Record::qsearch_qualify_columns
[freeside.git] / httemplate / elements / checkboxes-table.html
index b6b04d1..3c99401 100644 (file)
@@ -46,7 +46,7 @@
 %
 %  my $hashref = $opt{'hashref'} || {};
 %
-%  my $extra_sql = '';
+%  my $extra_sql = $opt{'extra_sql'} || '';
 %
 %  if ( $opt{'agent_virt'} ) {
 %    $extra_sql .= ' AND' . $FS::CurrentUser::CurrentUser->agentnums_sql(
 %                    ? 'CHECKED'
 %                    : '';
 %
+%     } elsif ( !$sourcenum ) { # newly created object, has no links yet
+%
+%       $checked = $opt{'default'} ? 'CHECKED' : ''
+%
 %     } else {
 %
 %       $checked = qsearchs( $opt{'link_table'}, {
 %
 %     }
 %
-%
-
 
-  <INPUT TYPE="checkbox" NAME="<% $target_pkey. $targetnum %>" <% $checked %> VALUE="ON">
-% if ( $opt{'target_link'} ) { 
+% ### use name sent to function else use target table and key.
+% my $checkbox_name;
+% if ($opt{'field'}) { $checkbox_name = $opt{'field'}; } else { $checkbox_name = "$target_pkey$targetnum"; }
 
+% ### use values sent to function rather than values in table to determine CHECKED if values are sent.
+% my $values;
+% if (ref $opt{'value'} eq ref {} ) { $values = $opt{'value'}; }
+% else { foreach my $value ( split(/\,/, $opt{'value'}) ) { $values->{$value} = $value; } }
+% if ($values->{$targetnum}) { $checked = "CHECKED"; }
 
+% my $color_col = $opt{'color_col'};
+  <INPUT TYPE="checkbox" NAME="<% $checkbox_name %>" <% $checked %> VALUE="<% $targetnum %>"><DIV STYLE="display:inline; background-color: #<% $color_col ? $target_obj->$color_col : '' %>">
+% if ( $opt{'target_link'} ) { 
     <A HREF="<% $opt{'target_link'} %><% $targetnum %>">
-%
-%
 %  }
 %  
 <% $targetnum %>: