add payby selection to adv. customer search
authorivan <ivan>
Sat, 1 Mar 2008 22:23:42 +0000 (22:23 +0000)
committerivan <ivan>
Sat, 1 Mar 2008 22:23:42 +0000 (22:23 +0000)
httemplate/elements/select-payby.html [new file with mode: 0644]
httemplate/elements/tr-select-payby.html [new file with mode: 0644]
httemplate/search/cust_main.html
httemplate/search/report_cust_main.html

diff --git a/httemplate/elements/select-payby.html b/httemplate/elements/select-payby.html
new file mode 100644 (file)
index 0000000..3f19cb9
--- /dev/null
@@ -0,0 +1,40 @@
+<SELECT NAME="<% $opt{'field'} || 'payby' %>"
+        <% $opt{'multiple'} ? 'MULTIPLE' : '' %>
+        <% $onchange %>
+>
+
+% unless ( $opt{'multiple'} ) {
+    <OPTION VALUE="" <% '' eq $value ? 'SELECTED' : '' %> >all
+% }
+
+% foreach my $option ( keys %{ $opt{'paybys'} } ) { 
+%   my $sel = ( ref($value) && $value->{$option} ) || $option eq $value;
+
+    <OPTION VALUE="<% $option %>"
+            <% $sel ? 'SELECTED' : '' %>
+    ><% $opt{'paybys'}->{$option} %>
+
+% } 
+
+</SELECT>
+
+<%init>
+
+my %opt = @_;
+
+my $method = 'payby';
+$method = 'cust_payby'  if $opt{'payby_type'} eq 'cust';
+#$method = 'event_payby' if $opt{'payby_type'} eq 'event';
+#$method = 'pay_payby'   if $opt{'payby_type'} eq 'pay';
+
+unless ( $opt{'paybys'} ) {
+  tie %{ $opt{'paybys'} }, 'Tie::IxHash', FS::payby->$method();
+}
+
+my $onchange = $opt{'onchange'}
+                 ? 'onChange="'. $opt{'onchange'}. '(this)"'
+                 : '';
+
+my $value = $opt{'curr_value'} || $opt{'value'};
+
+</%init>
diff --git a/httemplate/elements/tr-select-payby.html b/httemplate/elements/tr-select-payby.html
new file mode 100644 (file)
index 0000000..354eb55
--- /dev/null
@@ -0,0 +1,37 @@
+<% include ('tr-td-label.html', 'label' => 'Payment type', @_ ) %>
+
+  <TD <% $style %>>
+
+    <% include( '/elements/select-payby.html', 
+                  'curr_value'  => $curr_value,
+                  %opt
+              )
+    %>
+
+  </TD>
+
+</TR>
+
+<%init>
+
+my %opt = @_;
+
+#my $onchange = $opt{'onchange'}
+#                 ? 'onChange="'. $opt{'onchange'}. '(this)"'
+#                 : '';
+
+my $style = $opt{'cell_style'} ? 'STYLE="'. $opt{'cell_style'}. '"' : '';
+
+my $method = 'payby2longname';
+$method = 'cust_payby2longname'  if $opt{'payby_type'} eq 'cust';
+#$method = 'event_payby2longname' if $opt{'payby_type'} eq 'event';
+#$method = 'pay_payby2longname'   if $opt{'payby_type'} eq 'pay';
+
+unless ( $opt{'paybys'} ) {
+  tie %{ $opt{'paybys'} }, 'Tie::IxHash', FS::payby->$method();
+}
+
+my $curr_value = $opt{'curr_value'} || $opt{'value'};
+
+</%init>
+
index 00fd153..5fb5dda 100755 (executable)
@@ -68,6 +68,17 @@ foreach my $field (qw( signupdate )) {
 
 }
 
+###
+# payby
+###
+
+my @payby = grep /^([A-Z]{4})$/, $cgi->param('payby');
+if ( @payby ) {
+  push @where, '( '. join(' OR ', map "cust_main.payby = '$_'", @payby). ' )';
+}
+
+###
+
 ##
 # amounts
 ##
index 50bc67b..758c269 100755 (executable)
       </TR>
 
 %   }
+
+    <% include( '/elements/tr-select-payby.html',
+                  'payby_type' => 'cust',
+                  'multiple'   => 1,
+                  'curr_value' => { map { $_ => 1 } FS::payby->cust_payby },
+              )
+    %>
     
     <% include( '/elements/tr-input-lessthan_greaterthan.html',
-                  label   => 'Current Balance',
+                  label   => 'Current balance',
                   field   => 'current_balance',
               )
     %>
@@ -69,7 +76,7 @@ die "access denied"
 <%once>
 
 my %label = (
-  'signupdate'     => 'Signup Date',
+  'signupdate'     => 'Signup date',
 );
 
 </%once>