diff options
| author | Alexey Shchepin <alexey@process-one.net> | 2005-05-02 21:59:39 +0000 | 
|---|---|---|
| committer | Alexey Shchepin <alexey@process-one.net> | 2005-05-02 21:59:39 +0000 | 
| commit | fd118302bcfecf837d87f49e6b81ee59de81fb4f (patch) | |
| tree | 69d0f446c9ee060f0dd74e97504d8123f1ec76fd /src | |
| parent | * src/msgs/sw.msg: Renamed to sv.msg (diff) | |
* src/mod_muc/mod_muc_room.erl: Updated changing roles and
affiliations tables to latest JEP-0045
SVN Revision: 338
Diffstat (limited to 'src')
| -rw-r--r-- | src/mod_muc/mod_muc_room.erl | 37 | 
1 files changed, 31 insertions, 6 deletions
| diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index 355ada522..24e82c944 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -1677,6 +1677,19 @@ can_change_ra(FAffiliation, FRole,    when (FAffiliation == owner) or (FAffiliation == admin) ->      true;  can_change_ra(FAffiliation, FRole, +	      outcast, TRole, +	      affiliation, member) +  when (FAffiliation == owner) or (FAffiliation == admin) -> +    true; +can_change_ra(owner, FRole, +	      outcast, TRole, +	      affiliation, admin) -> +    true; +can_change_ra(owner, FRole, +	      outcast, TRole, +	      affiliation, owner) -> +    true; +can_change_ra(FAffiliation, FRole,  	      none, TRole,  	      affiliation, outcast)    when (FAffiliation == owner) or (FAffiliation == admin) -> @@ -1714,15 +1727,11 @@ can_change_ra(owner, FRole,      true;  can_change_ra(owner, FRole,  	      admin, TRole, -	      affiliation, member) -> -    true; -can_change_ra(owner, FRole, -	      admin, TRole, -	      affiliation, owner) -> +	      affiliation, _Affiliation) ->      true;  can_change_ra(owner, FRole,  	      owner, TRole, -	      affiliation, admin) -> +	      affiliation, _Affiliation) ->      true;  can_change_ra(FAffiliation, FRole,  	      TAffiliation, TRole, @@ -1756,6 +1765,22 @@ can_change_ra(FAffiliation, FRole,      true;  can_change_ra(FAffiliation, FRole,  	      owner, moderator, +	      role, visitor) -> +    false; +can_change_ra(owner, FRole, +	      TAffiliation, moderator, +	      role, visitor) -> +    true; +can_change_ra(FAffiliation, FRole, +	      admin, moderator, +	      role, visitor) -> +    false; +can_change_ra(admin, FRole, +	      TAffiliation, moderator, +	      role, visitor) -> +    true; +can_change_ra(FAffiliation, FRole, +	      owner, moderator,  	      role, participant) ->      false;  can_change_ra(owner, FRole, | 
