diff options
author | jeff <jeff> | 2008-02-29 17:57:38 +0000 |
---|---|---|
committer | jeff <jeff> | 2008-02-29 17:57:38 +0000 |
commit | 162a742110ede26cbb904b1f38c6a99e4b692eef (patch) | |
tree | 406b9f557c3f38dcd1d1ec611f53d4efe135f14c /conf | |
parent | 9e6c6f13593dd5137ea920f49d36dc4321c9e99c (diff) |
refactor print_*; invoice sections by package class; could still stand some more refactoring
Diffstat (limited to 'conf')
-rw-r--r-- | conf/invoice_html | 78 | ||||
-rw-r--r-- | conf/invoice_latex | 96 |
2 files changed, 113 insertions, 61 deletions
diff --git a/conf/invoice_html b/conf/invoice_html index b13b08f46..9d97243e4 100644 --- a/conf/invoice_html +++ b/conf/invoice_html @@ -68,31 +68,67 @@ </table> - <p><b><font size="+1">C</font><font size="+0">HARGES</font></b> - <p> - <table class="invoice_longtable" CELLSPACING=0 WIDTH="100%"> - <tr> - <th align="center">Ref</th> - <th align="left">Description</th> - <th align="right">Amount</th> - </tr> - <%= + <%= + foreach my $section ( @sections ) { + $OUT .= '<table><tr><td>'; + if ($section->{'description'}) { + $OUT .= + '<p><b><font size="+1">'. uc(substr($section->{'description'},0,1)). + '</font><font size="+0">'. uc(substr($section->{'description'},1)). + '</font></b>'. + '<p>'; + }else{ + $OUT .= + '<p><b><font size="+1">C</font><font size="+0">HARGES</font></b>'. + '<p>'; + } + $OUT .= '</td></tr></table>'; - foreach my $line ( @detail_items ) { $OUT .= - '<tr class="invoice_desc">'. - '<td align="center">'. $line->{'ref'}. '</td>'. - '<td align="left">'. $line->{'description'}. '</td>'. - '<td align="right">'. $line->{'amount'}. '</td>'. - '</tr>' - ; - foreach my $ext_desc ( @{$line->{'ext_description'} } ) { + '<table class="invoice_longtable" CELLSPACING=0 WIDTH="100%">'. + '<tr>'. + '<th align="center">Ref</th>'. + '<th align="left">Description</th>'. + '<th align="right">Amount</th>'. + '</tr>'; + + foreach my $line ( + grep { ( scalar(@sections) > 1 + ? $section->{'description'} eq $_->{'section'}->{'description'} + : 1 + ) } + @detail_items ) + { $OUT .= - '<tr class="invoice_extdesc">'. - '<td></td>'. - '<td align="left">- '. $ext_desc. '</td>'. - '<td></td>'. + '<tr class="invoice_desc">'. + '<td align="center">'. $line->{'ref'}. '</td>'. + '<td align="left">'. $line->{'description'}. '</td>'. + '<td align="right">'. $line->{'amount'}. '</td>'. '</tr>' + ; + foreach my $ext_desc ( @{$line->{'ext_description'} } ) { + $OUT .= + '<tr class="invoice_extdesc">'. + '<td></td>'. + '<td align="left">- '. $ext_desc. '</td>'. + '<td></td>'. + '</tr>' + } + } + + + if (scalar(@sections) > 1) { + my $style = 'border-top: 3px solid #000000;'. + 'border-bottom: 3px solid #000000;'; + $OUT .= + '<tr class="invoice_totaldesc">'. + qq(<td style="$style"> </td>). + qq(<td align="left" style="$style">). + $section->{'description'}. ' Total </td>'. + qq(<td align="right" style="$style">). + $section->{'subtotal'}. '</td>'. + '</tr>' + ; } } diff --git a/conf/invoice_latex b/conf/invoice_latex index 660c4d586..6a81c4c2e 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -187,58 +187,74 @@ Terms: [@-- $terms --@]\\ \end{minipage}}
\vspace{1.5cm}
%
-\section*{\textsc{Charges}}
-\begin{longtable}{clr}
-\hline
-\rule{0pt}{2.5ex}
-\makebox[1.4cm]{\textbf{Ref}} &
-\makebox[12.8cm][l]{\textbf{Description}} &
-\makebox[2.5cm][r]{\textbf{Amount}} \\
-\hline
-\endfirsthead
-\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\
-\hline
-\rule{0pt}{2.5ex}
-\makebox[1.4cm]{\textbf{Ref}} &
-\makebox[12.8cm][l]{\textbf{Description}} &
-\makebox[2.5cm][r]{\textbf{Amount}} \\
-\hline
-\endhead
-\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\
-\endfoot
-\hline
[@--
+ foreach my $section ( @sections ) {
+ $OUT .= '\section*{\textsc{';
+ $OUT .= ($section->{'description'}) ? $section->{'description'} : 'Charges';
+ $OUT .= '}}\begin{longtable}{clr}';
+ $OUT .= '\hline';
+ $OUT .= '\rule{0pt}{2.5ex}';
+ $OUT .= '\makebox[1.4cm]{\textbf{Ref}} & ';
+ $OUT .= '\makebox[12.8cm][l]{\textbf{Description}} & ';
+ $OUT .= '\makebox[2.5cm][r]{\textbf{Amount}} \\\\';
+ $OUT .= '\hline';
+ $OUT .= '\endfirsthead';
+ $OUT .= '\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\\\';
+ $OUT .= '\hline';
+ $OUT .= '\rule{0pt}{2.5ex}';
+ $OUT .= '\makebox[1.4cm]{\textbf{Ref}} & ';
+ $OUT .= '\makebox[12.8cm][l]{\textbf{Description}} & ';
+ $OUT .= '\makebox[2.5cm][r]{\textbf{Amount}} \\\\';
+ $OUT .= '\hline';
+ $OUT .= '\endhead';
+ $OUT .= '\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\\\';
+ $OUT .= '\endfoot';
+ $OUT .= '\hline';
- foreach my $line (@total_items) {
- $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
- '{' . $line->{'total_amount'} . '}' . "\n";
- }
+ if (scalar(@sections) > 1) {
+ $OUT .= '\FStotaldesc{' . $section->{'description'} . ' Total}' .
+ '{' . $section->{'subtotal'} . '}' . "\n";
+ }
---@]
-\hline
-\endlastfoot
-[@--
+ if ($section == $sections[$#sections]) {
+ foreach my $line (@total_items) {
+ $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
+ '{' . $line->{'total_amount'} . '}' . "\n";
+ }
+ }
- foreach my $line (@detail_items) {
- my $ext_description = $line->{'ext_description'};
+ $OUT .= '\hline';
+ $OUT .= '\endlastfoot';
- # Don't break-up small packages.
- my $rowbreak = @$ext_description < 5 ? '*' : '';
+ foreach my $line (
+ grep { ( scalar( @sections ) > 1
+ ? $section->{'description'} eq $_->{'section'}->{'description'}
+ : 1
+ ) }
+ @detail_items )
+ {
+ my $ext_description = $line->{'ext_description'};
+
+ # Don't break-up small packages.
+ my $rowbreak = @$ext_description < 5 ? '*' : '';
+
+ $OUT .= "\\hline\n";
+ $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' .
+ '{' . $line->{'amount'} . "}${rowbreak}\n";
- $OUT .= "\\hline\n";
- $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' .
- '{' . $line->{'amount'} . "}${rowbreak}\n";
+ foreach my $ext_desc (@$ext_description) {
+ $ext_desc = substr($ext_desc, 0, 80) . '...'
+ if (length($ext_desc) > 80);
+ $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";
+ }
- foreach my $ext_desc (@$ext_description) {
- $ext_desc = substr($ext_desc, 0, 80) . '...'
- if (length($ext_desc) > 80);
- $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";
}
+ $OUT .= '\end{longtable}';
+
}
--@]
-\end{longtable}
\vfill
[@-- $notes --@]
\end{document}
|