aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2018-09-25 10:27:17 +0200
committerBadlop <badlop@process-one.net>2018-09-25 10:55:56 +0200
commit49f1b4a691d502b14457105f294781f77bda66a2 (patch)
tree8e0ae0765af4a07d81068943bda71c70e36193e9 /src
parentAllow a subscribed owner/admin to kick participants and visitors (diff)
Allow an occupant owner/admin to kick lower-affiliation moderator
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.