ACL for hardware class config, RT#85057
[freeside.git] / FS / FS / cust_msg.pm
index 27272b8..2f78f39 100644 (file)
@@ -1,10 +1,9 @@
 package FS::cust_msg;
+use base qw( FS::cust_main_Mixin FS::Record );
 
 use strict;
-use base qw( FS::cust_main_Mixin FS::Record );
-use FS::Record qw( qsearch qsearchs );
+use FS::Record qw( dbh );
 use MIME::Parser;
-use vars qw( @statuses );
 
 =head1 NAME
 
@@ -23,9 +22,9 @@ FS::cust_msg - Object methods for cust_msg records
 
 =head1 DESCRIPTION
 
-An FS::cust_msg object represents an email message generated by Freeside 
-and sent to a customer (see L<FS::msg_template>).  FS::cust_msg inherits 
-from FS::Record.  The following fields are currently supported:
+An FS::cust_msg object represents an email message generated by Freeside.
+FS::cust_msg inherits from FS::Record.  The following fields are currently
+supported:
 
 =over 4
 
@@ -72,7 +71,7 @@ sub table { 'cust_msg'; }
 sub nohistory_fields { ('header', 'body'); } 
 # history is kind of pointless on this table
 
-@statuses = qw( prepared sent failed );
+our @statuses = qw( prepared sent failed );
 
 =item insert
 
@@ -225,6 +224,22 @@ sub process_send {
   die $error if $error;
 }
 
+sub _upgrade_schema {
+  my ($class, %opts) = @_;
+
+  my $sql = '
+    DELETE FROM cust_msg WHERE NOT EXISTS
+      ( SELECT 1 FROM cust_main WHERE cust_main.custnum = cust_msg.custnum )
+  ';
+
+  my $sth = dbh->prepare($sql) or die dbh->errstr;
+  $sth->execute or die $sth->errstr;
+  '';
+
+}
+
+=back
+
 =head1 SEE ALSO
 
 L<FS::msg_template>, L<FS::cust_main>, L<FS::Record>.