summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2011-03-16 22:37:31 +0000
committerivan <ivan>2011-03-16 22:37:31 +0000
commitc3d3ee8e73fe9e7ffdbaa2dcc6a908ed55b8d259 (patch)
tree475c1a1e4b189de9c3e35641757925f1325e5e8d
parentef9f21d3ba72e151c0cf73bcfdf0212d40f66a5a (diff)
remove separate _statement templates, RT#11912
-rw-r--r--FS/FS/cust_bill.pm21
-rw-r--r--FS/FS/cust_pay.pm10
-rw-r--r--conf/invoice_html_statement124
-rw-r--r--conf/invoice_latex_statement244
-rw-r--r--conf/invoice_template_statement26
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&nbsp;date<BR>
- <B><%= $date %></B>
- </td>
- <td>
- </td>
- <td align="left">
- Invoice&nbsp;number<BR>
- <B><%= $invnum %></B>
- </td>
- </tr>
- <tr>
- <th>&nbsp;</th>
- <th colspan=1 align="center">
- <FONT SIZE="+3">S</FONT><FONT SIZE="+2">TATEMENT</FONT>
- </th>
- <th>&nbsp;</th>
- </tr>
- </table>
- </td>
- </tr>
-
- <tr>
- <td>
- </td>
- <td align="left">
- <b><%= $payname %></b><BR>
- <%= join('<BR>', grep length($_), $company,
- $address1,
- $address2,
- "$city,&nbsp;$state&nbsp;&nbsp;$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">-&nbsp;'. $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">&nbsp;</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; } <=-