[freeside-commits] branch FREESIDE_4_BRANCH updated. a46fd8d22c2af263e8ab10c496f5bfa8cb0c5c88

Jonathan Prykop jonathan at 420.am
Tue Mar 8 11:50:36 PST 2016


The branch, FREESIDE_4_BRANCH has been updated
       via  a46fd8d22c2af263e8ab10c496f5bfa8cb0c5c88 (commit)
      from  7cccefa1dca60909499b11dff96124a793c4c92d (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 a46fd8d22c2af263e8ab10c496f5bfa8cb0c5c88
Author: Jonathan Prykop <jonathan at freeside.biz>
Date:   Mon Feb 29 11:03:41 2016 -0600

    RT#27274: View/print/resend statement (sent as payment receipt)

diff --git a/httemplate/misc/send-invoice.cgi b/httemplate/misc/send-invoice.cgi
index 4358753..dea0810 100644
--- a/httemplate/misc/send-invoice.cgi
+++ b/httemplate/misc/send-invoice.cgi
@@ -25,6 +25,7 @@ my $invnum      = $cgi->param('invnum');
 my $template    = $cgi->param('template');
 my $notice_name = $cgi->param('notice_name') if $cgi->param('notice_name');
 my $method      = $cgi->param('method');
+my $no_coupon   = $cgi->param('no_coupon');
 my $mode;
 if ( $cgi->param('mode') =~ /^(\d+)$/ ) {
   $mode = $1;
@@ -42,6 +43,7 @@ $cust_bill->set('mode' => $mode) if $mode;
 #these methods die instead of return errors, so, handle that without a backtrace
 eval { $cust_bill->$method({ 'template'    => $template,
                              'notice_name' => $notice_name,
+                             'no_coupon'   => $no_coupon,
                           }); 
      };
 my $error = $@;
diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi
index d73edbd..cf0c319 100755
--- a/httemplate/view/cust_bill.cgi
+++ b/httemplate/view/cust_bill.cgi
@@ -110,21 +110,25 @@ function areyousure(href, message) {
 
 % } 
 
-% if ( $conf->exists('invoice_latex') ) { 
+% my $br = 0;
+% if ( $conf->exists('invoice_latex') ) {
 
   <A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>"><% mt('View typeset invoice PDF') |h %></A>
-  <BR><BR>
+
+%   $br++;
 % } 
 
-% my $br = 0;
-% if ( $cust_bill->num_cust_event ) { $br++;
-<A HREF="<%$p%>search/cust_event.html?invnum=<% $cust_bill->invnum %>">( <% mt('View invoice events') |h %> )</A> 
+% if ( $cust_bill->num_cust_event ) {
+<% $br ? '|' : '' %>
+<A HREF="<%$p%>search/cust_event.html?invnum=<% $cust_bill->invnum %>"><% mt('View invoice events') |h %></A> 
+%   $br++;
 % }
 
 % my @modes = grep {! $_->disabled} 
 %   $cust_bill->cust_main->agent->invoice_modes;
-% if ( @modes ) {
-( <% mt('View as:') %>
+% if ( @modes || $include_statement_template ) {
+<% $br ? '|' : '' %>
+<% mt('View as:') %>
 <FORM STYLE="display:inline" ACTION="<% $cgi->url %>" METHOD="GET">
 <INPUT NAME="invnum" VALUE="<% $invnum %>" TYPE="hidden">
 <& /elements/select-table.html,
@@ -135,16 +139,18 @@ function areyousure(href, message) {
   name_col    => 'modename',
   onchange    => 'change_invoice_mode',
   empty_label => '(default)',
-&> )
+  $include_statement_template ? (
+    'post_options' => [ 'statement', '(statement)' ]
+  ) : ()
+&>
 <SCRIPT TYPE="text/javascript">
 function change_invoice_mode(obj) {
   obj.form.submit();
 }
 </SCRIPT>
-% $br++;
 % }
 
-<% $br ? '<BR><BR>' : '' %>
+<BR><BR>
 
 % if ( $conf->exists('invoice_html') && ! $cgi->param('plaintext') ) { 
   <% join('', $cust_bill->print_html(\%opt) ) %>
@@ -162,7 +168,7 @@ die "access denied"
 
 my $conf = FS::Conf->new;
 
-my( $invnum, $mode, $template, $notice_name );
+my( $invnum, $mode, $template, $notice_name, $no_coupon );
 my($query) = $cgi->keywords;
 if ( $query =~ /^((.+)-)?(\d+)$/ ) {
   $template = $2;
@@ -175,6 +181,15 @@ if ( $query =~ /^((.+)-)?(\d+)$/ ) {
   $mode = $cgi->param('mode');
 }
 
+if ($mode eq 'statement') {
+  $mode = undef;
+  $template = 'statement';
+  $notice_name = 'Statement';
+  $no_coupon = 1;
+}
+
+my $include_statement_template = $conf->config('payment_receipt_statement_mode') ? 0 : 1;
+
 my %opt = (
   'unsquelch_cdr' => $conf->exists('voip-cdr_email'),
   'template'      => $template,
@@ -208,5 +223,6 @@ my $link = "invnum=$invnum";
 $link .= ';mode=' . $mode if $mode;
 $link .= ';template='. uri_escape($template) if $template;
 $link .= ';notice_name='. $notice_name if $notice_name;
+$link .= ';no_coupon=1' if $no_coupon;
 
 </%init>
diff --git a/httemplate/view/elements/cust_bill-typeset b/httemplate/view/elements/cust_bill-typeset
index 778e538..ab5d298 100644
--- a/httemplate/view/elements/cust_bill-typeset
+++ b/httemplate/view/elements/cust_bill-typeset
@@ -6,7 +6,7 @@ die "access denied"
 
 my $type = shift;
 
-my( $invnum, $mode, $template, $notice_name );
+my( $invnum, $mode, $template, $notice_name, $no_coupon );
 my($query) = $cgi->keywords;
 if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore?
   $template = $2;
@@ -18,6 +18,7 @@ if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore?
   $template = $cgi->param('template');
   $notice_name = $cgi->param('notice_name');
   $mode = $cgi->param('mode');
+  $no_coupon = $cgi->param('no_coupon');
 }
 
 my $conf = new FS::Conf;
@@ -26,6 +27,7 @@ my %opt = (
   'unsquelch_cdr' => $conf->exists('voip-cdr_email'),
   'template'      => $template,
   'notice_name'   => $notice_name,
+  'no_coupon'     => $no_coupon,
 );
 
 my $cust_bill = qsearchs({

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

Summary of changes:
 httemplate/misc/send-invoice.cgi           |    2 ++
 httemplate/view/cust_bill.cgi              |   38 ++++++++++++++++++++--------
 httemplate/view/elements/cust_bill-typeset |    4 ++-
 3 files changed, 32 insertions(+), 12 deletions(-)




More information about the freeside-commits mailing list