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