mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 17:12:45 +02:00
Check power level of the user before starting editing room info
This commit is contained in:
@@ -407,6 +407,21 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
|
||||
{
|
||||
[self dismissFirstResponder];
|
||||
|
||||
// Check whether user allowed to change room info
|
||||
NSDictionary *eventTypes = @{
|
||||
@(RoomSettingsViewControllerFieldName): kMXEventTypeStringRoomName,
|
||||
@(RoomSettingsViewControllerFieldTopic): kMXEventTypeStringRoomTopic,
|
||||
@(RoomSettingsViewControllerFieldAvatar): kMXEventTypeStringRoomAvatar
|
||||
};
|
||||
|
||||
NSString *eventTypeForSelectedField = eventTypes[@(selectedRoomSettingsField)];
|
||||
|
||||
MXRoomPowerLevels *powerLevels = [mxRoom.state powerLevels];
|
||||
NSInteger oneSelfPowerLevel = [powerLevels powerLevelOfUserWithUserID:self.mainSession.myUser.userId];
|
||||
|
||||
if (oneSelfPowerLevel < [powerLevels minimumPowerLevelForSendingEventAsStateEvent:eventTypeForSelectedField])
|
||||
return;
|
||||
|
||||
switch (selectedRoomSettingsField)
|
||||
{
|
||||
case RoomSettingsViewControllerFieldName:
|
||||
@@ -2999,12 +3014,6 @@ NSString *const kRoomSettingsAdvancedE2eEnabledCellViewIdentifier = @"kRoomSetti
|
||||
|
||||
- (void)onRoomAvatarTap:(UITapGestureRecognizer *)recognizer
|
||||
{
|
||||
// Check whether user can change room avatar
|
||||
MXRoomPowerLevels *powerLevels = [mxRoom.state powerLevels];
|
||||
NSInteger oneSelfPowerLevel = [powerLevels powerLevelOfUserWithUserID:self.mainSession.myUser.userId];
|
||||
if (oneSelfPowerLevel < [powerLevels minimumPowerLevelForSendingEventAsStateEvent:kMXEventTypeStringRoomAvatar])
|
||||
return;
|
||||
|
||||
mediaPicker = [MediaPickerViewController mediaPickerViewController];
|
||||
mediaPicker.mediaTypes = @[(NSString *)kUTTypeImage];
|
||||
mediaPicker.delegate = self;
|
||||
|
||||
Reference in New Issue
Block a user