Mercurial > prosody-hg
comparison plugins/muc/muc.lib.lua @ 9718:81ef96368bff 0.11
MUC: Allow changing data attached to an only owner (fixes #1273)
This previously prevented a single owner from setting their own nickname
via admin query.
The form method uses `true` as actor so it bypasses this check.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 20 Dec 2018 14:45:22 +0100 |
| parents | 5281a795d6df |
| children | 941497cdefc3 11671a2e07a9 |
comparison
equal
deleted
inserted
replaced
| 9716:5281a795d6df | 9718:81ef96368bff |
|---|---|
| 1252 if actor == true then | 1252 if actor == true then |
| 1253 actor = nil -- So we can pass it safely to 'publicise_occupant_status' below | 1253 actor = nil -- So we can pass it safely to 'publicise_occupant_status' below |
| 1254 else | 1254 else |
| 1255 local actor_affiliation = self:get_affiliation(actor); | 1255 local actor_affiliation = self:get_affiliation(actor); |
| 1256 if actor_affiliation == "owner" then | 1256 if actor_affiliation == "owner" then |
| 1257 if jid_bare(actor) == jid then -- self change | 1257 if jid_bare(actor) == jid and is_downgrade then -- self change |
| 1258 -- need at least one owner | 1258 -- need at least one owner |
| 1259 local is_last = true; | 1259 local is_last = true; |
| 1260 for j in self:each_affiliation("owner") do | 1260 for j in self:each_affiliation("owner") do |
| 1261 if j ~= jid then is_last = false; break; end | 1261 if j ~= jid then is_last = false; break; end |
| 1262 end | 1262 end |
