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

View File

@@ -683,3 +683,6 @@
"create_room_failed_to_deactivate_federation_for_room_error_title" = "Föderation aktiv";
"create_room_failed_to_deactivate_federation_for_room_error_text" = "Die Föderation konnte nicht deaktiviert werden, bitte versuche es später erneut.";
"create_room_failed_to_deactivate_federation_alert_dismiss_button" = "Ok";
"room_member_details_change_federated_member_power_lvl_to_admin_error_text" = "Diese Person kann keine Adminrechte erhalten, da sie nicht aus deiner Organisation stammt. Föderierte Personen können nur Mitglieder oder Moderatoren sein.";
"room_member_details_change_federated_member_power_lvl_to_admin_error_button" = "Verstanden";

View File

@@ -592,3 +592,6 @@
"create_room_failed_to_deactivate_federation_for_room_error_title" = "Federation active";
"create_room_failed_to_deactivate_federation_for_room_error_text" = "The federation could not be disabled, please try again later.";
"create_room_failed_to_deactivate_federation_alert_dismiss_button" = "Ok";
"room_member_details_change_federated_member_power_lvl_to_admin_error_text" = "This user cannot be granted admin rights as they do not come from your organization. Federated users can only be members or moderators.";
"room_member_details_change_federated_member_power_lvl_to_admin_error_button" = "Ok";

View File

@@ -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 {