From: Jonathan Prykop Date: Mon, 29 Feb 2016 17:03:41 +0000 (-0600) Subject: RT#27274: View/print/resend statement (sent as payment receipt) X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=47f8f6a1868aeb155b985c10f332c5a9d455f032 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 435875348..dea081020 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 d73edbd79..cf0c3190a 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') ) { <% mt('View typeset invoice PDF') |h %> -

+ +% $br++; % } -% my $br = 0; -% if ( $cust_bill->num_cust_event ) { $br++; -( <% mt('View invoice events') |h %> ) +% if ( $cust_bill->num_cust_event ) { +<% $br ? '|' : '' %> +<% mt('View invoice events') |h %> +% $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:') %>
<& /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)' ] + ) : () +&> -% $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; diff --git a/httemplate/view/elements/cust_bill-typeset b/httemplate/view/elements/cust_bill-typeset index 778e538d1..ab5d298f0 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({