diff options
author | ivan <ivan> | 2007-03-01 17:44:14 +0000 |
---|---|---|
committer | ivan <ivan> | 2007-03-01 17:44:14 +0000 |
commit | 965185edd27890ea2fc00c7179dccf137b61320d (patch) | |
tree | 54c9b2cc75237da4eedfc4b55a1fc176395c5de0 | |
parent | fb19d4e46a85f34fe22106d783152a0a69b2ac30 (diff) |
fix weird compliation problem for quis, i hope
-rw-r--r-- | FS/FS/Misc.pm | 104 |
1 files changed, 4 insertions, 100 deletions
diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm index e2143cf80..a1d41e0a4 100644 --- a/FS/FS/Misc.pm +++ b/FS/FS/Misc.pm @@ -4,17 +4,15 @@ use strict; use vars qw ( @ISA @EXPORT_OK $DEBUG ); use Exporter; use Carp; -use FS::Record qw(dbh qsearch); -use FS::cust_credit_refund; -#use FS::cust_credit_bill; -#use FS::cust_bill_pay; -#use FS::cust_pay_refund; use Data::Dumper; +#do NOT depend on any FS:: modules here, causes weird (sometimes unreproducable +#until on client machine) dependancy loops. put them in FS::Misc::Something +#instead @ISA = qw( Exporter ); @EXPORT_OK = qw( send_email send_fax states_hash counties state_label - card_types prune_applications + card_types ); $DEBUG = 0; @@ -473,100 +471,6 @@ sub card_types { \%card_types; } -=item prune_applications OPTION_HASH - -Removes applications of credits to refunds in the event that the database -is corrupt and either the credits or refunds are missing (see -L<FS::cust_credit>, L<FS::cust_refund>, and L<FS::cust_credit_refund>). -If the OPTION_HASH contains the element 'dry_run' then a report of -affected records is returned rather than actually deleting the records. - -=cut - -sub prune_applications { - my $options = shift; - my $dbh = dbh - - local $DEBUG = 1 if exists($options->{debug}); - my $ccr = <<EOW; - WHERE - 0 = (select count(*) from cust_credit - where cust_credit_refund.crednum = cust_credit.crednum) - or - 0 = (select count(*) from cust_refund - where cust_credit_refund.refundnum = cust_refund.refundnum) -EOW - my $ccb = <<EOW; - WHERE - 0 = (select count(*) from cust_credit - where cust_credit_bill.crednum = cust_credit.crednum) - or - 0 = (select count(*) from cust_bill - where cust_credit_bill.invnum = cust_bill.invnum) -EOW - my $cbp = <<EOW; - WHERE - 0 = (select count(*) from cust_bill - where cust_bill_pay.invnum = cust_bill.invnum) - or - 0 = (select count(*) from cust_pay - where cust_bill_pay.paynum = cust_pay.paynum) -EOW - my $cpr = <<EOW; - WHERE - 0 = (select count(*) from cust_pay - where cust_pay_refund.paynum = cust_pay.paynum) - or - 0 = (select count(*) from cust_refund - where cust_pay_refund.refundnum = cust_refund.refundnum) -EOW - - my %strays = ( - 'cust_credit_refund' => { clause => $ccr, - link1 => 'crednum', - link2 => 'refundnum', - }, -# 'cust_credit_bill' => { clause => $ccb, -# link1 => 'crednum', -# link2 => 'refundnum', -# }, -# 'cust_bill_pay' => { clause => $cbp, -# link1 => 'crednum', -# link2 => 'refundnum', -# }, -# 'cust_pay_refund' => { clause => $cpr, -# link1 => 'crednum', -# link2 => 'refundnum', -# }, - ); - - if ( exists($options->{dry_run}) ) { - my @response = (); - foreach my $table (keys %strays) { - my $clause = $strays{$table}->{clause}; - my $link1 = $strays{$table}->{link1}; - my $link2 = $strays{$table}->{link2}; - my @rec = qsearch($table, {}, '', $clause); - my $keyname = $rec[0]->primary_key if $rec[0]; - foreach (@rec) { - push @response, "$table " .$_->$keyname . " claims attachment to ". - "$link1 " . $_->$link1 . " and $link2 " . $_->$link2 . "\n"; - } - } - return (@response); - } else { - foreach (keys %strays) { - my $statement = "DELETE FROM $_ " . $strays{$_}->{clause}; - warn $statement if $DEBUG; - my $sth = $dbh->prepare($statement) - or die $dbh->errstr; - $sth->execute - or die $sth->errstr; - } - return (); - } -} - =back =head1 BUGS |