From: ivan Date: Wed, 16 Mar 2011 22:37:31 +0000 (+0000) Subject: remove separate _statement templates, RT#11912 X-Git-Tag: freeside_2_3_0~484 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=c3d3ee8e73fe9e7ffdbaa2dcc6a908ed55b8d259 remove separate _statement templates, RT#11912 --- 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 @@ - - -
- - - - - - - - - - - - - - -
"><%= $returnaddress %> - - - - - - - - - - - -
- Invoice date
- <%= $date %> -
- - Invoice number
- <%= $invnum %> -
  - STATEMENT -  
-
- - <%= $payname %>
- <%= join('
', grep length($_), $company, - $address1, - $address2, - "$city, $state  $zip", - $country, - ) - %> -
- Terms: <%= $terms %>
- <%= $po_line %> -
- -

CHARGES -

- - - - - - - <%= - - foreach my $line ( @detail_items ) { - $OUT .= - ''. - ''. - ''. - ''. - '' - ; - foreach my $ext_desc ( @{$line->{'ext_description'} } ) { - $OUT .= - ''. - ''. - ''. - ''. - '' - } - } - - 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 .= - ''. - qq(). - qq('. - qq('. - '' - ; - - $style=''; - - } - - %> -
RefDescriptionAmount
'. $line->{'ref'}. ''. $line->{'description'}. ''. $line->{'amount'}. '
- '. $ext_desc. '
 ). - $line->{'total_item'}. '). - $line->{'total_amount'}. '
-

- -<%= $notes %> - -


-

<%= $footer %> - -

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; } <=-