MESSENGER-5381 disable federated admins

This commit is contained in:
JanNiklas Grabowski
2024-01-24 18:00:18 +01:00
parent f20b1660d3
commit fa385e5a0c
3 changed files with 45 additions and 1 deletions
@@ -1270,7 +1270,22 @@
}
case MXKRoomMemberDetailsActionSetAdmin:
{
[self setPowerLevel:RoomPowerLevelAdmin promptUser:YES];
// bwi: #5381 federated admins are not allowed
if (BWIBuildSettings.shared.isFederationEnabled)
{
if ([self.mxRoom isRoomMemberFederated:self.mxRoomMember.userId])
{
[self showAlertFederatedAdminsNotAllowed];
}
else
{
[self setPowerLevel:RoomPowerLevelAdmin promptUser:YES];
}
}
else
{
[self setPowerLevel:RoomPowerLevelAdmin promptUser:YES];
}
break;
}
case MXKRoomMemberDetailsActionBan:
@@ -1690,6 +1705,29 @@
[bwiUserLabelButton setTitle:title forState:UIControlStateHighlighted];
}
// bwi: #5381 federated admins are not allowed
- (void)showAlertFederatedAdminsNotAllowed {
__weak typeof(self) weakSelf = self;
currentAlert = [UIAlertController alertControllerWithTitle:BWIL10n.roomMemberDetailsChangeFederatedMemberPowerLvlToAdminErrorText
message:nil
preferredStyle:UIAlertControllerStyleAlert];
[currentAlert addAction:[UIAlertAction actionWithTitle:BWIL10n.roomMemberDetailsChangeFederatedMemberPowerLvlToAdminErrorButton
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
typeof(self) self = weakSelf;
self->currentAlert = nil;
}
}]];
[self presentViewController:currentAlert animated:YES completion:nil];
}
#pragma mark - bwi textfield delegate
-(void) textFieldDidChangeSelection:(UITextField *)textField {