diff options
author | Mark Wells <mark@freeside.biz> | 2016-04-29 17:00:54 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2016-04-29 17:01:08 -0700 |
commit | d66fbc1d7e47e4356cedf92a397d38aa6b8cb7a4 (patch) | |
tree | cd9dfcc8a7a24d17ca2382a8bcf6cfd46703b6ef | |
parent | 5ab1b3c3e1c07caa86051c757f6827abd0e44e63 (diff) |
pass all event search parameters to reprint/re-email actions, #38426
-rw-r--r-- | FS/FS/cust_event.pm | 11 | ||||
-rw-r--r-- | httemplate/search/cust_event.html | 104 |
2 files changed, 56 insertions, 59 deletions
diff --git a/FS/FS/cust_event.pm b/FS/FS/cust_event.pm index 3edfaef..93743c4 100644 --- a/FS/FS/cust_event.pm +++ b/FS/FS/cust_event.pm @@ -12,7 +12,7 @@ use FS::cust_bill; use FS::cust_pay; use FS::svc_acct; -$DEBUG = 0; +$DEBUG = 1; $me = '[FS::cust_event]'; =head1 NAME @@ -387,11 +387,14 @@ sub search_sql_where { #} # huh? - if ( $param->{'event_status'} ) { - + my @event_status = ref($param->{'event_status'}) + ? @{ $param->{'event_status'} } + : split(',', $param->{'event_status'}); + if ( @event_status ) { my @status; + my ($done_Y, $done_N); - foreach (@{ $param->{'event_status'} }) { + foreach (@event_status) { if ($_ eq 'done_Y') { $done_Y = 1; } elsif ( $_ eq 'done_N' ) { diff --git a/httemplate/search/cust_event.html b/httemplate/search/cust_event.html index 241a026..122bee0 100644 --- a/httemplate/search/cust_event.html +++ b/httemplate/search/cust_event.html @@ -1,6 +1,6 @@ <& elements/search.html, 'title' => $title, - 'html_init' => $html_init, + 'html_init' => include('.init'), 'menubar' => $menubar, 'name' => 'billing events', 'query' => $sql_query, @@ -140,6 +140,11 @@ my $trigger_link = sub { }; </%once> +<%shared> +my @scalars = qw( agentnum status custnum invnum pkgnum failed ); +my @lists = qw( eventpart event_status ); +my %search; +</%shared> <%init> my $curuser = $FS::CurrentUser::CurrentUser; @@ -159,17 +164,12 @@ if ( $statuses[0] eq 'failed' and !defined($statuses[1]) ) { $title = 'Failed billing events'; } -my %search = (); - -my @scalars = qw( agentnum status custnum invnum pkgnum failed ); for my $param (@scalars) { $search{$param} = scalar( $cgi->param($param) ) if $cgi->param($param); } -$search{event_status} = \@statuses; #lists -my @lists = qw( eventpart ); foreach my $param (@lists) { $search{$param} = [ $cgi->param($param) ]; } @@ -209,55 +209,6 @@ my $count_sql = "SELECT COUNT(*) FROM cust_event $join $where"; my $conf = new FS::Conf; -my @params = ( @scalars, qw( beginning ending ) ); - -my $html_init = join("\n", map { - ( my $action = $_ ) =~ s/_$//; - include('/elements/progress-init.html', - $_.'form', - [ 'action', @params ], - "../misc/${_}events.cgi", - { 'message' => "Invoices re-${action}ed" }, #would be nice to show the number of them, but... - $_, #key - ), - qq!<FORM NAME="${_}form">!, - qq!<INPUT TYPE="hidden" NAME="action" VALUE="$_">!, #not used though - ( map { my $value = encode_entities( $search{$_} ); - qq(<INPUT TYPE="hidden" NAME="$_" VALUE="$value">); - } - @params #keys %search - ), - ( map { my $value = encode_entities( join(',', @{ $search{$_} } ) ); - qq(<INPUT TYPE="hidden" NAME="$_" VALUE="$value">); - } - @lists - ), - qq!</FORM>! -} qw( print_ email_ fax_ ) ). - -'<SCRIPT TYPE="text/javascript"> - -function confirm_print_process() { - if ( ! confirm("Are you sure you want to reprint these invoices?") ) { - return; - } - print_process(); -} -function confirm_email_process() { - if ( ! confirm("Are you sure you want to re-email these invoices?") ) { - return; - } - email_process(); -} -function confirm_fax_process() { - if ( ! confirm("Are you sure you want to re-fax these invoices?") ) { - return; - } - fax_process(); -} - -</SCRIPT>'; - my $menubar = []; if ( $curuser->access_right('Resend invoices') ) { @@ -282,3 +233,46 @@ my $link_cust = sub { }; </%init> +<%def .init> +% # action is part of the target URL, don't need to pass it as a param +% foreach my $action (qw(print email fax)) { +<& /elements/progress-init.html, + $action.'_form', + [ @scalars, @lists, 'beginning', 'ending' ], + "../misc/${action}_events.cgi", + { 'message' => "Invoices re-${action}ed" }, #would be nice to show the number of them, but... + $action.'_', #key +&> +<FORM NAME="<% $action %>_form"> +% foreach my $param (@scalars, 'beginning', 'ending') { + <INPUT TYPE="hidden" NAME="<% $param %>" VALUE="<% $search{$param} |h %>"> +% } +% foreach my $param (@lists) { +% foreach my $value (@{ $search{$param} }) { + <INPUT TYPE="hidden" NAME="<% $param %>" VALUE="<% $value |h %>"> +% } +% } +</FORM> +% } # foreach $action +<SCRIPT TYPE="text/javascript"> + +function confirm_print_process() { + if ( ! confirm("Are you sure you want to reprint these invoices?") ) { + return; + } + print_process(); +} +function confirm_email_process() { + if ( ! confirm("Are you sure you want to re-email these invoices?") ) { + return; + } + email_process(); +} +function confirm_fax_process() { + if ( ! confirm("Are you sure you want to re-fax these invoices?") ) { + return; + } + fax_process(); +} +</SCRIPT> +</%def> |