summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-04-29 17:00:54 -0700
committerMark Wells <mark@freeside.biz>2016-04-29 17:01:08 -0700
commitd66fbc1d7e47e4356cedf92a397d38aa6b8cb7a4 (patch)
treecd9dfcc8a7a24d17ca2382a8bcf6cfd46703b6ef
parent5ab1b3c3e1c07caa86051c757f6827abd0e44e63 (diff)
pass all event search parameters to reprint/re-email actions, #38426
-rw-r--r--FS/FS/cust_event.pm11
-rw-r--r--httemplate/search/cust_event.html104
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>