X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Finvoice_conf.pm;h=d88c89a7cc75f090aa4b8b33c77993c6d9fd1294;hp=043cab03c79f3789bb18c47fc89d107830ee22f9;hb=dc83512c36dc6bea2585abada4f88d714c600e55;hpb=eb3bd392a89b8b666dc512951e78913c05b98810 diff --git a/FS/FS/invoice_conf.pm b/FS/FS/invoice_conf.pm index 043cab03c..d88c89a7c 100644 --- a/FS/FS/invoice_conf.pm +++ b/FS/FS/invoice_conf.pm @@ -49,6 +49,8 @@ and supports the FS::Conf interface. The following fields are supported: =item htmlreturnaddress - return address (HTML) +=item htmlwatermark - watermark to show in background (HTML) + =item latexnotes - "notes" section (LaTeX) =item latexfooter - footer (LaTeX) @@ -57,38 +59,11 @@ 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 latexwatermark - watermark to show in background (LaTeX) -=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 +84,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,32 +179,25 @@ 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') || $self->ut_anything('htmlfooter') || $self->ut_anything('htmlsummary') || $self->ut_anything('htmlreturnaddress') + || $self->ut_anything('htmlwatermark') || $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') + || $self->ut_anything('latexwatermark') + # flags + || $self->ut_flag('with_latexcoupon') ; return $error if $error; @@ -243,6 +217,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) });