diff options
author | Mark Wells <mark@freeside.biz> | 2014-02-24 19:11:34 -0800 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2014-02-24 19:11:34 -0800 |
commit | cf69a36faa57cdb544948c905059cf1e1ac73e07 (patch) | |
tree | c32639fed4f7cc956a9c574802df7d6aec3ce529 | |
parent | cc3a43f7d4386297a8babebfdd49646f836db127 (diff) |
fix deletion of objects with options, fallout from #13971
-rw-r--r-- | FS/FS/option_Common.pm | 14 | ||||
-rw-r--r-- | FS/FS/part_export.pm | 4 | ||||
-rwxr-xr-x | bin/test_scrub_sql | 4 |
3 files changed, 13 insertions, 9 deletions
diff --git a/FS/FS/option_Common.pm b/FS/FS/option_Common.pm index c1dda22af..74adbede8 100644 --- a/FS/FS/option_Common.pm +++ b/FS/FS/option_Common.pm @@ -134,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; @@ -152,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; ''; diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm index 8e10ea712..9d261f02d 100644 --- a/FS/FS/part_export.pm +++ b/FS/FS/part_export.pm @@ -161,6 +161,10 @@ sub delete { 'link_table' => 'export_nas', 'target_table' => 'nas', 'params' => [], + ) || $self->process_m2m( + 'link_table' => 'export_svc', + 'target_table' => 'part_svc', + 'params' => [], ) || $self->SUPER::delete; if ( $error ) { $dbh->rollback if $oldAutoCommit; diff --git a/bin/test_scrub_sql b/bin/test_scrub_sql index fb26fe940..fe66805d3 100755 --- a/bin/test_scrub_sql +++ b/bin/test_scrub_sql @@ -15,11 +15,11 @@ foreach my $table (qw( part_export_option - payment_gateway payment_gateway_option + payment_gateway agent_payment_gateway - queue queue_arg + queue cust_pay_batch )) { print "DELETE FROM $table;\n"; |