diff options
-rw-r--r-- | FS/FS/Conf.pm | 18 | ||||
-rw-r--r-- | FS/FS/cust_bill.pm | 45 | ||||
-rw-r--r-- | conf/invoice_html | 10 | ||||
-rw-r--r-- | 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 @@ </table> <br><br> -<%= length($summary) ? '' : $notes %> +<%= length($summary) + ? '' + : ( $smallernotes + ? '<FONT SIZE="-1">'.$notes.'</FONT>' + : $notes + ) +%> <hr NOSHADE SIZE=2 COLOR="#000000"> - <p align="center"><%= $footer %> + <p align="center" <%= $smallerfooter ? 'STYLE="font-size:75%;"' : '' %>><%= $footer %> </td></tr></table> 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}
|