X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Finvoice_conf.pm;h=da448b81678b6aff3931325274398aee1d5f89af;hb=1bcbc87bbbe83877a95d3a24a68b3b63797a7adb;hp=043cab03c79f3789bb18c47fc89d107830ee22f9;hpb=2a5d3c4f83803a2ef0059b7e03bb6286efcbe900;p=freeside.git diff --git a/FS/FS/invoice_conf.pm b/FS/FS/invoice_conf.pm index 043cab03c..da448b816 100644 --- a/FS/FS/invoice_conf.pm +++ b/FS/FS/invoice_conf.pm @@ -57,38 +57,9 @@ and supports the FS::Conf interface. The following fields are supported: =item latexreturnaddress - return address (LaTeX) -=item latexcoupon - payment coupon section (LaTeX) - =item latexsmallfooter - footer for pages after the first (LaTeX) -=item latextopmargin - top margin - -=item latexheadsep - distance from bottom of header to top of body - -=item latexaddresssep - distance from top of body to customer address - -=item latextextheight - maximum height of invoice body text - -=item latexextracouponspace - additional footer space to allow for coupon - -=item latexcouponfootsep - distance from bottom of coupon content to top -of page footer - -=item latexcouponamountenclosedsep - distance from coupon balance line to -"Amount Enclosed" box - -=item latexcoupontoaddresssep - distance from "Amount Enclosed" box to -coupon mailing address - -=item latexverticalreturnaddress - 'Y' to place the return address below -the company logo rather than beside it - -=item latexcouponaddcompanytoaddress - 'Y' to add the company name to the -address on the payment coupon - -=item logo_png - company logo, as a PNG, for HTML invoices - -=item logo_eps - company logo, as an EPS, for LaTeX invoices +=item with_latexcoupon - 'Y' to print the payment coupon (LaTeX) =item lpr - command to print the invoice (passed on stdin as a PDF) @@ -109,6 +80,12 @@ L<"insert">. sub table { 'invoice_conf'; } +# fields (prefixed with 'with_') that turn on certain conf variables +# (set them to their conf values, rather than to null) +my %flags = ( + latexcoupon => 1 +); + =item insert Adds this record to the database. If there is an error, returns the error, @@ -198,8 +175,10 @@ sub check { my $error = $self->ut_numbern('confnum') + # core properties || $self->ut_number('modenum') || $self->ut_textn('locale') + # direct overrides of conf variables || $self->ut_anything('notice_name') || $self->ut_anything('subject') || $self->ut_anything('htmlnotes') @@ -209,21 +188,10 @@ sub check { || $self->ut_anything('latexnotes') || $self->ut_anything('latexfooter') || $self->ut_anything('latexsummary') - || $self->ut_anything('latexcoupon') || $self->ut_anything('latexsmallfooter') || $self->ut_anything('latexreturnaddress') - || $self->ut_textn('latextopmargin') - || $self->ut_textn('latexheadsep') - || $self->ut_textn('latexaddresssep') - || $self->ut_textn('latextextheight') - || $self->ut_textn('latexextracouponspace') - || $self->ut_textn('latexcouponfootsep') - || $self->ut_textn('latexcouponamountenclosedsep') - || $self->ut_textn('latexcoupontoaddresssep') - || $self->ut_flag('latexverticalreturnaddress') - || $self->ut_flag('latexcouponaddcompanytoaddress') - || $self->ut_anything('logo_png') - || $self->ut_anything('logo_eps') + # flags + || $self->ut_flag('with_latexcoupon') ; return $error if $error; @@ -243,6 +211,13 @@ sub _config { if ( $key =~ /^invoice_(.*)$/ ) { $colname = $1; } + if ( $flags{$colname} and !$self->get("with_$colname") ) { + # then a flag field is defined, and the flag is off, so act as though + # the config entry doesn't exist + # (currently only used for "latexcoupon", to allow invoice modes + # where the coupon is not printed) + return undef; + } if ( length($self->get($colname)) ) { return FS::conf->new({ 'name' => $key, 'value' => $self->get($colname) });