diff options
author | ivan <ivan> | 2011-03-16 22:37:31 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-03-16 22:37:31 +0000 |
commit | c3d3ee8e73fe9e7ffdbaa2dcc6a908ed55b8d259 (patch) | |
tree | 475c1a1e4b189de9c3e35641757925f1325e5e8d | |
parent | ef9f21d3ba72e151c0cf73bcfdf0212d40f66a5a (diff) |
remove separate _statement templates, RT#11912
-rw-r--r-- | FS/FS/cust_bill.pm | 21 | ||||
-rw-r--r-- | FS/FS/cust_pay.pm | 10 | ||||
-rw-r--r-- | conf/invoice_html_statement | 124 | ||||
-rw-r--r-- | conf/invoice_latex_statement | 244 | ||||
-rw-r--r-- | conf/invoice_template_statement | 26 |
5 files changed, 20 insertions, 405 deletions
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index ca35a443a..e318de1ef 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -911,6 +911,7 @@ sub generate_email { 'unsquelch_cdr' => $conf->exists('voip-cdr_email'), 'template' => $args{'template'}, 'notice_name' => ( $args{'notice_name'} || 'Invoice' ), + 'no_coupon' => $args{'no_coupon'}, ); my $cust_main = $self->cust_main; @@ -1259,11 +1260,12 @@ sub queueable_email { my $self = qsearchs('cust_bill', { 'invnum' => $opt{invnum} } ) or die "invalid invoice number: " . $opt{invnum}; - my @args = ( $opt{template} ); - push @args, $opt{invoice_from} - if exists($opt{invoice_from}) && $opt{invoice_from}; + my %args = ( 'template' => $opt{template} ); + $args{$_} = $opt{$_} + foreach grep { exists($opt{$_}) && $opt{$_} } + qw( invoice_from notice_name no_coupon ); - my $error = $self->email( @args ); + my $error = $self->email( \%args ); die $error if $error; } @@ -1272,16 +1274,18 @@ sub queueable_email { sub email { my $self = shift; - my( $template, $invoice_from, $notice_name ); + my( $template, $invoice_from, $notice_name, $no_coupon ); if ( ref($_[0]) ) { my $opt = shift; $template = $opt->{'template'} || ''; $invoice_from = $opt->{'invoice_from'}; $notice_name = $opt->{'notice_name'} || 'Invoice'; + $no_coupon = $opt->{'no_coupon'} || 0; } else { $template = scalar(@_) ? shift : ''; $invoice_from = shift if scalar(@_); $notice_name = 'Invoice'; + $no_coupon = 0; } $invoice_from ||= $self->_agent_invoice_from || #XXX should go away @@ -1308,6 +1312,7 @@ sub email { 'subject' => $subject, 'template' => $template, 'notice_name' => $notice_name, + 'no_coupon' => $no_coupon, ) ); die "can't email invoice: $error\n" if $error; @@ -2295,7 +2300,7 @@ sub print_generic { my $template = $params{template} ? $params{template} : $self->_agent_template; my $templatefile = "invoice_$format"; $templatefile .= "_$template" - if length($template); + if length($template) && $conf->exists($templatefile."_$template"); my @invoice_template = map "$_\n", $conf->config($templatefile) or die "cannot load config data $templatefile"; @@ -2643,7 +2648,9 @@ sub print_generic { warn "$me substituting variables in notes, footer, smallfooter\n" if $DEBUG > 1; - foreach my $include (qw( notes footer smallfooter coupon )) { + my @include = (qw( notes footer smallfooter )); + push @include, 'coupon' unless $params{'no_coupon'}; + foreach my $include (@include) { my $inc_file = $conf->key_orbase("invoice_${format}$include", $template); my @inc_src; diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm index 71bc70764..29f3ddcbb 100644 --- a/FS/FS/cust_pay.pm +++ b/FS/FS/cust_pay.pm @@ -544,7 +544,7 @@ sub send_receipt { my $error = ''; if ( ( exists($opt->{'manual'}) && $opt->{'manual'} ) - || ! $conf->exists('invoice_html_statement') + #|| ! $conf->exists('invoice_html_statement') || ! $cust_bill ) { @@ -599,7 +599,7 @@ sub send_receipt { } else { - warn "payment_receipt is on, but no payment_receipt_msgnum or invoice_html_statement is configured\n"; + warn "payment_receipt is on, but no payment_receipt_msgnum\n"; } @@ -611,8 +611,10 @@ sub send_receipt { }; $error = $queue->insert( - 'invnum' => $cust_bill->invnum, - 'template' => 'statement', + 'invnum' => $cust_bill->invnum, + 'template' => 'statement', + 'notice_name' => 'Statement', + 'no_coupon' => 1, ); } diff --git a/conf/invoice_html_statement b/conf/invoice_html_statement deleted file mode 100644 index 0595602db..000000000 --- a/conf/invoice_html_statement +++ /dev/null @@ -1,124 +0,0 @@ -<STYLE TYPE="text/css"> -.invoice { font-family: sans-serif; font-size: 10pt } -.invoice_header { font-size: 10pt } -.invoice_headerright TH { border-top: 2px solid #000000; border-bottom: 2px solid #000000 } -.invoice_headerright TD { font-size: 10pt; empty-cells: show } -.invoice_longtable table { cellspacing: none } -.invoice_longtable TH { border-top: 2px solid #000000; border-bottom: 1px solid #000000; padding-left: none; padding-right: none; font-size: 10pt } -.invoice_desc TD { border-top: 2px solid #000000; font-weight: bold; font-size: 10pt } -.invoice_extdesc TD { font-size: 8pt } -.invoice_totaldesc TD { font-size: 10pt; empty-cells: show } -</STYLE> - -<table class="invoice" bgcolor="#ffffff" WIDTH=768 CELLSPACING=8><tr><td> - - <table class="invoice_header" width="100%"> - <tr> - <td><img src="<%= $cid ? "cid:$cid" : "cust_bill-logo.cgi?invnum=$invnum;template=$template" %>"></td> - <td align="left"><%= $returnaddress %></td> - <td align="right"> - <table CLASS="invoice_headerright" cellspacing=0> - <tr> - <td align="right"> - Invoice date<BR> - <B><%= $date %></B> - </td> - <td> - </td> - <td align="left"> - Invoice number<BR> - <B><%= $invnum %></B> - </td> - </tr> - <tr> - <th> </th> - <th colspan=1 align="center"> - <FONT SIZE="+3">S</FONT><FONT SIZE="+2">TATEMENT</FONT> - </th> - <th> </th> - </tr> - </table> - </td> - </tr> - - <tr> - <td> - </td> - <td align="left"> - <b><%= $payname %></b><BR> - <%= join('<BR>', grep length($_), $company, - $address1, - $address2, - "$city, $state $zip", - $country, - ) - %> - </td> - <td align="right"> - Terms: <%= $terms %><BR> - <%= $po_line %> - </td> - </tr> - - </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 $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'} } ) { - $OUT .= - '<tr class="invoice_extdesc">'. - '<td></td>'. - '<td align="left">- '. $ext_desc. '</td>'. - '<td></td>'. - '</tr>' - } - } - - my $style = 'border-top: 3px solid #000000;'; - my $linenum = 0; - - foreach my $line ( @total_items ) { - - $style .= 'border-bottom: 3px solid #000000;' - if ++$linenum == scalar(@total_items); - - $OUT .= - '<tr class="invoice_totaldesc">'. - qq(<td style="$style"> </td>). - qq(<td align="left" style="$style">). - $line->{'total_item'}. '</td>'. - qq(<td align="right" style="$style">). - $line->{'total_amount'}. '</td>'. - '</tr>' - ; - - $style=''; - - } - - %> - </table> - <br><br> - -<%= $notes %> - - <hr NOSHADE SIZE=2 COLOR="#000000"> - <p align="center"><%= $footer %> - -</td></tr></table> diff --git a/conf/invoice_latex_statement b/conf/invoice_latex_statement deleted file mode 100644 index 98d4f705b..000000000 --- a/conf/invoice_latex_statement +++ /dev/null @@ -1,244 +0,0 @@ -%% file: Standard Multipage.tex
-%% Purpose: Multipage bill template for e-Bills
-%%
-%% Created by Mark Asplen-Taylor
-%% Asplen Management Ltd
-%% www.asplen.co.uk
-%%
-%% Modified for Freeside by Kristian Hoffman
-%%
-%% Changes
-%% 0.1 4/12/00 Created
-%% 0.2 18/10/01 More fields added
-%% 1.0 16/11/01 RELEASED
-%% 1.2 16/10/02 Invoice number added
-%% 1.3 2/12/02 Logo graphic added
-%% 1.4 7/2/03 Multipage headers/footers added
-%% n/a forked for Freeside; checked into CVS
-%%
-
-\documentclass[letterpaper]{article}
-
-\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage}
-\usepackage{graphicx} % required for logo graphic
-
-\addtolength{\voffset}{-0.0cm} % top margin to top of header
-\addtolength{\hoffset}{-0.6cm} % left margin on page
-\addtolength{\topmargin}{-1.25cm} % top margin to top of header
-\setlength{\headheight}{2.0cm} % height of header
-\setlength{\headsep}{1.0cm} % between header and text
-\setlength{\footskip}{1.0cm} % bottom of footer from bottom of text
-
-%\addtolength{\textwidth}{2.1in} % width of text
-\setlength{\textwidth}{19.5cm}
-\setlength{\textheight}{19.5cm}
-\setlength{\oddsidemargin}{-0.9cm} % odd page left margin
-\setlength{\evensidemargin}{-0.9cm} % even page left margin
-
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{1pt}
-
-% Adjust the inset of the mailing address
-\newcommand{\addressinset}[1][]{\hspace{1.0cm}}
-
-% Adjust the inset of the return address and logo
-\newcommand{\returninset}[1][]{\hspace{-0.25cm}}
-
-% New command for address lines i.e. skip them if blank
-\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\newline}}
-
-% Inserts dollar symbol
-\newcommand{\dollar}[1][]{\symbol{36}}
-
-% Remove plain style header/footer
-\fancypagestyle{plain}{
- \fancyhead{}
-}
-\fancyhf{}
-
-% Define fancy header/footer for first and subsequent pages
-\fancyfoot[C]{
- \ifthenelse{\equal{\thepage}{1}}
- { % First page
- \small{
-[@-- $footer --@]
- }
- }
- { % ... pages
- \small{
-[@-- $smallfooter --@]
- }
- }
-}
-
-\fancyfoot[R]{
- \ifthenelse{\equal{\thepage}{1}}
- { % First page
- }
- { % ... pages
- \small{\thepage\ of \pageref{LastPage}}
- }
-}
-
-\fancyhead[L]{
- \ifthenelse{\equal{\thepage}{1}}
- { % First page
- \returninset
- \makebox{
- \begin{tabular}{ll}
- \includegraphics{[@-- $logo_file --@]} &
- \begin{minipage}[b]{5.5cm}
-[@-- $returnaddress --@]
- \end{minipage}
- \end{tabular}
- }
- }
- { % ... pages
- %\includegraphics{[@-- $conf_dir --@]/logo.eps} % Uncomment if you want the logo on all pages.
- }
-}
-
-\fancyhead[R]{
- \ifthenelse{\equal{\thepage}{1}}
- { % First page
- \begin{tabular}{rcl}
- Invoice date & & Invoice number \\
- \vspace{0.2cm}
- \textbf{[@-- $date --@]} & & \textbf{[@-- $invnum --@]} \\\hline
- \rule{0pt}{5ex} &~~ \huge{\textsc{Statement}} & \\
- \vspace{-0.2cm}
- & & \\\hline
- \end{tabular}
- }
- { % ... pages
- \small{
- \begin{tabular}{ll}
- Invoice date & Invoice number\\
- \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]}\\
- \end{tabular}
- }
- }
-}
-
-\pagestyle{fancy}
-
-
-%% Font options are:
-%% bch Bitsream Charter
-%% put Utopia
-%% phv Adobe Helvetica
-%% pnc New Century Schoolbook
-%% ptm Times
-%% pcr Courier
-
-\renewcommand{\familydefault}{phv}
-
-
-% Commands for freeside description...
-\newcommand{\FSdesc}[3]{
- \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} &
- \textbf{#2} &
- \multicolumn{1}{r}{\textbf{\dollar #3}}\\
-}
-% ...extended description...
-\newcommand{\FSextdesc}[1]{
- \multicolumn{1}{l}{\rule{0pt}{1.0ex}} &
- \multicolumn{2}{l}{\small{~-~#1}}\\
-}
-% ...and total line items.
-\newcommand{\FStotaldesc}[2]{
- & \multicolumn{1}{l}{#1} & #2\\
-}
-
-
-\begin{document}
-%
-%% Headers and footers defined for the first page
-%
-%% The LH Heading comprising logo
-%% UNCOMMENT the following FOUR lines and change the path if necssary to provide a logo
-%
-%% The Heading comprising isue date, customer ref & INVOICE name
-%
-%% Header & footer changes for subsequent pages
-%
-%
-%
-\begin{tabular}{ll}
-\addressinset \rule{0cm}{0cm} &
-\makebox{
-\begin{minipage}[t]{5.0cm}
-\vspace{0.25cm}
-\textbf{[@-- $payname --@]}\\
-\addressline{[@-- $company --@]}
-\addressline{[@-- $address1 --@]}
-\addressline{[@-- $address2 --@]}
-\addressline{[@-- $city --@], [@-- $state --@]~~[@-- $zip --@]}
-\addressline{[@-- $country --@]}
-\end{minipage}}
-\end{tabular}
-\hfill
-\makebox{
-\begin{minipage}[t]{6.4cm}
-\begin{flushright}
-Terms: [@-- $terms --@]\\
-[@-- $po_line --@]\\
-\end{flushright}
-\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 $line (@total_items) {
- $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
- '{' . $line->{'total_amount'} . '}' . "\n";
- }
-
---@]
-\hline
-\endlastfoot
-[@--
-
- foreach my $line (@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";
-
- foreach my $ext_desc (@$ext_description) {
- $ext_desc = substr($ext_desc, 0, 80) . '...'
- if (length($ext_desc) > 80);
- $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";
- }
-
- }
-
---@]
-\end{longtable}
-\vfill
-[@-- $notes --@]
-\end{document}
diff --git a/conf/invoice_template_statement b/conf/invoice_template_statement deleted file mode 100644 index db0291544..000000000 --- a/conf/invoice_template_statement +++ /dev/null @@ -1,26 +0,0 @@ - - Statement - { substr("Page $page of $total_pages ", 0, 19); } { use Date::Format; time2str("%x", $date); } Invoice #{ $invnum; } - - -{ $company_name; } -{ $company_address; } - - -{ $address[0]; } -{ $address[1]; } -{ $address[2]; } -{ $address[3]; } -{ $address[4]; } -{ $address[5]; } - -{ - join("\n", - map { - my ( $desc, $price ) = @{$_}; - " ". substr( $desc. " "x65, 0, 65). " ". substr( $price. " "x11, 0, 11); - } invoice_lines(31) - ); -} - - -=> { $company_name; } <=- |