invoice sections by location, #23820
[freeside.git] / conf / invoice_latex
index 772c2eb..70b36b1 100644 (file)
@@ -19,7 +19,7 @@
 \r
 \documentclass[letterpaper]{article}\r
 \r
-\usepackage{fancyhdr,lastpage,ifthen,array,fslongtable,afterpage,caption,multirow,bigstrut}\r
+\usepackage{fancyhdr,lastpage,ifthen,array,longtable,afterpage,caption,multirow,bigstrut}\r
 \usepackage{graphicx}                  % required for logo graphic\r
 \usepackage[utf8]{inputenc}             % multilanguage support\r
 \usepackage[T1]{fontenc}\r
   \ifthenelse{\equal{\thepage}{1}}\r
   { % First page\r
     \begin{tabular}{ccc}\r
-    [@-- join(' & ', emt('Invoice date'), emt('Invoice #'), emt('Customer #') ) --@]\\\r
+    [@-- join(' & ', ( $no_date   ? '' : emt('Invoice date') ),\r
+                     ( $no_number ? '' : emt('Invoice #')    ),\r
+                     emt('Customer #')\r
+             )\r
+    --@]\\\r
     \vspace{0.2cm}\r
     \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]} \\\hline\r
     \rule{0pt}{5ex} &~~ \huge{\textsc{[@-- emt($notice_name) --@]}} & \\\r
 \newcommand{\FSdescriptionlength} { [@-- $unitprices ? '8.2cm' : '12.8cm' --@] }\r
 \newcommand{\FSdescriptioncolumncount} { [@-- $unitprices ? '4' : '6' --@] }\r
 \newcommand{\FSunitcolumns}{ [@-- \r
-  $unitprices \r
-  ? '\makebox[2.5cm][l]{\textbf{~~'.emt('Unit Price').'}}&\makebox[1.4cm]{\textbf{~'.emt('Quantity').'}}&' \r
+  $unitprices\r
+  ? '\makebox[2.5cm][r]{\textbf{~~' . emt('Unit Price') . '}} &' .\r
+    '\makebox[1.4cm]{\textbf{~' . emt('Quantity') . '}} & ' \r
   : '' --@] }\r
 \r
 \newcommand{\FShead}{\r
 \newcommand{\FSdesc}[5]{\r
   \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} &\r
   \multicolumn{[@-- $unitprices ? '4' : '6' --@]}{l}{\textbf{#2}} &\r
-[@-- $unitprices ? '  \multicolumn{1}{l}{\textbf{#3}} &'."\n".\r
+[@-- $unitprices ? '  \multicolumn{1}{r}{\textbf{\dollar #3}} &'."\n".\r
                    '  \multicolumn{1}{r}{\textbf{#4}} &'."\n"\r
                  : ''\r
 --@]\r
         if $coupon;\r
       $OUT .= '\begin{longtable}{cllllllr}';\r
       $OUT .= '\caption*{ ';\r
-      $OUT .= ($section->{'description'}) ? $section->{'description'}: emt('Charges');\r
+      if ($section->{'location'}) {\r
+        $OUT .= $section->{'location'}{'address1'};\r
+        $OUT .= ', ' . $section->{'location'}{'address2'}\r
+          if length($section->{'location'}{'address2'});\r
+        $OUT .= ', ' .\r
+                $section->{'location'}{'city'} . ', ' .\r
+                $section->{'location'}{'state'} . '~' .\r
+                $section->{'location'}{'zip'};\r
+      } elsif ( $section->{'description'} ) {\r
+        $OUT .= ($section->{'description'});\r
+      } else {\r
+        $OUT .= emt('Charges');\r
+      }\r
       $OUT .= '}\\\\';\r
       if ($section->{header_generator}) {\r
         $OUT .= &{$section->{header_generator}}();\r