From f4e4cfbd02d830efd60bc07af0b7d953c77bab88 Mon Sep 17 00:00:00 2001
From: daurnimator <quae@daurnimator.com>
Date: Fri, 5 Sep 2014 11:20:54 -0400
Subject: plugins/muc/muc.lib: Use get_affilation() inside of
 set_affiliation(), so that the override in mod_muc works

---
 plugins/muc/muc.lib.lua | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index d430f984..31b5c559 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -984,10 +984,9 @@ function room_mt:set_affiliation(actor, jid, affiliation, reason)
 	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
-- 
cgit v1.2.3