X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fqueue.pm;h=a0654a13c94ebc55a705c31cb6a88ecba13e26e7;hp=f7f09485d3fa1800c585cb07a94760c6b2003cac;hb=57bb423fe457ba4e13726877f53bcdf944f828f8;hpb=cc4b5ec5fdbf35c919cf7903b67cf6a1309a229d diff --git a/FS/FS/queue.pm b/FS/FS/queue.pm index f7f09485d..a0654a13c 100644 --- a/FS/FS/queue.pm +++ b/FS/FS/queue.pm @@ -206,9 +206,27 @@ sub delete { } } + my $oldAutoCommit = $FS::UID::AutoCommit; + local $FS::UID::AutoCommit = 0; + my $dbh = dbh; + + foreach my $cust_pay_pending (qsearch('cust_pay_pending',{ jobnum => $self->jobnum })) { + $cust_pay_pending->set('jobnum',''); + my $error = $cust_pay_pending->replace(); + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } + } + my $error = $self->SUPER::delete; - return $error if $error; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } + $dbh->commit or die $dbh->errstr if $oldAutoCommit; + unlink $reportname if $reportname; ''; @@ -364,19 +382,20 @@ sub update_statustext { #''; } -=item access_user - -Returns FS::access_user object (if any) associated with this user. - -Returns nothing if not found. - -=cut - -sub access_user { - my $self = shift; - my $usernum = $self->usernum || return (); - return qsearchs('access_user',{ 'usernum' => $usernum }) || (); -} +# not needed in 4 +#=item access_user +# +#Returns FS::access_user object (if any) associated with this user. +# +#Returns nothing if not found. +# +#=cut +# +#sub access_user { +# my $self = shift; +# my $usernum = $self->usernum || return (); +# return qsearchs('access_user',{ 'usernum' => $usernum }) || (); +#} =back