X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_bill_pkg_void.pm;h=991dd37dd6a954c01f9190950bd78b1f8b6ba337;hb=6a509099343ed155525c4304f1ad742cc6e4ce59;hp=b7c6feed549341b3608ccf8648ce5d870e6441b7;hpb=bec3b6c2bf97d66b992866d7ee7295f1f05452e6;p=freeside.git diff --git a/FS/FS/cust_bill_pkg_void.pm b/FS/FS/cust_bill_pkg_void.pm index b7c6feed5..991dd37dd 100644 --- a/FS/FS/cust_bill_pkg_void.pm +++ b/FS/FS/cust_bill_pkg_void.pm @@ -1,13 +1,21 @@ package FS::cust_bill_pkg_void; -use base qw( FS::TemplateItem_Mixin FS::Record ); +use base qw( FS::TemplateItem_Mixin FS::reason_Mixin FS::Record ); use strict; +use vars qw( $me $DEBUG ); use FS::Record qw( qsearch qsearchs dbh fields ); use FS::cust_bill_void; -use FS::cust_bill_pkg_detail_void; -use FS::cust_bill_pkg_display_void; -use FS::cust_bill_pkg_discount_void; +use FS::cust_bill_pkg_detail; +use FS::cust_bill_pkg_display; +use FS::cust_bill_pkg_discount; use FS::cust_bill_pkg; +use FS::cust_bill_pkg_fee; +use FS::cust_bill_pkg_tax_location; +use FS::cust_bill_pkg_tax_rate_location; +use FS::cust_tax_exempt_pkg; + +$me = '[ FS::cust_bill_pkg_void ]'; +$DEBUG = 0; =head1 NAME @@ -100,6 +108,13 @@ unitrecur hidden +=item reason + +freeform string (deprecated) + +=item reasonnum + +reason for voiding the payment (see L) =back @@ -130,6 +145,10 @@ sub discount_table { 'cust_bill_pkg_discount_void'; } Adds this record to the database. If there is an error, returns the error, otherwise returns false. +=item reason + +Returns the text of the associated void reason (see L) for this. + =item unvoid "Un-void"s this line item: Deletes the voided line item from the database and @@ -167,6 +186,7 @@ sub unvoid { cust_bill_pkg_tax_location cust_bill_pkg_tax_rate_location cust_tax_exempt_pkg + cust_bill_pkg_fee )) { foreach my $voided ( @@ -236,6 +256,9 @@ sub check { || $self->ut_moneyn('unitsetup') || $self->ut_moneyn('unitrecur') || $self->ut_enum('hidden', [ '', 'Y' ]) + || $self->ut_numbern('feepart') + || $self->ut_textn('reason') + || $self->ut_foreign_keyn('reasonnum', 'reason', 'reasonnum') ; return $error if $error; @@ -255,6 +278,23 @@ sub cust_bill { qsearchs( 'cust_bill_void', { 'invnum' => $self->invnum } ); } +sub cust_bill_pkg_fee { + my $self = shift; + qsearch( 'cust_bill_pkg_fee_void', { 'billpkgnum' => $self->billpkgnum } ); +} + + +# _upgrade_data +# +# Used by FS::Upgrade to migrate to a new database. +sub _upgrade_data { # class method + my ($class, %opts) = @_; + + warn "$me upgrading $class\n" if $DEBUG; + + $class->_upgrade_reasonnum(%opts); +} + =back =head1 BUGS