From bd39db7a960f64d6a19e714aa8d74ccab1fd04c5 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 1 Mar 2008 22:23:41 +0000 Subject: [PATCH] add payby selection to adv. customer search --- httemplate/elements/select-payby.html | 40 ++++++++++++++++++++++++++++++++ httemplate/elements/tr-select-payby.html | 37 +++++++++++++++++++++++++++++ httemplate/search/cust_main.html | 11 +++++++++ httemplate/search/report_cust_main.html | 11 +++++++-- 4 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 httemplate/elements/select-payby.html create mode 100644 httemplate/elements/tr-select-payby.html 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 @@ + + +<%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'}; + + 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', @_ ) %> + + > + + <% include( '/elements/select-payby.html', + 'curr_value' => $curr_value, + %opt + ) + %> + + + + + +<%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'}; + + + 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 @@ % } + + <% 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', ); -- 2.11.0