From e3e8d316738336108b9b9af65d9adeb2ed085696 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 8 Oct 2009 01:15:06 +0000 Subject: [PATCH] conf switches to turn on smaller notes and footer sections with stock templates, RT#5218 --- FS/FS/Conf.pm | 18 ++++++++++++++++-- FS/FS/cust_bill.pm | 45 ++++++++++++++++++++++++++------------------- conf/invoice_html | 10 ++++++++-- conf/invoice_latex | 12 +++++++++--- 4 files changed, 59 insertions(+), 26 deletions(-) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index be4c74413..13bec18b1 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -2326,14 +2326,28 @@ worry that config_items is freeside-specific and icky. { 'key' => 'invoice-ship_address', 'section' => 'billing', - 'description' => 'Enable this switch to include the ship address on the invoice.', + 'description' => 'Include the shipping address on invoices.', 'type' => 'checkbox', }, { 'key' => 'invoice-unitprice', 'section' => 'billing', - 'description' => 'This switch enables unit pricing on the invoice.', + 'description' => 'Enable unit pricing on invoices.', + 'type' => 'checkbox', + }, + + { + 'key' => 'invoice-smallernotes', + 'section' => 'billing', + 'description' => 'Display the notes section in a smaller font on invoices.', + 'type' => 'checkbox', + }, + + { + 'key' => 'invoice-smallerfooter', + 'section' => 'billing', + 'description' => 'Display footers in a smaller font on invoices.', 'type' => 'checkbox', }, diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index e7c0be892..961d86e9e 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -2252,36 +2252,43 @@ sub print_generic { } my %invoice_data = ( + + #invoice from info 'company_name' => scalar( $conf->config('company_name', $self->cust_main->agentnum) ), 'company_address' => join("\n", $conf->config('company_address', $self->cust_main->agentnum) ). "\n", - 'custnum' => $cust_main->display_custnum, + 'returnaddress' => $returnaddress, + 'agent' => &$escape_function($cust_main->agent->agent), + + #invoice info 'invnum' => $self->invnum, 'date' => time2str($date_format, $self->_date), 'today' => time2str('%b %o, %Y', $today), - 'agent' => &$escape_function($cust_main->agent->agent), - 'agent_custid' => &$escape_function($cust_main->agent_custid), - 'payname' => &$escape_function($cust_main->payname), - 'company' => &$escape_function($cust_main->company), - 'address1' => &$escape_function($cust_main->address1), - 'address2' => &$escape_function($cust_main->address2), - 'city' => &$escape_function($cust_main->city), - 'state' => &$escape_function($cust_main->state), - 'zip' => &$escape_function($cust_main->zip), - 'fax' => &$escape_function($cust_main->fax), - 'returnaddress' => $returnaddress, - #'quantity' => 1, 'terms' => $self->terms, 'template' => $template, #params{'template'}, - #'notes' => join("\n", $conf->config('invoice_latexnotes') ), - # better hang on to conf_dir for a while - 'conf_dir' => "$FS::UID::conf_dir/conf.$FS::UID::datasrc", - 'page' => 1, - 'total_pages' => 1, + 'notice_name' => ($params{'notice_name'} || 'Invoice'),#escape_function? 'current_charges' => sprintf("%.2f", $self->charged), 'duedate' => $self->due_date2str('%m/%d/%Y'), #date_format? + + #customer info + 'custnum' => $cust_main->display_custnum, + 'agent_custid' => &$escape_function($cust_main->agent_custid), + ( map { $_ => &$escape_function($cust_main->$_()) } qw( + payname company address1 address2 city state zip fax + )), + + #global config 'ship_enable' => $conf->exists('invoice-ship_address'), 'unitprices' => $conf->exists('invoice-unitprice'), - 'notice_name' => ($params{'notice_name'} || 'Invoice'),#escape_function? + 'smallernotes' => $conf->exists('invoice-smallernotes'), + 'smallerfooter' => $conf->exists('invoice-smallerfooter'), + + # better hang on to conf_dir for a while (for old templates) + 'conf_dir' => "$FS::UID::conf_dir/conf.$FS::UID::datasrc", + + #these are only used when doing paged plaintext + 'page' => 1, + 'total_pages' => 1, + ); $invoice_data{finance_section} = ''; diff --git a/conf/invoice_html b/conf/invoice_html index 7ee0fdc19..b7f7b9789 100644 --- a/conf/invoice_html +++ b/conf/invoice_html @@ -221,9 +221,15 @@

-<%= length($summary) ? '' : $notes %> +<%= length($summary) + ? '' + : ( $smallernotes + ? ''.$notes.'' + : $notes + ) +%>
-

<%= $footer %> +

><%= $footer %> diff --git a/conf/invoice_latex b/conf/invoice_latex index 42a9f93cf..ef6546f1a 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -82,12 +82,12 @@ $OUT .= $coupon; } ''; ---@] \small{ +--@] [@-- $smallerfooter ? '\scriptsize{' : '\small{' --@] [@-- $footer --@] }[@-- $coupon ? '\vspace{\extracouponspace}' : '' --@] } { % ... pages - \small{ + [@-- $smallerfooter ? '\scriptsize{' : '\small{' --@] [@-- $smallfooter --@] } } @@ -322,7 +322,13 @@ Terms: [@-- $terms --@]\\ --@] \vfill \begin{minipage}[t]{\textwidth} - [@-- length($summary) ? '' : $notes --@] + [@-- length($summary) + ? '' + : ( $smallernotes + ? '\scriptsize{ '.$notes.' }' + : $notes + ) + --@] [@-- $coupon ? '\ifthenelse{\equal{\thepage}{1}}{\rule{0pt}{\extracouponspace}}{}' : '' --@] \end{minipage} \end{document} -- 2.11.0