BugFix: Room member details: "reset to normal user" option #149

This commit is contained in:
giomfo
2016-03-15 18:59:50 +01:00
parent cf838de1bd
commit 692fe36cd8
@@ -296,14 +296,27 @@
if (oneSelfPowerLevel >= [powerLevels minimumPowerLevelForSendingEventAsStateEvent:kMXEventTypeStringRoomPowerLevels])
{
// Check whether the user is admin (in this case he may reduce his power level to become moderator).
// Check whether the user is admin (in this case he may reduce his power level to become moderator or less, EXCEPT if he is the only admin).
if (oneSelfPowerLevel >= kVectorRoomAdminLevel)
{
[actionsArray addObject:@(MXKRoomMemberDetailsActionSetModerator)];
NSArray *levelValues = powerLevels.users.allValues;
NSUInteger adminCount = 0;
for (NSNumber *valueNumber in levelValues)
{
if ([valueNumber unsignedIntegerValue] >= kVectorRoomAdminLevel)
{
adminCount ++;
}
}
if (adminCount > 1)
{
[actionsArray addObject:@(MXKRoomMemberDetailsActionSetModerator)];
[actionsArray addObject:@(MXKRoomMemberDetailsActionSetDefaultPowerLevel)];
}
}
// Check whether the user is moderator (in this case he may reduce his power level to become normal user).
if (oneSelfPowerLevel >= kVectorRoomModeratorLevel)
else if (oneSelfPowerLevel >= kVectorRoomModeratorLevel)
{
[actionsArray addObject:@(MXKRoomMemberDetailsActionSetDefaultPowerLevel)];
}