From 0fff8be254172452fabeef67f8136127466ab34b Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 21 Mar 2017 06:19:33 -0700 Subject: fix upgrade for dangling cust_main_invoice, RT#75271 --- FS/FS/Upgrade.pm | 1 + FS/FS/cust_main_invoice.pm | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm index da74555a5..6edec9072 100644 --- a/FS/FS/Upgrade.pm +++ b/FS/FS/Upgrade.pm @@ -575,6 +575,7 @@ sub upgrade_schema_data { 'cust_event_fee' => [], 'radius_attr' => [], 'queue_depend' => [], + 'cust_main_invoice' => [], #update records referencing removed things with their FKs 'cust_pkg' => [], ; diff --git a/FS/FS/cust_main_invoice.pm b/FS/FS/cust_main_invoice.pm index 6c155aca6..31a07bcff 100644 --- a/FS/FS/cust_main_invoice.pm +++ b/FS/FS/cust_main_invoice.pm @@ -2,7 +2,7 @@ package FS::cust_main_invoice; use base qw( FS::Record ); use strict; -use FS::Record qw( qsearchs ); +use FS::Record qw( qsearchs dbh ); use FS::Conf; use FS::svc_acct; use FS::Msgcat qw(gettext); @@ -167,6 +167,22 @@ Returns the parent customer object (see L). =back +=cut + +sub _upgrade_schema { + my ($class, %opts) = @_; + + # 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 =head1 SEE ALSO -- cgit v1.2.1 From 6b32ccb2690c96a445fa89e6a0b0f32a6651694a Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 21 Mar 2017 06:58:25 -0700 Subject: visual nit: fix stray | --- httemplate/view/cust_main/packages.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index d78bc969b..9b0377605 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -144,7 +144,6 @@ if ( el ) el.scrollIntoView(true); % } -<% $br++ ? ' | ' : '' %> % if ( $cust_main->num_cancelled_pkgs ) { % if ( $cgi->param('showcancelledpackages') eq '0' #see if it was set by me % || ( $conf->exists('hidecancelledpackages') @@ -162,6 +161,7 @@ if ( el ) el.scrollIntoView(true); % $cgi->param('showcancelledpackages', 1); % } + <% $br++ ? ' | ' : '' %> <% mt('cancelled packages') |h %> % } -- cgit v1.2.1 From d0b9bf2f18ea8c5b6a4267f7498df954bfaeafde Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 21 Mar 2017 06:58:57 -0700 Subject: visual nit: fix stray | --- httemplate/view/cust_main/packages.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index 9b0377605..0dc65a788 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -145,6 +145,7 @@ if ( el ) el.scrollIntoView(true); % } % if ( $cust_main->num_cancelled_pkgs ) { + <% $br++ ? ' | ' : '' %> % if ( $cgi->param('showcancelledpackages') eq '0' #see if it was set by me % || ( $conf->exists('hidecancelledpackages') % && ! $cgi->param('showcancelledpackages') @@ -161,7 +162,6 @@ if ( el ) el.scrollIntoView(true); % $cgi->param('showcancelledpackages', 1); % } - <% $br++ ? ' | ' : '' %> <% mt('cancelled packages') |h %> % } -- cgit v1.2.1