[freeside-commits] branch master updated. 47f8f6a1868aeb155b985c10f332c5a9d455f032

Jonathan Prykop jonathan at 420.am
Mon Feb 29 09:04:41 PST 2016


The branch, master has been updated
       via  47f8f6a1868aeb155b985c10f332c5a9d455f032 (commit)
      from  9ece94ae50eaa9c326fc801d904565bbbd28b9ed (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 47f8f6a1868aeb155b985c10f332c5a9d455f032
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