diff options
| -rw-r--r-- | httemplate/elements/select-payby.html | 40 | ||||
| -rw-r--r-- | httemplate/elements/tr-select-payby.html | 37 | ||||
| -rwxr-xr-x | httemplate/search/cust_main.html | 11 | ||||
| -rwxr-xr-x | httemplate/search/report_cust_main.html | 11 | 
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> | 
