summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2008-03-01 22:23:41 +0000
committerivan <ivan>2008-03-01 22:23:41 +0000
commitbd39db7a960f64d6a19e714aa8d74ccab1fd04c5 (patch)
tree8211e13c8ebfed934312c3393b488060982e8ad2
parent162a742110ede26cbb904b1f38c6a99e4b692eef (diff)
add payby selection to adv. customer search
-rw-r--r--httemplate/elements/select-payby.html40
-rw-r--r--httemplate/elements/tr-select-payby.html37
-rwxr-xr-xhttemplate/search/cust_main.html11
-rwxr-xr-xhttemplate/search/report_cust_main.html11
4 files changed, 97 insertions, 2 deletions
diff --git a/httemplate/elements/select-payby.html b/httemplate/elements/select-payby.html
new file mode 100644
index 000000000..3f19cb952
--- /dev/null
+++ b/httemplate/elements/select-payby.html
@@ -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
index 000000000..354eb5580
--- /dev/null
+++ b/httemplate/elements/tr-select-payby.html
@@ -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>
+
diff --git a/httemplate/search/cust_main.html b/httemplate/search/cust_main.html
index 00fd1531a..5fb5ddad9 100755
--- a/httemplate/search/cust_main.html
+++ b/httemplate/search/cust_main.html
@@ -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
##
diff --git a/httemplate/search/report_cust_main.html b/httemplate/search/report_cust_main.html
index 50bc67b3d..758c26923 100755
--- a/httemplate/search/report_cust_main.html
+++ b/httemplate/search/report_cust_main.html
@@ -29,9 +29,16 @@
</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>