summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-01-25 11:26:47 -0800
committerIvan Kohler <ivan@freeside.biz>2017-01-25 11:26:47 -0800
commitdbc1003640a2f9593c1465ec66bf9be3645b834b (patch)
tree11259061abecea17278d72c316d002f458796e08
parentdaed831fd026377530b224ef0d7ed9653a8eb763 (diff)
fix encryption upgrades when a payment is refunded, then deleted. RT#74270, RT#73085
-rw-r--r--FS/FS/cust_refund.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/FS/FS/cust_refund.pm b/FS/FS/cust_refund.pm
index 12ab0d693..2d5b3aaae 100644
--- a/FS/FS/cust_refund.pm
+++ b/FS/FS/cust_refund.pm
@@ -472,6 +472,19 @@ sub unapplied_sql {
}
+sub _upgrade_schema {
+ #my ($class, %opts) = @_;
+
+ my $sql = 'UPDATE cust_refund SET source_paynum = NULL
+ WHERE source_paynum IS NOT NULL
+ AND NOT EXISTS ( SELECT 1 FROM cust_pay
+ WHERE paynum = cust_refund.source_paynum )
+ ';
+ my $sth = dbh->prepare($sql) or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+ '';
+}
+
# Used by FS::Upgrade to migrate to a new database.
sub _upgrade_data { # class method
my ($class, %opts) = @_;