X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcontact.pm;h=c9cc69fc080f069e78b4e99bce4885a1a90d4e22;hb=acc311a412cd8660572eb6de6712a1e0b2768ec1;hp=0828c59696cc654aff54c9dfae584240e21e26b9;hpb=c9450c02f7ac2f904a6ffabb07b6b2d5bca1fd4a;p=freeside.git diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm index 0828c5969..c9cc69fc0 100644 --- a/FS/FS/contact.pm +++ b/FS/FS/contact.pm @@ -2,6 +2,7 @@ package FS::contact; use base qw( FS::Record ); use strict; +use vars qw( $skip_fuzzyfiles ); use Scalar::Util qw( blessed ); use FS::Record qw( qsearch qsearchs dbh ); use FS::prospect_main; @@ -11,6 +12,9 @@ use FS::cust_location; use FS::contact_phone; use FS::contact_email; use FS::queue; +use FS::cust_pkg; + +$skip_fuzzyfiles = 0; =head1 NAME @@ -165,7 +169,7 @@ sub insert { } - #unless ( $import || $skip_fuzzyfiles ) { + unless ( $skip_fuzzyfiles ) { #unless ( $import || $skip_fuzzyfiles ) { #warn " queueing fuzzyfiles update\n" # if $DEBUG > 1; $error = $self->queue_fuzzyfiles_update; @@ -173,7 +177,7 @@ sub insert { $dbh->rollback if $oldAutoCommit; return "updating fuzzy search cache: $error"; } - #} + } if ( $self->selfservice_access ) { my $error = $self->send_reset_email( queue=>1 ); @@ -211,6 +215,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 ) { @@ -313,7 +326,7 @@ sub replace { } - #unless ( $import || $skip_fuzzyfiles ) { + unless ( $skip_fuzzyfiles ) { #unless ( $import || $skip_fuzzyfiles ) { #warn " queueing fuzzyfiles update\n" # if $DEBUG > 1; $error = $self->queue_fuzzyfiles_update; @@ -321,7 +334,7 @@ sub replace { $dbh->rollback if $oldAutoCommit; return "updating fuzzy search cache: $error"; } - #} + } if ( ( $old->selfservice_access eq '' && $self->selfservice_access && ! $self->_password @@ -470,6 +483,11 @@ sub contact_class { qsearchs('contact_class', { 'classnum' => $self->classnum } ); } +sub firstlast { + my $self = shift; + $self->first . ' ' . $self->last; +} + sub contact_classname { my $self = shift; my $contact_class = $self->contact_class or return ''; @@ -491,6 +509,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) = @_; @@ -502,8 +526,6 @@ sub by_selfservice_email { " AND ( disabled IS NULL OR disabled = '' )", }) or return ''; -warn $contact_email; - $contact_email->contact; }