fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / cust_bill_void.pm
index b9db81b..60abc73 100644 (file)
@@ -1,13 +1,18 @@
 package FS::cust_bill_void;
 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 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;
 
 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
 =head1 NAME
 
 FS::cust_bill_void - Object methods for cust_bill_void records
@@ -82,9 +87,13 @@ promised_date
 
 void_date
 
 
 void_date
 
-=item reason
+=item reason 
+
+freeform string (deprecated)
+
+=item reasonnum 
 
 
-reason
+reason for voiding the payment (see L<FS::reason>)
 
 =item void_usernum
 
 
 =item void_usernum
 
@@ -108,7 +117,8 @@ points to.  You can ask the object for a copy with the I<hash> method.
 
 sub table { 'cust_bill_void'; }
 sub notice_name { 'VOIDED Invoice'; }
 
 sub table { 'cust_bill_void'; }
 sub notice_name { 'VOIDED Invoice'; }
-#XXXsub template_conf { 'quotation_'; }
+sub template_conf { 'invoice_'; }
+
 
 =item insert
 
 
 =item insert
 
@@ -206,6 +216,7 @@ sub check {
     || $self->ut_numbern('void_date')
     || $self->ut_textn('reason')
     || $self->ut_numbern('void_usernum')
     || $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;
 
   ;
   return $error if $error;
 
@@ -249,6 +260,10 @@ sub void_access_user {
 
 =item cust_bill_pkg
 
 
 =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
 =cut
 
 sub cust_bill_pkg { #actually cust_bill_pkg_void objects
@@ -277,7 +292,7 @@ sub cust_pkg {
 
 Class method which returns an SQL WHERE fragment to search for parameters
 specified in HASHREF.  Accepts the following parameters for 
 
 Class method which returns an SQL WHERE fragment to search for parameters
 specified in HASHREF.  Accepts the following parameters for 
-L<FS::cust_bill::search_sql_where>: C<_date>, C<invnum_min>, C<invnum_max>,
+L<FS::cust_bill/search_sql_where>: C<_date>, C<invnum_min>, C<invnum_max>,
 C<agentnum>, C<custnum>, C<cust_classnum>, C<refnum>.  Also 
 accepts the following:
 
 C<agentnum>, C<custnum>, C<cust_classnum>, C<refnum>.  Also 
 accepts the following:
 
@@ -329,6 +344,17 @@ sub search_sql_where {
 
 sub enable_previous { 0 }
 
 
 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
 =back
 
 =head1 BUGS
@@ -340,4 +366,3 @@ L<FS::Record>, schema.html from the base documentation.
 =cut
 
 1;
 =cut
 
 1;
-