communigate provisioning phase 2: Account:Settings: RulesAllowed, RPOPAllowed, MailTo...
[freeside.git] / httemplate / elements / select-table.html
index 10a8b27..c280c36 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
     'empty_label'    => '', #better specify it though, the default might change
@@ -86,7 +89,7 @@ Example:
 % {
 %   my $recvalue = $record->$key();
     <OPTION VALUE="<% $recvalue %>"
-            <% ref($value) && $value->{$recvalue} || $value == $recvalue
+            <% ref($value) && $value->{$recvalue} || $value && $value eq $recvalue # not == because of value_col
                ? ' SELECTED' : ''
             %>
     ><% $opt{'label_showkey'} ? "$recvalue: " : '' %>
@@ -118,7 +121,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'};