X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=conf%2Finvoice_latex;h=c7c696b5d33257c880a32d6b3ccfbf0509e49272;hb=2915a5725aefb4ed6ab1f461b86d91d21a717887;hp=37f59d2eec644bde416469dc8deecfe26bcecd23;hpb=62b12e8b09608b7081ffd596be899fafb5c2403f;p=freeside.git diff --git a/conf/invoice_latex b/conf/invoice_latex index 37f59d2ee..c7c696b5d 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -19,10 +19,23 @@ \documentclass[letterpaper]{article} -\usepackage{fancyhdr,lastpage,ifthen,array,fslongtable,afterpage,caption,multirow,bigstrut} +\usepackage{fancyhdr,lastpage,ifthen,array,longtable,afterpage,caption,multirow,bigstrut} \usepackage{graphicx} % required for logo graphic \usepackage[utf8]{inputenc} % multilanguage support \usepackage[T1]{fontenc} +[@-- if ( length($watermark) ) { + $OUT .= ' +\usepackage{background} +\backgroundsetup{ + placement=center, + opacity=0.25, + color=black, + angle=0, + contents=' . $watermark . ' +}'; +} +''; +--@] \addtolength{\voffset}{-0.0cm} % top margin to top of header \addtolength{\hoffset}{-0.6cm} % left margin on page @@ -127,7 +140,11 @@ \ifthenelse{\equal{\thepage}{1}} { % First page \begin{tabular}{ccc} - [@-- join(' & ', emt('Invoice date'), emt('Invoice #'), emt('Customer #') ) --@]\\ + [@-- join(' & ', ( $no_date ? '' : emt('Invoice date') ), + ( $no_number ? '' : emt('Invoice #') ), + emt('Customer #') + ) + --@]\\ \vspace{0.2cm} \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]} \\\hline \rule{0pt}{5ex} &~~ \huge{\textsc{[@-- emt($notice_name) --@]}} & \\ @@ -164,14 +181,15 @@ \newcommand{\FSdescriptionlength} { [@-- $unitprices ? '8.2cm' : '12.8cm' --@] } \newcommand{\FSdescriptioncolumncount} { [@-- $unitprices ? '4' : '6' --@] } \newcommand{\FSunitcolumns}{ [@-- - $unitprices - ? '\makebox[2.5cm][l]{\textbf{~~'.emt('Unit Price').'}}&\makebox[1.4cm]{\textbf{~'.emt('Quantity').'}}&' + $unitprices + ? '\makebox[2.5cm][r]{\textbf{~~' . emt('Unit Price') . '}} &' . + '\makebox[1.4cm]{\textbf{~' . emt('Quantity') . '}} & ' : '' --@] } \newcommand{\FShead}{ \hline \rule{0pt}{2.5ex} - \makebox[1.4cm]{\textbf{Ref}} & + \makebox[1.4cm]{} & \multicolumn{\FSdescriptioncolumncount}{l}{\makebox[\FSdescriptionlength][l]{\textbf{[@-- emt('Description') --@]}}}& \FSunitcolumns \makebox[1.6cm][r]{\textbf{[@-- emt('Amount') --@]}} \\ @@ -182,11 +200,11 @@ \newcommand{\FSdesc}[5]{ \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} & \multicolumn{[@-- $unitprices ? '4' : '6' --@]}{l}{\textbf{#2}} & -[@-- $unitprices ? ' \multicolumn{1}{l}{\textbf{#3}} &'."\n". +[@-- $unitprices ? ' \multicolumn{1}{r}{\textbf{#3}} &'."\n". ' \multicolumn{1}{r}{\textbf{#4}} &'."\n" : '' --@] - \multicolumn{1}{r}{\textbf{\dollar #5}}\\ + \multicolumn{1}{r}{\textbf{#5}}\\ } % ...extended description... \newcommand{\FSextdesc}[1]{ @@ -253,7 +271,21 @@ if $coupon; $OUT .= '\begin{longtable}{cllllllr}'; $OUT .= '\caption*{ '; - $OUT .= ($section->{'description'}) ? $section->{'description'}: emt('Charges'); + if ($section->{'location'}) { + $OUT .= $section->{'location'}{'label_prefix'}. ': ' + if length($section->{'location'}{'label_prefix'}); + $OUT .= $section->{'location'}{'address1'}; + $OUT .= ', ' . $section->{'location'}{'address2'} + if length($section->{'location'}{'address2'}); + $OUT .= ', ' . + $section->{'location'}{'city'} . ', ' . + $section->{'location'}{'state'} . '~' . + $section->{'location'}{'zip'}; + } elsif ( $section->{'description'} ) { + $OUT .= ($section->{'description'}); + } else { + $OUT .= emt('Charges'); + } $OUT .= '}\\\\'; if ($section->{header_generator}) { $OUT .= &{$section->{header_generator}}(); @@ -272,7 +304,7 @@ $OUT .= '\endfoot'; $OUT .= '\hline'; - if (scalar(@sections) > 1) { + if (scalar(@sections) > 1 and !$section->{no_subtotal}) { if ($section->{total_generator}) { $OUT .= &{$section->{total_generator}}($section); } else { @@ -308,18 +340,25 @@ # Don't break-up small packages. my $rowbreak = @$ext_description < 5 ? '*' : ''; - $OUT .= "\\hline\n" if ($line->{'ref'} && $line->{'ref'} ne $lastref); + $OUT .= "\\hline\n" if (($line->{'ref'} || 0) ne $lastref); if ($section->{description_generator}) { $OUT .= &{$section->{description_generator}}($line); } else { $OUT .= '\FSdesc'. - '{' . ( $line->{'ref'} ne $lastref ? $line->{'ref'} : '' ) . '}'. - '{' . $line->{'description'} . '}' . - '{' . ( $unitprices ? $line->{'unit_amount'} : '' ) . '}'. - '{' . ( $unitprices ? $line->{'quantity'} : '' ) . '}' . - '{' . $line->{'amount'} . "}${rowbreak}\n"; + '{}'. + '{' . $line->{'description'} . '}' ; + if ( $unitprices and length($line->{'unit_amount'}) ) { + # then show the unit amount and quantity + $OUT .= + '{\\dollar' . $line->{'unit_amount'} . '}'. + '{' . $line->{'quantity'} . '}'; + } else { + # leave those columns blank + $OUT .= '{}{}'; + } + $OUT .= '{\\dollar' . $line->{'amount'} . "}${rowbreak}\n"; } - $lastref = $line->{'ref'}; + $lastref = $line->{'ref'} || 0; foreach my $ext_desc (@$ext_description) { if ($section->{extended_description_generator}) {