diff --git a/ui/app/AppLayouts/Chat/panels/communities/CommunityPermissionsSettingsPanel.qml b/ui/app/AppLayouts/Chat/panels/communities/CommunityPermissionsSettingsPanel.qml index 3a2eaa486d..24bc955979 100644 --- a/ui/app/AppLayouts/Chat/panels/communities/CommunityPermissionsSettingsPanel.qml +++ b/ui/app/AppLayouts/Chat/panels/communities/CommunityPermissionsSettingsPanel.qml @@ -196,10 +196,18 @@ SettingsPageLayout { } onCreatePermissionClicked: { - root.store.createPermission(dirtyValues.holdingsModel, + const holdings = ModelUtils.modelToArray( + dirtyValues.holdingsModel, + ["key", "type", "amount"]) + + const channels = ModelUtils.modelToArray( + dirtyValues.channelsModel, + ["itemId", "text", "emoji", "color"]) + + root.store.createPermission(holdings, dirtyValues.permissionType, dirtyValues.isPrivate, - dirtyValues.channelsModel) + channels) root.state = d.permissionsViewState } @@ -208,11 +216,19 @@ SettingsPageLayout { target: d function onSaveChanges() { + const holdings = ModelUtils.modelToArray( + dirtyValues.holdingsModel, + ["key", "type", "amount"]) + + const channels = ModelUtils.modelToArray( + dirtyValues.channelsModel, + ["itemId", "text", "emoji", "color"]) + root.store.editPermission( d.permissionKeyToEdit, - dirtyValues.holdingsModel, + holdings, dirtyValues.permissionType, - dirtyValues.channelsModel, + channels, dirtyValues.isPrivate) } diff --git a/ui/app/AppLayouts/Chat/stores/CommunitiesStore.qml b/ui/app/AppLayouts/Chat/stores/CommunitiesStore.qml index d80782de98..d77f3fd796 100644 --- a/ui/app/AppLayouts/Chat/stores/CommunitiesStore.qml +++ b/ui/app/AppLayouts/Chat/stores/CommunitiesStore.qml @@ -140,35 +140,12 @@ QtObject { function createPermissionEntry(holdings, permissionType, isPrivate, channels) { const permission = { - holdingsListModel: [], - channelsListModel: [], + holdingsListModel: holdings, + channelsListModel: channels, permissionType, isPrivate } - // Setting HOLDINGS: - for (let i = 0; i < holdings.count; i++ ) { - const entry = holdings.get(i) - - permission.holdingsListModel.push({ - type: entry.type, - key: entry.key, - amount: entry.amount - }) - } - - // Setting CHANNELS: - for (let c = 0; c < channels.count; c++) { - const entry = channels.get(c) - - permission.channelsListModel.push({ - itemId: entry.itemId, - text: entry.text, - emoji: entry.emoji, - color: entry.color - }) - } - return permission } }