summaryrefslogtreecommitdiff
path: root/FS/FS/cust_bill_void.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2015-11-05 16:06:56 -0800
committerMark Wells <mark@freeside.biz>2015-11-05 16:06:56 -0800
commitdd9dd7a913cd8da4d97b1c72522e016562a98459 (patch)
treec6c0dd167d47b6bc8fdfc4545b714f1552898385 /FS/FS/cust_bill_void.pm
parent28816258c25afc6c64101b2ac31cb9dec7cb42d4 (diff)
Add proper reasons and reason types for payment and invoice voids.
Contributed by Irina Todeva <itodeva@hostgator.com>
Diffstat (limited to 'FS/FS/cust_bill_void.pm')
-rw-r--r--FS/FS/cust_bill_void.pm31
1 files changed, 28 insertions, 3 deletions
diff --git a/FS/FS/cust_bill_void.pm b/FS/FS/cust_bill_void.pm
index f3dba90..50f69c9 100644
--- a/FS/FS/cust_bill_void.pm
+++ b/FS/FS/cust_bill_void.pm
@@ -1,13 +1,18 @@
package FS::cust_bill_void;
-use base qw( FS::Template_Mixin FS::cust_main_Mixin FS::otaker_Mixin FS::Record );
+use base qw( FS::Template_Mixin FS::cust_main_Mixin FS::otaker_Mixin
+ FS::reason_Mixin FS::Record );
use strict;
+use vars qw( $me $DEBUG );
use FS::Record qw( qsearch qsearchs dbh fields );
use FS::cust_statement;
use FS::access_user;
use FS::cust_bill_pkg_void;
use FS::cust_bill;
+$me = '[ FS::cust_bill_void ]';
+$DEBUG = 0;
+
=head1 NAME
FS::cust_bill_void - Object methods for cust_bill_void records
@@ -82,9 +87,13 @@ promised_date
void_date
-=item reason
+=item reason
+
+freeform string (deprecated)
-reason
+=item reasonnum
+
+reason for voiding the payment (see L<FS::reson>)
=item void_usernum
@@ -216,6 +225,7 @@ sub check {
|| $self->ut_numbern('void_date')
|| $self->ut_textn('reason')
|| $self->ut_numbern('void_usernum')
+ || $self->ut_foreign_keyn('reasonnum', 'reason', 'reasonnum')
;
return $error if $error;
@@ -259,6 +269,10 @@ sub void_access_user {
=item cust_bill_pkg
+=item reason
+
+Returns the text of the associated void reason (see L<FS::reason>) for this.
+
=cut
sub cust_bill_pkg { #actually cust_bill_pkg_void objects
@@ -339,6 +353,17 @@ sub search_sql_where {
sub enable_previous { 0 }
+# _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