From 97105665715dd56465db126082919a319c71c2e2 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 13 May 2014 12:35:09 -0700 Subject: [PATCH] remove deleted contacts from packages, RT#28949 --- FS/FS/contact.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm index 5c3981bdb..4a1fb39ba 100644 --- a/FS/FS/contact.pm +++ b/FS/FS/contact.pm @@ -11,6 +11,7 @@ use FS::cust_location; use FS::contact_phone; use FS::contact_email; use FS::queue; +use FS::cust_pkg; =head1 NAME @@ -211,6 +212,15 @@ sub delete { local $FS::UID::AutoCommit = 0; my $dbh = dbh; + foreach my $cust_pkg ( $self->cust_pkg ) { + $cust_pkg->contactnum(''); + my $error = $cust_pkg->replace; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } + } + foreach my $object ( $self->contact_phone, $self->contact_email ) { my $error = $object->delete; if ( $error ) { @@ -491,6 +501,12 @@ sub cust_main { qsearchs('cust_main', { 'custnum' => $self->custnum } ); } +sub cust_pkg { + my $self = shift; + qsearch('cust_pkg', { 'contactnum' => $self->contactnum } ); +} + + sub by_selfservice_email { my($class, $email) = @_; -- 2.11.0