X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg.pm;h=3b1cbed16ca55e9d56512fd7bf555abf08f1a580;hb=106d0163556c31a3b2cf9c065ec6d9d6ded0ce64;hp=7bb434dbe9165a8d722e72d832f2588455a05b76;hpb=f13afe5e228a220311557e1ca6dacbf847c26baf;p=freeside.git diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 7bb434dbe..3b1cbed16 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -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). =cut @@ -766,6 +772,8 @@ sub bill_part_pkg_link { =item svc_part_pkg_link +Returns the associated part_pkg_link records (see L). + =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;