X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_bill_event.pm;h=8143e34735fc22eb33d93e224d4e70f937a628b9;hb=8f5c91d6c7a8dc85a8b6768a149b4c7b3e144c38;hp=f90882817a8ea481b46aee3f29825e036250c5cb;hpb=2041a9143fac20b79ead4a1ae01224dedf5b27c2;p=freeside.git diff --git a/FS/FS/part_bill_event.pm b/FS/FS/part_bill_event.pm index f90882817..8143e3473 100644 --- a/FS/FS/part_bill_event.pm +++ b/FS/FS/part_bill_event.pm @@ -126,7 +126,7 @@ sub check { or $c =~ /^\s*\$cust_bill\->(comp|realtime_(card|ach|lec)|batch_card|send)\(\);\s*$/ - or $c =~ /^\s*\$cust_bill\->send\(\'[\w\-\s]+\'\s*(,\s*\d+\s*,\s*'[\w\@\.\-\+]*'\s*)?\);\s*$/ + or $c =~ /^\s*\$cust_bill\->send(_if_newest)?\(\'[\w\-\s]+\'\s*(,\s*(\d+|\[\s*\d+(,\s*\d+)*\s*\])\s*,\s*'[\w\@\.\-\+]*'\s*)?\);\s*$/ or $c =~ /^\s*\$cust_main\->apply_payments; \$cust_main->apply_credits; "";\s*$/ @@ -134,6 +134,8 @@ sub check { or $c =~ /^\s*\$cust_main\->suspend_(if|unless)_pkgpart\([\d\,\s]*\);\s*$/ + or $c =~ /^\s*\$cust_bill\->cust_suspend_if_balance_over\([\d\.\s]*\);\s*$/ + or do { #log return "illegal eventcode: $c"; @@ -158,7 +160,12 @@ sub check { if ( $self->plandata =~ /^(agent_)?templatename\s+(.*)$/m ) { my $name= $2; - foreach my $file (qw( template latex latexnotes )) { + foreach my $file (qw( template + latex latexnotes latexreturnaddress latexfooter + latexsmallfooter + html htmlnotes htmlreturnaddress htmlfooter + )) + { unless ( $conf->exists("invoice_${file}_$name") ) { $conf->set( "invoice_${file}_$name" => @@ -171,11 +178,32 @@ sub check { $self->SUPER::check; } +=item templatename + +Returns the alternate invoice template name, if any, or false if there is +no alternate template for this invoice event. + +=cut + +sub templatename { + my $self = shift; + if ( $self->plan =~ /^send_(alternate|agent)$/ + && $self->plandata =~ /^(agent_)?templatename (.*)$/m + ) + { + $2; + } else { + ''; + } +} + + =back =head1 BUGS -Alas. +The whole "eventcode" idea is bunk. This should be refactored with subclasses +like part_pkg/ and part_export/ =head1 SEE ALSO