diff options
| author | Mitch Jackson <mitch@freeside.biz> | 2018-04-20 00:29:09 +0000 |
|---|---|---|
| committer | Mitch Jackson <mitch@freeside.biz> | 2018-04-20 00:29:09 +0000 |
| commit | 694cd9058a9f1a89f0ffd2f2881ccc8491aebedb (patch) | |
| tree | 9fb0e9f25c582b4b28b173f573693f2ab8c39eb1 | |
| parent | 5bd4fea086905ddcc1c2a157945258b79852d305 (diff) | |
RT# 79636 Location Summary Invoice Footer
| -rw-r--r-- | FS/FS/Template_Mixin.pm | 4 | ||||
| -rw-r--r-- | conf/invoice_html | 56 | ||||
| -rw-r--r-- | conf/invoice_latex | 58 |
3 files changed, 117 insertions, 1 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index f32412212..5dc889960 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -937,7 +937,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 $section_with_taxes = 1 if $conf->config_bool('invoice_sections_with_taxes', $cust_main->agentnum); my $late_sections; diff --git a/conf/invoice_html b/conf/invoice_html index 935c94346..555d1d944 100644 --- a/conf/invoice_html +++ b/conf/invoice_html @@ -327,6 +327,62 @@ </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> </td><td> </td><td> </td></tr> + </tbody> + </table> + <br><br> + '; + +} %> + + <%= length($summary) ? '' : ( $smallernotes diff --git a/conf/invoice_latex b/conf/invoice_latex index 1cbed4a6d..60d2580c7 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -434,6 +434,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)
|
