X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Foption_Common.pm;h=74adbede8b3cd9b3784082bc0bcb01b0b0e5bac7;hb=03ab761a53bffa14d09f23fb8b9702806a1c6b79;hp=b29cf44bb36d9534e4253b66725657530ffe0333;hpb=03dc5996825a284a3bb922324402730f9f2e404f;p=freeside.git diff --git a/FS/FS/option_Common.pm b/FS/FS/option_Common.pm index b29cf44bb..74adbede8 100644 --- a/FS/FS/option_Common.pm +++ b/FS/FS/option_Common.pm @@ -67,13 +67,8 @@ sub insert { my $error; - $error = $self->check_options($options); - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return $error; - } - - $error = $self->SUPER::insert; + $error = $self->check_options($options) + || $self->SUPER::insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; @@ -139,13 +134,7 @@ sub delete { my $oldAutoCommit = $FS::UID::AutoCommit; local $FS::UID::AutoCommit = 0; my $dbh = dbh; - - my $error = $self->SUPER::delete; - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return $error; - } - + my $pkey = $self->primary_key; #my $option_table = $self->option_table; @@ -157,6 +146,12 @@ sub delete { } } + my $error = $self->SUPER::delete; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } + $dbh->commit or die $dbh->errstr if $oldAutoCommit; ''; @@ -208,8 +203,8 @@ sub replace { my $error; if ($options_supplied) { - $error = $self->check_options($options); - if ( $error ) { + $error = $self->check_options($options); + if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; }