summaryrefslogtreecommitdiff
path: root/FS/FS/cust_bill_pkg_void.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/cust_bill_pkg_void.pm')
-rw-r--r--FS/FS/cust_bill_pkg_void.pm31
1 files changed, 30 insertions, 1 deletions
diff --git a/FS/FS/cust_bill_pkg_void.pm b/FS/FS/cust_bill_pkg_void.pm
index 080452e..991dd37 100644
--- a/FS/FS/cust_bill_pkg_void.pm
+++ b/FS/FS/cust_bill_pkg_void.pm
@@ -1,7 +1,8 @@
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;
@@ -13,6 +14,9 @@ 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
FS::cust_bill_pkg_void - Object methods for cust_bill_pkg_void records
@@ -104,6 +108,13 @@ unitrecur
hidden
+=item reason
+
+freeform string (deprecated)
+
+=item reasonnum
+
+reason for voiding the payment (see L<FS::reson>)
=back
@@ -134,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<FS::reason>) for this.
+
=item unvoid
"Un-void"s this line item: Deletes the voided line item from the database and
@@ -242,6 +257,8 @@ sub check {
|| $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;
@@ -266,6 +283,18 @@ sub cust_bill_pkg_fee {
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