RT# 82137 - default payment amount now has processing fee in total if processing...
[freeside.git] / httemplate / elements / checkboxes-table.html
index cdfa58e..96d1303 100644 (file)
@@ -28,9 +28,9 @@
 %  my $target_pkey = dbdef->table($opt{'target_table'})->primary_key;
 %
 %  my( $source_pkey, $sourcenum, $source_obj );
-%  if ( $opt{'source_obj'} ) {
+%  if ( $opt{'source_obj'} || $opt{'object'} ) {
 %
-%    $source_obj = $opt{'source_obj'};
+%    $source_obj = $opt{'source_obj'} || $opt{'object'};
 %    #$source_table = $source_obj->dbdef_table->table;
 %    $source_pkey = $source_obj->dbdef_table->primary_key;
 %    $sourcenum = $source_obj->$source_pkey();
 %
 %  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(
+%                             'null_right' => $opt{'agent_null_right'}
+%                           );
+%  }
 %
 %  if ( $opt{'disable-able'} ) {
 %    $hashref->{'disabled'} = '';
 %
 %    $extra_sql .= ( $sourcenum && $source_pkey ) 
-%                    ? "OR $source_pkey = $sourcenum"
+%                    ? " OR $source_pkey = $sourcenum"
 %                    : '';
 %  }
 %
@@ -63,6 +69,7 @@
 %               'select'    => $opt{'target_table'}. '.*',
 %               'addl_from' => "LEFT JOIN $opt{'link_table'} USING ( $target_pkey )",
 %               'extra_sql' => $extra_sql,
+%               'order_by'  => $opt{'order_by'},
 %            })
 %   ) {
 %
 %                    ? 'CHECKED'
 %                    : '';
 %
+%     } elsif ( !$sourcenum ) { # newly created object, has no links yet
+%
+%       if ( ref($opt{'default'}) ) {
+%         $checked = $opt{'default'}->{$targetnum} ? 'CHECKED' : '';
+%       } else {
+%         $checked = $opt{'default'}               ? 'CHECKED' : ''
+%       }
+%
 %     } else {
 %
 %       $checked = qsearchs( $opt{'link_table'}, {
 %
 %     }
 %
-%
 
+% ### 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"; }
 
-  <INPUT TYPE="checkbox" NAME="<% $target_pkey. $targetnum %>" <% $checked %> VALUE="ON">
-% if ( $opt{'target_link'} ) { 
-
+% ### 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 %>: 
 % if ( $opt{'name_callback'} ) { 
 
 
 %  
 
 
-    <% $target_obj->$name_col() %><% $opt{'target_link'} ? '</A>' : '' %>
+    <% $target_obj->$name_col() %></DIV><% $opt{'target_link'} ? '</A>' : '' %>
 % } 
 % if ( $opt{'disable-able'} ) {