first pass at sales reports per agent and package class
[freeside.git] / httemplate / elements / select-table.html
index 10cc8b9..96f0177 100644 (file)
   # 'empty_label' => '', #better specify it though, the default might change
   # 'hashref'     => {},
   # 'records'     => \@records, #instead of hashref
+  # 'pre_options' => [ 'value' => 'option' ], #before normal options
 
   my( %opt ) = @_;
 
+  #warn "***** select-table: \n". Dumper(%opt);
+
   my $key = dbdef->table($opt{'table'})->primary_key; #? $opt{'primary_key'} ||
 
   my $name_col = $opt{'name_col'};
     @records = qsearch( $opt{'table'}, ( $opt{'hashref'} || {} ) );
   }
 
+  my @pre_options = $opt{'pre_options'} ? @{ $opt{'pre_options'} } : ();
+
 %>
 
 <SELECT NAME="<%= $key %>">
 
-  <OPTION VALUE=""><%= $opt{'empty_label'} || 'all' %></OPTION>
+  <% while ( @pre_options ) { %>
+    <OPTION VALUE="<%= shift(@pre_options) %>"><%= shift(@pre_options) %>
+  <% } %>
+
+  <OPTION VALUE=""><%= $opt{'empty_label'} || 'all' %>
 
   <% foreach my $record ( sort { $a->$name_col() cmp $b->$name_col() }
                                @records