summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2018-04-19 20:02:26 -0500
committerMitch Jackson <mitch@freeside.biz>2018-04-19 20:02:26 -0500
commitb1ff95e68f17199e2289e1515e3a3b836cd195c8 (patch)
treec6b8e81892a0aee2efc873f87917ce153577f58d
parent977188119859438f213f1c35cafdbf5a28a258a6 (diff)
RT# 79636 Location Summary Invoice Footer
-rw-r--r--FS/FS/Template_Mixin.pm4
-rw-r--r--conf/invoice_html55
-rw-r--r--conf/invoice_latex58
3 files changed, 116 insertions, 1 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index 7ea22b55d..646312502 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -933,7 +933,9 @@ sub print_generic {
my $unsquelched = $params{unsquelch_cdr} || $cust_main->squelch_cdr ne 'Y';
my $multisection = $self->has_sections;
- $invoice_data{'multisection'} = $multisection;
+ if ( $multisection ) {
+ $invoice_data{multisection} = $conf->config($tc.'sections_method') || 1;
+ }
my $late_sections;
my $extra_sections = [];
my $extra_lines = ();
diff --git a/conf/invoice_html b/conf/invoice_html
index 935c94346..1241f870e 100644
--- a/conf/invoice_html
+++ b/conf/invoice_html
@@ -327,6 +327,61 @@
</table>
<br><br>
+<%=
+
+ my @location_summary_sections =
+ grep {
+ ref $_->{location}
+ && $_->{locationnum}
+ && $_->{description}
+ && $_->{description} ne $finance_section
+ } @sections;
+
+ if ( $multisection eq 'location' && scalar(@location_summary_sections) > 1 ) {
+
+ $OUT .= '
+ <hr>
+ <table width="100%">
+ <tr>
+ <td>
+ <p class="allcaps">
+ <b>'.emt('Summary Of New Charges By Location').'</b>
+ <p>
+ </td>
+ </tr>
+ </table>
+
+ <table class="invoice_longtable" cellspacing="0" width="100%">
+ <thead>
+ <tr>
+ <th></th>
+ <th align="left">'.emt('Location').'</th>
+ <th align="right">'.emt('Amount').'</th>
+ </tr>
+ </thead>
+ <tbody>
+ ';
+
+ for my $section (@location_summary_sections) {
+ next unless $section->{description};
+ $OUT .= '
+ <tr class="invoice_desc_more">
+ <td></td>
+ <td>'.$section->{description}.'</td>
+ <td align="right">'. $section->{subtotal} .'</td>
+ </tr>
+ ';
+ }
+
+ $OUT .= '
+ <tr class="invoice_desc"><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
+ </tbody>
+ </table>
+ <br><br>
+ ';
+
+} %>
+
<%= length($summary)
? ''
: ( $smallernotes
diff --git a/conf/invoice_latex b/conf/invoice_latex
index a710cddec..478405ebd 100644
--- a/conf/invoice_latex
+++ b/conf/invoice_latex
@@ -447,6 +447,64 @@
}
--@]
+[@--
+
+ my @location_summary_sections =
+ grep {
+ ref $_->{location}
+ && $_->{locationnum}
+ && $_->{description}
+ && $_->{description} ne $finance_section
+ } @sections;
+ if ( $multisection eq 'location' && scalar(@location_summary_sections) > 1 ) {
+
+$OUT .= '
+ \hline
+ \section*{}
+ \captionsetup{singlelinecheck=false,justification=raggedright,font={Large,sc,bf}}
+ \ifthenelse{\equal{\thepage}{1}}{\setlength{\LTextracouponspace}{\extracouponspace}}{\setlength{\LTextracouponspace}{0pt}}
+
+ \begin{longtable}{cllllllr}
+ \caption*{ '. emt('Summary of New Charges by Location') .' }
+ \\\\
+
+ \hline
+ \rule{0pt}{2.5ex}
+ \makebox[1.4cm]{} &
+ \multicolumn{6}{l}{
+ \truncate{13.0cm}{\textbf{'. emt('Location') .'}}
+ } &
+ \makebox[1.6cm][r]{\textbf{'. emt('Amount') .'}} \\\\
+ \hline
+
+ \endfirsthead
+ \multicolumn{7}{r}{\rule{0pt}{2.5ex}'. emt('Continued from previous page') .'}
+ \\
+ \FShead
+ \endhead
+ \multicolumn{7}{r}{\rule{0pt}{2.5ex}'. emt('Continued on next page...') .'}
+ \\
+ \endfoot
+ \hline
+ \endlastfoot
+ \hline
+ ';
+
+ for my $section (@location_summary_sections) {
+ $OUT.= '
+ \rule{0pt}{2.5ex}
+ \makebox[1.4cm]{} &
+ \multicolumn{6}{l}{
+ \truncate{12.0cm}{\textbf{'. $section->{description} .'}}
+ } &
+ \makebox[1.6cm][r]{\textbf{'. $section->{subtotal} .'}} \\\\
+ ';
+ }
+
+ $OUT .= '\end{longtable}';
+ }
+--@]
+
\vfill
\begin{minipage}[t]{\textwidth}
[@-- length($summary)