summaryrefslogtreecommitdiff
path: root/FS/FS/cust_pkg_reason.pm
diff options
context:
space:
mode:
authorivan <ivan>2010-09-18 07:28:42 +0000
committerivan <ivan>2010-09-18 07:28:42 +0000
commit3158ff534147028888120e0c09171e1e3d6bfab0 (patch)
tree08042d12d09c43591b9cd14c8649fd645e86a0cb /FS/FS/cust_pkg_reason.pm
parentd93097485be2cde9039f5cef3da4f842180db4b9 (diff)
don't abort upgrade for want of not being able to fill in cust_pkg_reason.action when doing the otaker replace
Diffstat (limited to 'FS/FS/cust_pkg_reason.pm')
-rw-r--r--FS/FS/cust_pkg_reason.pm14
1 files changed, 10 insertions, 4 deletions
diff --git a/FS/FS/cust_pkg_reason.pm b/FS/FS/cust_pkg_reason.pm
index 1ec5024..72a2319 100644
--- a/FS/FS/cust_pkg_reason.pm
+++ b/FS/FS/cust_pkg_reason.pm
@@ -1,9 +1,12 @@
package FS::cust_pkg_reason;
use strict;
+use vars qw( $ignore_empty_action );
use base qw( FS::otaker_Mixin FS::Record );
use FS::Record qw( qsearch qsearchs );
+$ignore_empty_action = 0;
+
=head1 NAME
FS::cust_pkg_reason - Object methods for cust_pkg_reason records
@@ -93,11 +96,14 @@ and replace methods.
sub check {
my $self = shift;
+ my @actions = ( 'A', 'C', 'E', 'S' );
+ push @actions, '' if $ignore_empty_action;
+
my $error =
$self->ut_numbern('num')
|| $self->ut_number('pkgnum')
|| $self->ut_number('reasonnum')
- || $self->ut_enum('action', [ 'A', 'C', 'E', 'S' ])
+ || $self->ut_enum('action', \@actions)
|| $self->ut_alphan('otaker')
|| $self->ut_numbern('date')
;
@@ -135,13 +141,10 @@ sub reasontext {
use FS::h_cust_pkg;
use FS::h_cust_pkg_reason;
-use FS::Schema qw(dbdef);
sub _upgrade_data { # class method
my ($class, %opts) = @_;
- return '' unless dbdef->table('cust_pkg_reason')->column('action');
-
my $action_replace =
" AND ( history_action = 'replace_old' OR history_action = 'replace_new' )";
@@ -306,6 +309,9 @@ sub _upgrade_data { # class method
}
}
+ #still can't fill in an action? don't abort the upgrade
+ local($ignore_empty_action) = 1;
+
$class->_upgrade_otaker(%opts);
}