Merge branch 'feature/5381_disable_federated_admins' into 'develop'

MESSENGER-5381 disable federated admins

See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!298
This commit is contained in:
JanNiklas Grabowski
2024-01-26 07:49:44 +00:00
3 changed files with 45 additions and 1 deletions

View File

@@ -684,6 +684,9 @@
"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";
"room_admin_federation_decision_sheet_title" = "\"%@\" für eine Föderation zulassen?";
"room_admin_federation_decision_sheet_text" = "Hierdurch kann der Raum von externen Organisationen mitgenutzt werden. Dies kann nachträglich in den Einstellungen geändert werden.";
"room_admin_federation_decision_sheet_remind_later_button" = "Später erinnern";

View File

@@ -593,6 +593,9 @@
"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";
"room_admin_federation_decision_sheet_title" = "Approve \"%@\" for federation?";
"room_admin_federation_decision_sheet_text" = "This will enable external organizations to access the room. It can be reversed in the room settings afterwards.";
"room_admin_federation_decision_sheet_remind_later_button" = "Remind later";

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 {