summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2009-12-19 19:10:44 +0000
committerivan <ivan>2009-12-19 19:10:44 +0000
commit8a9f1d5a5412e689ae91a8036f9e5fa2a4b163ee (patch)
treec87d449f664666fbcc049bd93574daa7ff06191a /FS
parentc1d8e2288d9b44823bd9216c5e96ba9d052a04bd (diff)
fix package order to really display only those pacakges available
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/part_pkg.pm19
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)
+ )
+ )
)
";