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
hidden
+=item reason
+
+freeform string (deprecated)
+
+=item reasonnum
+
+reason for voiding the payment (see L<FS::reson>)
=back
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<FS::reason>) for this.
+
=item unvoid
"Un-void"s this line item: Deletes the voided line item from the database and
cust_bill_pkg_tax_location
cust_bill_pkg_tax_rate_location
cust_tax_exempt_pkg
+ cust_bill_pkg_fee
)) {
foreach my $voided (
|| $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;
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