fix package order to really display only those pacakges available
authorivan <ivan>
Sat, 19 Dec 2009 19:10:44 +0000 (19:10 +0000)
committerivan <ivan>
Sat, 19 Dec 2009 19:10:44 +0000 (19:10 +0000)
FS/FS/part_pkg.pm

index 82d6ed5..0aadd5a 100644 (file)
@@ -1378,15 +1378,16 @@ sub _pkgs_sql {
 
   "
     (
-      agentnum IS NOT NULL
-      OR
-      0 < ( SELECT COUNT(*)
-              FROM type_pkgs
-                LEFT JOIN agent_type USING ( typenum )
-                LEFT JOIN agent AS typeagent USING ( typenum )
-              WHERE type_pkgs.pkgpart = part_pkg.pkgpart
-                AND typeagent.agentnum IN ($agentnums)
-          )
+      ( agentnum IS NOT NULL AND agentnum IN ($agentnums) )
+      OR ( agentnum IS NULL
+           AND EXISTS ( SELECT 1
+                          FROM type_pkgs
+                            LEFT JOIN agent_type USING ( typenum )
+                            LEFT JOIN agent AS typeagent USING ( typenum )
+                          WHERE type_pkgs.pkgpart = part_pkg.pkgpart
+                            AND typeagent.agentnum IN ($agentnums)
+                      )
+         )
     )
   ";