X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg.pm;h=d60e95b782bf1a9e9f2316a4c473aba1e3df5719;hb=e2a2f2f1a1a793581de4222e582731e7a9692a6b;hp=1bf56e12801b6e6cd60de34fb1e1c414497e641b;hpb=86c14f830b8d7e996bb84a0ad6a89f26816ea5b7;p=freeside.git diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 1bf56e128..d60e95b78 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1,7 +1,7 @@ package FS::cust_pkg; use strict; -use vars qw(@ISA $disable_agentcheck); +use vars qw(@ISA $disable_agentcheck $DEBUG); use FS::UID qw( getotaker dbh ); use FS::Record qw( qsearch qsearchs ); use FS::Misc qw( send_email ); @@ -25,6 +25,8 @@ use FS::Conf; @ISA = qw( FS::Record ); +$DEBUG = 0; + $disable_agentcheck = 0; sub _cache { @@ -148,7 +150,7 @@ sub insert { return $error if $error; my $cust_main = $self->cust_main; - return "Unknown customer ". $self->custnum unless $cust_main; + return "Unknown custnum: ". $self->custnum unless $cust_main; unless ( $disable_agentcheck ) { my $agent = qsearchs( 'agent', { 'agentnum' => $cust_main->agentnum } ); @@ -244,7 +246,9 @@ sub check { $self->otaker($1); if ( $self->dbdef_table->column('manual_flag') ) { - $self->manual_flag =~ /^([01]?)$/ or return "Illegal manual_flag"; + $self->manual_flag('') if $self->manual_flag eq ' '; + $self->manual_flag =~ /^([01]?)$/ + or return "Illegal manual_flag ". $self->manual_flag; $self->manual_flag($1); } @@ -612,7 +616,7 @@ sub attribute_since_sqlradacct { Transfers as many services as possible from this package to another package. The destination package must already exist. Services are moved only if -the destination allows services with the correct I (not svcdb). +the destination allows services with the correct I (not svcdb). Any services that can't be moved remain in the original package. Returns an error, if there is one; otherwise, returns the number of services @@ -665,6 +669,9 @@ sub transfer { =item reexport +This method is deprecated. See the I option to the insert and +order_pkgs methods in FS::cust_main for a better way to defer provisioning. + =cut sub reexport { @@ -724,13 +731,16 @@ newly-created cust_pkg objects. =cut sub order { - - # Rewritten to make use of the transfer() method, and in general - # to not suck so badly. - my ($custnum, $pkgparts, $remove_pkgnum, $return_cust_pkg) = @_; # Transactionize this whole mess + local $SIG{HUP} = 'IGNORE'; + local $SIG{INT} = 'IGNORE'; + local $SIG{QUIT} = 'IGNORE'; + local $SIG{TERM} = 'IGNORE'; + local $SIG{TSTP} = 'IGNORE'; + local $SIG{PIPE} = 'IGNORE'; + my $oldAutoCommit = $FS::UID::AutoCommit; local $FS::UID::AutoCommit = 0; my $dbh = dbh;