plugins/muc/muc.lib: Use get_affilation() inside of set_affiliation(), so that the override in mod_muc works
authordaurnimator <quae@daurnimator.com>
Fri, 05 Sep 2014 11:20:54 -0400
changeset 6392 8528d1da461f
parent 6391 4d334d00c635
child 6393 fff6ca13cb0f
plugins/muc/muc.lib: Use get_affilation() inside of set_affiliation(), so that the override in mod_muc works
plugins/muc/muc.lib.lua
--- a/plugins/muc/muc.lib.lua	Fri Sep 05 11:19:16 2014 -0400
+++ b/plugins/muc/muc.lib.lua	Fri Sep 05 11:20:54 2014 -0400
@@ -984,10 +984,9 @@
 	local is_downgrade = valid_affiliations[target_affiliation or "none"] > valid_affiliations[affiliation or "none"];
 
 	if actor ~= true then
-		local actor_bare = jid_bare(actor);
-		local actor_affiliation = self._affiliations[actor_bare];
+		local actor_affiliation = self:get_affiliation(actor);
 		if actor_affiliation == "owner" then
-			if actor_bare == jid then -- self change
+			if jid_bare(actor) == jid then -- self change
 				-- need at least one owner
 				local is_last = true;
 				for j, aff in pairs(self._affiliations) do if j ~= jid and aff == "owner" then is_last = false; break; end end