show un-configured ikano products, RT#7111
authorivan <ivan>
Mon, 21 Mar 2011 02:18:52 +0000 (02:18 +0000)
committerivan <ivan>
Mon, 21 Mar 2011 02:18:52 +0000 (02:18 +0000)
FS/FS/part_export/ikano.pm
httemplate/view/qual.cgi

index 303952c..2d7688d 100644 (file)
@@ -356,21 +356,27 @@ sub qual_result {
     }
 
     my %pkglist = ();
-    my $result = { 'header' => 'Qualifying Packages',
-                  'pkglist' => \%pkglist,
-                };
-
+    my %found = ();
     my @part_pkgs = qsearch( 'part_pkg', { 'disabled' => '' } );
     foreach my $part_pkg ( @part_pkgs ) {
        my %vendor_pkg_ids = $part_pkg->vendor_pkg_ids;
        my $externalid = $vendor_pkg_ids{$self->exportnum} 
            if defined $vendor_pkg_ids{$self->exportnum};
-       if ( $externalid && grep( $_ eq $externalid, @externalids )) {
-           $pkglist{$part_pkg->pkgpart} = $part_pkg->pkg." - ".$part_pkg->comment;
+       if ( $externalid && grep { $_ eq $externalid } @externalids ) {
+           $pkglist{$part_pkg->pkgpart} = $part_pkg->pkg_comment;
+            $found{$externalid}++;
        }
     }
 
-    $result;
+    my %not_avail = ();
+    foreach my $externalid ( grep !$found{$_}, @externalids ) {
+      $not_avail{$externalid} = $externalid; #a better label?
+    }
+
+    { 'header'    => 'Qualifying Packages',
+      'pkglist'   => \%pkglist,
+      'not_avail' => \%not_avail,
+    };
 }
 
 sub quals_by_cust_and_pkg { 
index 5e706a1..a0768c3 100644 (file)
 %       }
     </UL>
 %  }
+
+%  my $not_avail = $qual_result->{'not_avail'};
+%  if ( keys %$not_avail ) {
+     <BR>
+     Qualifying vendor packages (not yet configured in any package definition):
+     <% join(', ', map $not_avail->{$_}, keys %$not_avail ) |h %>
+%  }
+
 % }
 
 <%init>