[freeside-commits] branch FREESIDE_4_BRANCH updated. 1c0d446903667479a85385015cc5fa1dda60a280

Ivan ivan at 420.am
Wed Mar 8 20:38:20 PST 2017


The branch, FREESIDE_4_BRANCH has been updated
       via  1c0d446903667479a85385015cc5fa1dda60a280 (commit)
      from  0024b34f8b76ec9e198098dc6a862522d4834243 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1c0d446903667479a85385015cc5fa1dda60a280
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Mar 8 20:38:19 2017 -0800

    fix upgrade for cust_msg when a customer was deleted, RT#74298

diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm
index d401312..cf3e81e 100644
--- a/FS/FS/Upgrade.pm
+++ b/FS/FS/Upgrade.pm
@@ -573,6 +573,7 @@ sub upgrade_schema_data {
     #remove records referencing removed things with their FKs
     'pkg_referral' => [],
     'cust_bill_pkg_discount' => [],
+    'cust_msg' => [],
     #update records referencing removed things with their FKs
     'cust_pkg' => [],
   ;
diff --git a/FS/FS/cust_msg.pm b/FS/FS/cust_msg.pm
index 5309e25..2f78f39 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
 
@@ -72,7 +71,7 @@ sub table { 'cust_msg'; }
 sub nohistory_fields { ('header', 'body'); } 
 # history is kind of pointless on this table
 
- at 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>.

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Upgrade.pm  |    1 +
 FS/FS/cust_msg.pm |   23 +++++++++++++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)




More information about the freeside-commits mailing list