summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mod_muc_room.erl10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index fec21d2f..6d92b709 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -2988,6 +2988,11 @@ can_change_ra(_FAffiliation, _FRole, _TAffiliation,
can_change_ra(_FAffiliation, moderator, _TAffiliation,
visitor, role, none, _ServiceAf) ->
true;
+can_change_ra(FAffiliation, subscriber, _TAffiliation,
+ visitor, role, none, _ServiceAf)
+ when (FAffiliation == owner) or
+ (FAffiliation == admin) ->
+ true;
can_change_ra(_FAffiliation, moderator, _TAffiliation,
visitor, role, participant, _ServiceAf) ->
true;
@@ -3004,6 +3009,11 @@ can_change_ra(FAffiliation, _FRole, _TAffiliation,
can_change_ra(_FAffiliation, moderator, _TAffiliation,
participant, role, none, _ServiceAf) ->
true;
+can_change_ra(FAffiliation, subscriber, _TAffiliation,
+ participant, role, none, _ServiceAf)
+ when (FAffiliation == owner) or
+ (FAffiliation == admin) ->
+ true;
can_change_ra(_FAffiliation, moderator, _TAffiliation,
participant, role, visitor, _ServiceAf) ->
true;