From 3401a734fb2b26e84d022fa575de58deaa43a596 Mon Sep 17 00:00:00 2001 From: petersutter Date: Wed, 11 Dec 2024 17:00:01 +0100 Subject: [PATCH 1/2] fix value access of ref (cherry picked from commit 9e10550d184ecdaca8a54d90694e145c9b6c4347) --- frontend/src/composables/useProjectContext.js | 4 ++-- frontend/src/views/GAdministration.vue | 4 ++-- frontend/src/views/GProjectList.vue | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/composables/useProjectContext.js b/frontend/src/composables/useProjectContext.js index 72089fa428..905aac0d21 100644 --- a/frontend/src/composables/useProjectContext.js +++ b/frontend/src/composables/useProjectContext.js @@ -62,9 +62,9 @@ export function createProjectContextComposable (options = {}) { function createProjectManifest () { manifest.value = {} - if (openMFP.accountId) { + if (openMFP.accountId.value) { set(manifest.value, ['metadata', 'label', 'openmfp.org/managed-by'], 'true') - set(manifest.value, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId) + set(manifest.value, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId.value) } initialManifest.value = cloneDeep(normalizedManifest.value) } diff --git a/frontend/src/views/GAdministration.vue b/frontend/src/views/GAdministration.vue index e7c9aff86c..160acd6ea9 100644 --- a/frontend/src/views/GAdministration.vue +++ b/frontend/src/views/GAdministration.vue @@ -651,9 +651,9 @@ async function updateProperty (key, value, options = {}) { metadata: { name }, spec: { namespace }, } - if (openMFP.accountId && !get(projectStore.project, ['metadata', 'annotations', 'openmfp.org/account-id'])) { + if (openMFP.accountId.value && !get(projectStore.project, ['metadata', 'annotations', 'openmfp.org/account-id'])) { set(mergePatchDocument, ['metadata', 'labels', 'openmfp.org/managed-by'], 'true') - set(mergePatchDocument, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId) + set(mergePatchDocument, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId.value) } set(mergePatchDocument, ['spec', key], value) await projectStore.patchProject(mergePatchDocument) diff --git a/frontend/src/views/GProjectList.vue b/frontend/src/views/GProjectList.vue index c45d2bbb6b..5280d00887 100644 --- a/frontend/src/views/GProjectList.vue +++ b/frontend/src/views/GProjectList.vue @@ -153,8 +153,8 @@ const canCreateProject = toRef(authzStore, 'canCreateProject') const projectDialog = ref(false) const projectList = computed(() => { - const belongsToAccount = project => openMFP.accountId === get(project, ['metadata', 'annotations', 'openmfp.org/account-id']) - return !openMFP.accountId + const belongsToAccount = project => openMFP.accountId.value === get(project, ['metadata', 'annotations', 'openmfp.org/account-id']) + return !openMFP.accountId.value ? projectStore.projectList : filter(projectStore.projectList, belongsToAccount) }) From 45433af0113c6c4fb6ba302ec3193ee3369b1948 Mon Sep 17 00:00:00 2001 From: petersutter Date: Mon, 16 Dec 2024 12:39:50 +0100 Subject: [PATCH 2/2] decompose openMFP --- frontend/src/composables/useProjectContext.js | 6 ++++-- frontend/src/views/GAdministration.vue | 6 ++++-- frontend/src/views/GProjectList.vue | 6 +++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frontend/src/composables/useProjectContext.js b/frontend/src/composables/useProjectContext.js index 905aac0d21..bbe3b43cce 100644 --- a/frontend/src/composables/useProjectContext.js +++ b/frontend/src/composables/useProjectContext.js @@ -31,6 +31,8 @@ export function createProjectContextComposable (options = {}) { configStore = useConfigStore(), } = options + const { accountId } = openMFP + function normalizeManifest (value) { const object = Object.assign({ apiVersion: 'core.gardener.cloud/v1beta1', @@ -62,9 +64,9 @@ export function createProjectContextComposable (options = {}) { function createProjectManifest () { manifest.value = {} - if (openMFP.accountId.value) { + if (accountId.value) { set(manifest.value, ['metadata', 'label', 'openmfp.org/managed-by'], 'true') - set(manifest.value, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId.value) + set(manifest.value, ['metadata', 'annotations', 'openmfp.org/account-id'], accountId.value) } initialManifest.value = cloneDeep(normalizedManifest.value) } diff --git a/frontend/src/views/GAdministration.vue b/frontend/src/views/GAdministration.vue index 160acd6ea9..fa525476cd 100644 --- a/frontend/src/views/GAdministration.vue +++ b/frontend/src/views/GAdministration.vue @@ -547,6 +547,8 @@ useProvideProjectContext({ configStore, }) +const { accountId } = openMFP + const color = ref('primary') const errorMessage = ref(undefined) const detailedErrorMessage = ref(undefined) @@ -651,9 +653,9 @@ async function updateProperty (key, value, options = {}) { metadata: { name }, spec: { namespace }, } - if (openMFP.accountId.value && !get(projectStore.project, ['metadata', 'annotations', 'openmfp.org/account-id'])) { + if (accountId.value && !get(projectStore.project, ['metadata', 'annotations', 'openmfp.org/account-id'])) { set(mergePatchDocument, ['metadata', 'labels', 'openmfp.org/managed-by'], 'true') - set(mergePatchDocument, ['metadata', 'annotations', 'openmfp.org/account-id'], openMFP.accountId.value) + set(mergePatchDocument, ['metadata', 'annotations', 'openmfp.org/account-id'], accountId.value) } set(mergePatchDocument, ['spec', key], value) await projectStore.patchProject(mergePatchDocument) diff --git a/frontend/src/views/GProjectList.vue b/frontend/src/views/GProjectList.vue index 5280d00887..9cab807ea0 100644 --- a/frontend/src/views/GProjectList.vue +++ b/frontend/src/views/GProjectList.vue @@ -146,15 +146,15 @@ import filter from 'lodash/filter' const projectStore = useProjectStore() const authzStore = useAuthzStore() -const openMFP = useOpenMFP() +const { accountId } = useOpenMFP() const canCreateProject = toRef(authzStore, 'canCreateProject') const projectDialog = ref(false) const projectList = computed(() => { - const belongsToAccount = project => openMFP.accountId.value === get(project, ['metadata', 'annotations', 'openmfp.org/account-id']) - return !openMFP.accountId.value + const belongsToAccount = project => accountId.value === get(project, ['metadata', 'annotations', 'openmfp.org/account-id']) + return !accountId.value ? projectStore.projectList : filter(projectStore.projectList, belongsToAccount) })