package FS::cust_pay_void;
+
use strict;
-use vars qw( @ISA @encrypted_fields );
+use base qw( FS::otaker_Mixin FS::payinfo_Mixin FS::Record );
+use vars qw( @encrypted_fields $otaker_upgrade_kludge );
use Business::CreditCard;
use FS::UID qw(getotaker);
use FS::Record qw(qsearchs dbh fields); # qsearch );
#use FS::cust_main;
use FS::cust_pkg;
-@ISA = qw( FS::Record FS::payinfo_Mixin );
-
@encrypted_fields = ('payinfo');
+$otaker_upgrade_kludge = 0;
=head1 NAME
specified as a UNIX timestamp; see L<perlfunc/"time">. Also see
L<Time::Local> and L<Date::Parse> for conversion functions.
+=item otaker
+
+order taker (see L<FS::access_user>)
+
=item payby
`CARD' (credit cards), `CHEK' (electronic check/ACH),
=cut
sub replace {
- return "Can't modify voided payments!";
+ return "Can't modify voided payments!" unless $otaker_upgrade_kludge;
+ shift->SUPER::replace(@_);
}
=item check
return $error if $error;
}
- $self->otaker(getotaker);
+ $self->otaker(getotaker) unless $self->otaker;
$self->SUPER::check;
}
qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
}
+# Used by FS::Upgrade to migrate to a new database.
+sub _upgrade_data { # class method
+ my ($class, %opts) = @_;
+ local($otaker_upgrade_kludge) = 1;
+ $class->_upgrade_otaker(%opts);
+}
+
=back
=head1 BUGS