MT#7545 Adapt queries to the new voip_pbx_groups schema.

mr3.4.1
Victor Seva 12 years ago
parent 559d12b601
commit f9d87392a2

@ -6,12 +6,13 @@
--
local lookup_query = [[
SELECT g.name, s.username, d.domain
SELECT g.username, s.username, d.domain
FROM provisioning.voip_subscribers AS s
LEFT JOIN provisioning.voip_domains AS d ON s.domain_id = d.id
LEFT JOIN provisioning.voip_pbx_groups AS g ON s.pbx_group_id = g.id
LEFT JOIN provisioning.voip_pbx_groups AS ug ON s.id = ug.subscriber_id
LEFT JOIN provisioning.voip_subscribers AS g ON g.id = ug.group_id
LEFT JOIN provisioning.voip_usr_preferences as p ON p.subscriber_id = s.id
WHERE account_id = ? AND s.is_pbx_group = 0 AND s.pbx_group_id IS NOT NULL
WHERE s.account_id = ? AND s.is_pbx_group = 0 AND ug.group_id IS NOT NULL
AND (p.attribute_id = ? AND p.value = '1')
ORDER BY s.username;
]];
@ -21,29 +22,32 @@ SELECT s.username, d.domain, p.value
FROM provisioning.voip_subscribers AS s
LEFT JOIN provisioning.voip_domains AS d ON s.domain_id = d.id
LEFT JOIN provisioning.voip_usr_preferences as p ON p.subscriber_id = s.id
WHERE account_id = ? AND s.is_pbx_group = 0 AND s.pbx_group_id IS NOT NULL
LEFT JOIN provisioning.voip_pbx_groups AS ug ON s.id = ug.subscriber_id
WHERE s.account_id = ? AND s.is_pbx_group = 0 AND ug.group_id IS NOT NULL
AND p.attribute_id = ?
ORDER BY s.username;
]];
local lookup_user_group_query = [[
SELECT g.name
SELECT g.username
FROM provisioning.voip_subscribers AS s
LEFT JOIN provisioning.voip_domains AS d ON s.domain_id = d.id
LEFT JOIN provisioning.voip_pbx_groups AS g ON s.pbx_group_id = g.id
WHERE account_id = ? AND
LEFT JOIN provisioning.voip_pbx_groups AS ug ON s.id = ug.subscriber_id
LEFT JOIN provisioning.voip_subscribers AS g ON g.id = ug.group_id
WHERE s.account_id = ? AND
s.username = ? AND d.domain = ? AND
s.is_pbx_group = 0 AND s.pbx_group_id IS NOT NULL;
s.is_pbx_group = 0 AND ug.group_id IS NOT NULL;
]];
local lookup_users_by_groups_query = [[
SELECT g.name, s.username, d.domain
SELECT g.username, s.username, d.domain
FROM provisioning.voip_subscribers AS s
LEFT JOIN provisioning.voip_domains AS d ON s.domain_id = d.id
LEFT JOIN provisioning.voip_pbx_groups AS g ON s.pbx_group_id = g.id
LEFT JOIN provisioning.voip_pbx_groups AS ug ON s.id = ug.subscriber_id
LEFT JOIN provisioning.voip_subscribers AS g ON g.id = ug.group_id
LEFT JOIN provisioning.voip_usr_preferences as p ON p.subscriber_id = s.id
WHERE account_id = ? AND s.is_pbx_group = 0 AND s.pbx_group_id IS NOT NULL
AND (p.attribute_id = ? AND p.value = '1') AND g.name in (?)
WHERE s.account_id = ? AND s.is_pbx_group = 0 AND ug.group_id IS NOT NULL
AND (p.attribute_id = ? AND p.value = '1') AND g.username in (?)
ORDER BY s.username;
]];
@ -52,7 +56,7 @@ SELECT s.username, d.domain
FROM provisioning.voip_subscribers AS s
LEFT JOIN provisioning.voip_domains AS d ON s.domain_id = d.id
LEFT JOIN provisioning.voip_usr_preferences as p ON p.subscriber_id = s.id
WHERE account_id = ? AND s.is_pbx_group = 0
WHERE s.account_id = ? AND s.is_pbx_group = 0
AND (p.attribute_id = ? AND p.value = '1')
ORDER BY s.username;
]];
@ -222,7 +226,7 @@ function inject_roster_contacts(username, host, roster)
end
return result;
end
account_id = lookup_account_id();
-- TODO: set this parameters from usr_preferences
groups = lookup_groups(true, true);
@ -254,13 +258,13 @@ function inject_roster_contacts(username, host, roster)
module:log("debug", "Importing group %s", group_name);
import_jids_to_roster(group_name);
end
if roster[false] then
roster[false].version = true;
end
end
function module.load()
function module.load()
module:hook("roster-load", inject_roster_contacts);
module:log("info", "Groups loaded successfully");
end

Loading…
Cancel
Save