X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_msg.pm;h=2f78f39450e831a9bab2bfbf8e7759bfc60c315f;hb=103dfde149eec5034696d073253255f508a1be78;hp=ec2c961a338d337b152ed8826f91d4ec4bb25bae;hpb=76e8fffdfe3b6f6f8ab422038b62e40cc10f95e8;p=freeside.git diff --git a/FS/FS/cust_msg.pm b/FS/FS/cust_msg.pm index ec2c961a3..2f78f3945 100644 --- a/FS/FS/cust_msg.pm +++ b/FS/FS/cust_msg.pm @@ -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::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 @@ -148,6 +147,7 @@ sub check { 'invoice', 'receipt', 'admin', + 'report', ]) ; return $error if $error; @@ -205,6 +205,41 @@ sub parts { =back +=head1 SUBROUTINES + +=over 4 + +=item process_send CUSTMSGNUM + +Given a C value, sends the message. It must already +have been prepared (via L). + +=cut + +sub process_send { + my $custmsgnum = shift; + my $cust_msg = FS::cust_msg->by_key($custmsgnum) + or die "cust_msg #$custmsgnum not found"; + my $error = $cust_msg->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, L, L.