Merge branch 'master' of ssh://git.freeside.biz/home/git/freeside
authorChristopher Burger <burgerc@freeside.biz>
Tue, 21 Mar 2017 14:29:20 +0000 (10:29 -0400)
committerChristopher Burger <burgerc@freeside.biz>
Tue, 21 Mar 2017 14:29:20 +0000 (10:29 -0400)
FS/FS/Upgrade.pm
FS/FS/cust_main_invoice.pm
httemplate/view/cust_main/packages.html

index da74555..6edec90 100644 (file)
@@ -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' => [],
   ;
index 6c155ac..31a07bc 100644 (file)
@@ -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<FS::cust_main>).
 
 =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
index d78bc96..0dc65a7 100755 (executable)
@@ -144,8 +144,8 @@ if ( el ) el.scrollIntoView(true);
 
 % }
 
-<% $br++ ? ' | ' : '' %>
 % 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')