projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
get rid of FS::SSH.pm (became Net::SSH and Net::SCP on CPAN)
[freeside.git]
/
FS
/
FS
/
svc_Common.pm
diff --git
a/FS/FS/svc_Common.pm
b/FS/FS/svc_Common.pm
index
8bcdf4f
..
bc5b756
100644
(file)
--- a/
FS/FS/svc_Common.pm
+++ b/
FS/FS/svc_Common.pm
@@
-2,7
+2,7
@@
package FS::svc_Common;
use strict;
use vars qw( @ISA );
use strict;
use vars qw( @ISA );
-use FS::Record qw( qsearchs fields );
+use FS::Record qw( qsearchs fields
dbh
);
use FS::cust_svc;
use FS::part_svc;
use FS::cust_svc;
use FS::part_svc;
@@
-48,6
+48,10
@@
sub insert {
local $SIG{TSTP} = 'IGNORE';
local $SIG{PIPE} = 'IGNORE';
local $SIG{TSTP} = 'IGNORE';
local $SIG{PIPE} = 'IGNORE';
+ my $oldAutoCommit = $FS::UID::AutoCommit;
+ local $FS::UID::AutoCommit = 0;
+ my $dbh = dbh;
+
$error = $self->check;
return $error if $error;
$error = $self->check;
return $error if $error;
@@
-60,16
+64,21
@@
sub insert {
'svcpart' => $self->svcpart,
} );
$error = $cust_svc->insert;
'svcpart' => $self->svcpart,
} );
$error = $cust_svc->insert;
- return $error if $error;
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return $error;
+ }
$svcnum = $self->svcnum($cust_svc->svcnum);
}
$error = $self->SUPER::insert;
if ( $error ) {
$svcnum = $self->svcnum($cust_svc->svcnum);
}
$error = $self->SUPER::insert;
if ( $error ) {
- $
cust_svc->delete if $cust_svc
;
+ $
dbh->rollback if $oldAutoCommit
;
return $error;
}
return $error;
}
+ $dbh->commit or die $dbh->errstr if $oldAutoCommit;
+
'';
}
'';
}
@@
-184,7
+193,7
@@
sub cancel { ''; }
=head1 VERSION
=head1 VERSION
-$Id: svc_Common.pm,v 1.
2 2001-04-09 23:05:15
ivan Exp $
+$Id: svc_Common.pm,v 1.
4 2001-04-22 00:49:30
ivan Exp $
=head1 BUGS
=head1 BUGS