customer classification, RT#6376
authorivan <ivan>
Thu, 29 Oct 2009 19:08:13 +0000 (19:08 +0000)
committerivan <ivan>
Thu, 29 Oct 2009 19:08:13 +0000 (19:08 +0000)
FS/FS/cust_main.pm
httemplate/elements/select-table.html
httemplate/search/cust_main.html
httemplate/search/report_cust_main.html

index fdcd801..e192ef9 100644 (file)
@@ -8328,6 +8328,21 @@ sub search_sql {
   }
 
   ###
+  # classnum
+  ###
+
+  my @classnum = grep /^(\d*)$/, @{ $params->{'classnum'} };
+  if ( @classnum ) {
+    push @where, '( '. join(' OR ', map {
+                                          $_ ? "cust_main.classnum = $_"
+                                             : "cust_main.classnum IS NULL"
+                                        }
+                                        @classnum
+                           ).
+                 ' )';
+  }
+
+  ###
   # payby
   ###
 
index 10a8b27..45585a8 100644 (file)
@@ -86,7 +86,7 @@ Example:
 % {
 %   my $recvalue = $record->$key();
     <OPTION VALUE="<% $recvalue %>"
-            <% ref($value) && $value->{$recvalue} || $value == $recvalue
+            <% $opt{'all_selected'} || ref($value) && $value->{$recvalue} || $value == $recvalue
                ? ' SELECTED' : ''
             %>
     ><% $opt{'label_showkey'} ? "$recvalue: " : '' %>
index f098fd3..186467e 100755 (executable)
@@ -54,9 +54,8 @@ for my $param ( @scalars ) {
 }
 
 #lists
-for my $param (qw( payby )) {
-  $search_hash{$param} = [ $cgi->param($param) ]
-    if $cgi->param($param);
+for my $param (qw( classnum payby )) {
+  $search_hash{$param} = [ $cgi->param($param) ];
 }
 
 ###
index f139d4b..92df58c 100755 (executable)
               )
     %>
 
+    <% include( '/elements/tr-select-cust_class.html',
+                  'label'        => 'Class',
+                  'multiple'     => 1,
+                  'pre_options'  => [ '' => '(none)' ],
+                  'all_selected' => 1,
+              )
+    %>
 
 %   foreach my $field (qw( signupdate )) {