[freeside-commits] freeside/FS/FS cust_pkg_reason.pm,1.8,1.9

Ivan,,, ivan at wavetail.420.am
Sat Sep 18 00:28:44 PDT 2010


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv19442

Modified Files:
	cust_pkg_reason.pm 
Log Message:
don't abort upgrade for want of not being able to fill in cust_pkg_reason.action when doing the otaker replace

Index: cust_pkg_reason.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_pkg_reason.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -w -d -r1.8 -r1.9
--- cust_pkg_reason.pm	29 Mar 2010 00:23:07 -0000	1.8
+++ cust_pkg_reason.pm	18 Sep 2010 07:28:42 -0000	1.9
@@ -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 @@
 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 @@
 
 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 @@
     }
   }
 
+  #still can't fill in an action?  don't abort the upgrade
+  local($ignore_empty_action) = 1;
+
   $class->_upgrade_otaker(%opts);
 }
 



More information about the freeside-commits mailing list