[freeside-commits] branch master updated. 8ff31f04ed1e2da3e09c56e72ab0f879d0b7ab75

Mark Wells mark at 420.am
Fri Apr 29 17:26:15 PDT 2016


The branch, master has been updated
       via  8ff31f04ed1e2da3e09c56e72ab0f879d0b7ab75 (commit)
      from  3df15084eeaacb2326ffb66ecf74216e950f3060 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8ff31f04ed1e2da3e09c56e72ab0f879d0b7ab75
Author: Mark Wells <mark at freeside.biz>
Date:   Fri Apr 29 17:00:54 2016 -0700

    pass all event search parameters to reprint/re-email actions, #38426

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>

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_event.pm               |   11 ++--
 httemplate/search/cust_event.html |  104 +++++++++++++++++--------------------
 2 files changed, 56 insertions(+), 59 deletions(-)




More information about the freeside-commits mailing list