diff options
author | ivan <ivan> | 2009-12-19 19:10:44 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-12-19 19:10:44 +0000 |
commit | 8a9f1d5a5412e689ae91a8036f9e5fa2a4b163ee (patch) | |
tree | c87d449f664666fbcc049bd93574daa7ff06191a | |
parent | c1d8e2288d9b44823bd9216c5e96ba9d052a04bd (diff) |
fix package order to really display only those pacakges available
-rw-r--r-- | FS/FS/part_pkg.pm | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 82d6ed5f7..0aadd5a78 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -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) + ) + ) ) "; |