combine ticket notification scrips, #15353
[freeside.git] / httemplate / elements / select-table.html
index 3e25c9f..c0dde74 100644 (file)
@@ -29,6 +29,9 @@ Example:
     #or
     'records'        => \@records, #instead of search params
 
+    #instead of the primary key... only for special cases
+    'value_col'      => 'columnname',
+
     #basic params controlling the resulting <SELECT>
     'pre_options'    => [ 'value' => 'option' ], #before normal options
     'post_options'   => [ 'value' => 'option' ], #after normal options
@@ -91,7 +94,7 @@ Example:
 % {
 %   my $recvalue = $record->$key();
     <OPTION VALUE="<% $recvalue %>"
-            <% $opt{'all_selected'} || ref($value) && $value->{$recvalue} || $value == $recvalue
+            <% $opt{'all_selected'} || ref($value) && $value->{$recvalue} || $value && $value eq $recvalue # not == because of value_col
                ? ' SELECTED' : ''
             %>
 %           foreach my $att ( @{ $opt{'extra_option_attributes'} } ) {
@@ -121,7 +124,7 @@ Example:
 
 my( %opt ) = @_;
 
-warn "elements/select-table.html: \n". Dumper(%opt)
+warn "elements/select-table.html: \n". Dumper(\%opt)
   if exists $opt{debug} && $opt{debug};
 
 $opt{'extra_option_attributes'} ||= [];
@@ -138,7 +141,7 @@ if ( $opt{'onchange'} ) {
 my $dbdef_table = dbdef->table($opt{'table'})
   or die "can't find dbdef for ". $opt{'table'}. " table\n";
 
-my $key = $dbdef_table->primary_key; #? $opt{'primary_key'} ||
+my $key = $opt{'value_col'} || $dbdef_table->primary_key;
 
 my $name_col = $opt{'name_col'};