diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_muc_room.erl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl index bc4b0a05b..ede3c8ebb 100644 --- a/src/mod_muc_room.erl +++ b/src/mod_muc_room.erl @@ -3055,11 +3055,20 @@ can_change_ra(owner, moderator, TAffiliation, moderator, role, none, _ServiceAf) when TAffiliation /= owner -> true; +can_change_ra(owner, subscriber, 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(admin, subscriber, TAffiliation, + moderator, role, none, _ServiceAf) + when (TAffiliation /= owner) and + (TAffiliation /= admin) -> + true; can_change_ra(_FAffiliation, _FRole, _TAffiliation, _TRole, role, _Value, _ServiceAf) -> false. |