From 09d297d9f5de13d1d1ee219f5f7926626dd0eb1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D1=82=D1=83=D0=B0=D0=BD?= Date: Wed, 28 Jan 2026 18:21:24 +0300 Subject: [PATCH 1/2] fix: Revoke token and General Settings should be editable only by admins --- src/components/project/settings/General.vue | 14 ++++++++++++++ src/components/project/settings/Integrations.vue | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/components/project/settings/General.vue b/src/components/project/settings/General.vue index 8907cf6fc..b400733cf 100644 --- a/src/components/project/settings/General.vue +++ b/src/components/project/settings/General.vue @@ -4,6 +4,7 @@ {{ $t('projects.settings.general.title') }}
@@ -56,6 +57,8 @@ import { UPDATE_PROJECT } from '@/store/modules/projects/actionTypes'; import notifier from 'codex-notifier'; +import { ConfirmedMember, Member, Workspace } from '@/types/workspaces'; + /** * This data will be send to update a project */ @@ -96,6 +99,17 @@ export default defineComponent({ required: true, }, }, + computed: { + workspace(): Workspace { + return this.$store.getters.getWorkspaceByProjectId(this.project.id); + }, + currentMembership(): Member | undefined { + return this.$store.getters.getCurrentUserInWorkspace(this.workspace); + }, + userCanEdit(): boolean { + return this.currentMembership ? (this.currentMembership as ConfirmedMember).isAdmin : false; + }, + }, data() { return { /** diff --git a/src/components/project/settings/Integrations.vue b/src/components/project/settings/Integrations.vue index ed56bf06f..eb6177bd0 100644 --- a/src/components/project/settings/Integrations.vue +++ b/src/components/project/settings/Integrations.vue @@ -12,6 +12,7 @@ />
Date: Wed, 28 Jan 2026 18:21:24 +0300 Subject: [PATCH 2/2] fix: Revoke token and General Settings should be editable only by admins --- src/components/project/settings/General.vue | 14 ++++++++++++++ src/components/project/settings/Integrations.vue | 11 +++++++++++ src/components/project/settings/Layout.vue | 1 + 3 files changed, 26 insertions(+) diff --git a/src/components/project/settings/General.vue b/src/components/project/settings/General.vue index 8907cf6fc..b400733cf 100644 --- a/src/components/project/settings/General.vue +++ b/src/components/project/settings/General.vue @@ -4,6 +4,7 @@ {{ $t('projects.settings.general.title') }}
@@ -56,6 +57,8 @@ import { UPDATE_PROJECT } from '@/store/modules/projects/actionTypes'; import notifier from 'codex-notifier'; +import { ConfirmedMember, Member, Workspace } from '@/types/workspaces'; + /** * This data will be send to update a project */ @@ -96,6 +99,17 @@ export default defineComponent({ required: true, }, }, + computed: { + workspace(): Workspace { + return this.$store.getters.getWorkspaceByProjectId(this.project.id); + }, + currentMembership(): Member | undefined { + return this.$store.getters.getCurrentUserInWorkspace(this.workspace); + }, + userCanEdit(): boolean { + return this.currentMembership ? (this.currentMembership as ConfirmedMember).isAdmin : false; + }, + }, data() { return { /** diff --git a/src/components/project/settings/Integrations.vue b/src/components/project/settings/Integrations.vue index ed56bf06f..eb6177bd0 100644 --- a/src/components/project/settings/Integrations.vue +++ b/src/components/project/settings/Integrations.vue @@ -12,6 +12,7 @@ />