the master control program has chosen YOU to serve your system on the game grid
[freeside.git] / FS / FS / part_pkg.pm
index 7bb434d..3b1cbed 100644 (file)
@@ -342,7 +342,13 @@ sub replace {
   my $pkg_svc = $options->{'pkg_svc'} || {};
   foreach my $part_svc ( qsearch('part_svc', {} ) ) {
     my $quantity = $pkg_svc->{$part_svc->svcpart} || 0;
-    my $primary_svc = $options->{'primary_svc'} == $part_svc->svcpart ? 'Y' : '';
+    my $primary_svc =
+      ( defined($options->{'primary_svc'})
+        && $options->{'primary_svc'} == $part_svc->svcpart
+      )
+        ? 'Y'
+        : '';
+
 
     my $old_pkg_svc = qsearchs('pkg_svc', {
       'pkgpart' => $old->pkgpart,
@@ -756,7 +762,7 @@ sub option {
 
 =item bill_part_pkg_link
 
-Returns the associated part_pkg_link records (see L<FS::part_pkg_link).
+Returns the associated part_pkg_link records (see L<FS::part_pkg_link>).
 
 =cut
 
@@ -766,6 +772,8 @@ sub bill_part_pkg_link {
 
 =item svc_part_pkg_link
 
+Returns the associated part_pkg_link records (see L<FS::part_pkg_link>).
+
 =cut
 
 sub svc_part_pkg_link {
@@ -1023,6 +1031,7 @@ sub _upgrade_data { # class method
 
 =cut
 
+#false laziness w/part_export & cdr
 my %info;
 foreach my $INC ( @INC ) {
   warn "globbing $INC/FS/part_pkg/*.pm\n" if $DEBUG;
@@ -1040,8 +1049,7 @@ foreach my $INC ( @INC ) {
       next;
     }
     unless ( keys %$info ) {
-      warn "no %info hash found in FS::part_pkg::$mod, skipping\n"
-        unless $mod =~ /^(passwdfile|null)$/; #hack but what the heck
+      warn "no %info hash found in FS::part_pkg::$mod, skipping\n";
       next;
     }
     warn "got plan info from FS::part_pkg::$mod: $info\n" if $DEBUG;
@@ -1054,7 +1062,7 @@ foreach my $INC ( @INC ) {
 }
 
 tie %plans, 'Tie::IxHash',
-  map { $_ => $info{$_} }
+  map  { $_ => $info{$_} }
   sort { $info{$a}->{'weight'} <=> $info{$b}->{'weight'} }
   keys %info;