aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mod_muc_room.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index 6d92b7092..bc4b0a05b 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -3051,6 +3051,15 @@ can_change_ra(_FAffiliation, _FRole, admin, moderator,
can_change_ra(admin, _FRole, _TAffiliation, moderator,
role, participant, _ServiceAf) ->
true;
+can_change_ra(owner, moderator, TAffiliation,
+ moderator, role, none, _ServiceAf)
+ when TAffiliation /= owner ->
+ true;
+can_change_ra(admin, moderator, TAffiliation,
+ moderator, role, none, _ServiceAf)
+ when (TAffiliation /= owner) and
+ (TAffiliation /= admin) ->
+ true;
can_change_ra(_FAffiliation, _FRole, _TAffiliation,
_TRole, role, _Value, _ServiceAf) ->
false.