RT#40641: unprovisioning preserved cancelled services [fixed for cust_svc without...
authorJonathan Prykop <jonathan@freeside.biz>
Wed, 8 Jun 2016 22:24:35 +0000 (17:24 -0500)
committerJonathan Prykop <jonathan@freeside.biz>
Wed, 8 Jun 2016 22:24:35 +0000 (17:24 -0500)
12 files changed:
httemplate/search/cust_svc.html
httemplate/search/svc_acct.cgi
httemplate/search/svc_broadband.cgi
httemplate/search/svc_circuit.cgi
httemplate/search/svc_dish.cgi
httemplate/search/svc_domain.cgi
httemplate/search/svc_external.cgi
httemplate/search/svc_fiber.html
httemplate/search/svc_forward.cgi
httemplate/search/svc_hardware.cgi
httemplate/search/svc_phone.cgi
httemplate/search/svc_www.cgi

index 7000e30..b282630 100644 (file)
@@ -21,6 +21,7 @@
                              },
                              sub {
                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_pkg;
+                               return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                              },
                              # package?
@@ -39,6 +40,8 @@
                              '',
                              '',
                              sub {
+                               $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_pkg;
+                               return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                my $c = FS::cust_pkg::statuscolors;
                                $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                              }, # pkg status
index ef89f01..ecf37b4 100755 (executable)
@@ -356,11 +356,14 @@ foreach my $pkg_field ( @pkg_fields ) {
 push @header, emt('Pkg. Status');
 push @fields, sub {
   $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+  return '' unless $cust_pkg_cache{$_[0]->svcnum};
   $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status;
 };
 push @links, '';
 $align .= 'r';
 push @color, sub {
+  $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+  return '' unless $cust_pkg_cache{$_[0]->svcnum};
   my $c = FS::cust_pkg::statuscolors;
   $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
 };
index ff2538c..8cdf29d 100755 (executable)
@@ -23,6 +23,7 @@
                                  'ip_addr',
                                  sub {
                                    $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                   return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                    $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                  },
                                  \&FS::UI::Web::cust_fields,
@@ -46,6 +47,8 @@
                                  (map '', @tower_fields),
                                  '',
                                  sub {
+                                   $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                   return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                    my $c = FS::cust_pkg::statuscolors;
                                    $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                                  }, # pkg status
index 2174734..3a85375 100644 (file)
@@ -21,6 +21,7 @@
                      'ip_addr',
                      sub {
                        $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                        $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                      },
                      \&FS::UI::Web::cust_fields,
@@ -38,6 +39,8 @@
   'color'       => [ 
                      ('') x 6,
                      sub {
+                       $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                        my $c = FS::cust_pkg::statuscolors;
                        $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                      }, # pkg status
index 1e73308..5c47608 100755 (executable)
@@ -15,6 +15,7 @@
                                     'acctnum',
                                     sub {
                                       $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                      return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                       $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                     },
                                     \&FS::UI::Web::cust_fields,
@@ -33,6 +34,8 @@
                               '',
                               '',
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status
index c8fca9f..23eeba6 100755 (executable)
@@ -15,6 +15,7 @@
                                           'domain',
                                           sub {
                                             $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                            return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                             $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                           },
                                           \&FS::UI::Web::cust_fields,
@@ -33,6 +34,8 @@
                               '',
                               '',
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status
index 5f90561..426ac16 100755 (executable)
@@ -17,6 +17,7 @@
                                           'title',
                                           sub {
                                             $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                            return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                             $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                           },
                                           \&FS::UI::Web::cust_fields,
@@ -38,6 +39,8 @@
                               '',
                               '',
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status
index 3960a16..a07c5f5 100644 (file)
@@ -23,6 +23,7 @@
                      'ont_serial',
                      sub {
                        $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                        $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                      },
                      \&FS::UI::Web::cust_fields,
@@ -40,6 +41,8 @@
   'color'       => [ 
                      ('') x 6,
                      sub {
+                       $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                        my $c = FS::cust_pkg::statuscolors;
                        $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                      }, # pkg status
index ca2c288..c9b6012 100755 (executable)
@@ -17,6 +17,7 @@
                                           $format_dst,
                                           sub {
                                             $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                            return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                             $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                           },
                                           \&FS::UI::Web::cust_fields,
@@ -37,6 +38,8 @@
                               '',
                               '',
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status
index 78f413e..c41cc5a 100644 (file)
@@ -25,6 +25,7 @@
                                      'smartcard',
                                      sub {
                                        $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                        $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                      },
                                      \&FS::UI::Web::cust_fields,
@@ -38,6 +39,8 @@
             'align'             => 'rlllllllr' . FS::UI::Web::cust_aligns(),
             'color'             => [ ('') x 8,
                                      sub {
+                                       $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                       return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                        my $c = FS::cust_pkg::statuscolors;
                                        $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                                      }, # pkg status
index 29e7456..4c0b654 100644 (file)
@@ -19,6 +19,7 @@
                                           @fields,
                                           sub {
                                             $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                            return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                             $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                           },
                                           \&FS::UI::Web::cust_fields,
@@ -44,6 +45,8 @@
                               '',
                               ( map '', @header ),
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status
index 4f6611f..6e9ba92 100755 (executable)
@@ -23,6 +23,7 @@
                                         },
                                     sub {
                                       $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                      return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                       $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
                                     },
                                     \&FS::UI::Web::cust_fields,
@@ -43,6 +44,8 @@
                               '',
                               '',
                               sub {
+                                $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
+                                return '' unless $cust_pkg_cache{$_[0]->svcnum};
                                 my $c = FS::cust_pkg::statuscolors;
                                 $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
                               }, # pkg status