package FS::cust_main_invoice;
+use base qw( FS::Record );
use strict;
-use vars qw(@ISA);
-use Exporter;
-use FS::Record qw( qsearchs );
+use FS::Record qw( qsearchs dbh );
use FS::Conf;
-use FS::cust_main;
use FS::svc_acct;
use FS::Msgcat qw(gettext);
-@ISA = qw( FS::Record );
-
=head1 NAME
FS::cust_main_invoice - Object methods for cust_main_invoice records
+=head1 ANNOUNCEMENT
+
+This is deprecated in version 4. Instead, contacts with the "invoice_dest"
+attribute should be used.
+
=head1 SYNOPSIS
use FS::cust_main_invoice;
;
return $error if $error;
- return "Unknown customer"
- unless qsearchs('cust_main',{ 'custnum' => $self->custnum });
-
$self->SUPER::check;
}
Returns the parent customer object (see L<FS::cust_main>).
+=back
+
=cut
-sub cust_main {
- my $self = shift;
- qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
-}
+sub _upgrade_schema {
+ my ($class, %opts) = @_;
-=back
+ # delete records where custnum points to a nonexistent customer
+ my $sql = 'DELETE FROM cust_main_invoice
+ WHERE NOT EXISTS (
+ SELECT 1 FROM cust_main WHERE cust_main.custnum = cust_main_invoice.custnum
+ )';
+ my $sth = dbh->prepare($sql) or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+
+ '';
+}
=head1 BUGS