From 2ab6748ccd9135128ca4657b754f87a43a381010 Mon Sep 17 00:00:00 2001 From: Alban Mouton Date: Mon, 9 Dec 2024 15:04:12 +0100 Subject: [PATCH] fix: some regressions in departments and members management --- ui/src/components/add-department-menu.vue | 2 +- ui/src/components/add-member-menu.vue | 5 ++- ui/src/components/delete-department-menu.vue | 27 ++++++------- ui/src/components/edit-department-menu.vue | 16 ++++---- .../components/organization-departments.vue | 40 ++++++++++--------- 5 files changed, 44 insertions(+), 46 deletions(-) diff --git a/ui/src/components/add-department-menu.vue b/ui/src/components/add-department-menu.vue index 27a30e87..f45552f0 100644 --- a/ui/src/components/add-department-menu.vue +++ b/ui/src/components/add-department-menu.vue @@ -81,7 +81,7 @@ const editDepartment = ref({ ...emptyDepartment }) watch(menu, () => { if (!menu.value) return - editDepartmentMenu.value = { ...emptyDepartment } + editDepartment.value = { ...emptyDepartment } createForm.value?.reset() }) diff --git a/ui/src/components/add-member-menu.vue b/ui/src/components/add-member-menu.vue index c964c765..23bb9065 100644 --- a/ui/src/components/add-member-menu.vue +++ b/ui/src/components/add-member-menu.vue @@ -86,7 +86,7 @@ /> @@ -107,7 +107,8 @@ {{ $t('common.confirmOk') }} diff --git a/ui/src/components/delete-department-menu.vue b/ui/src/components/delete-department-menu.vue index ec473fac..e5613189 100644 --- a/ui/src/components/delete-department-menu.vue +++ b/ui/src/components/delete-department-menu.vue @@ -52,7 +52,7 @@ :disabled="!members || !!members.count || patchOrganization.loading.value" color="warning" variant="flat" - @click="confirmDelete" + @click="confirmDelete.execute()" > {{ $t('common.confirmOk') }} @@ -74,28 +74,25 @@ const { patchOrganization } = useStore() const { t } = useI18n() const menu = ref(false) -const members = ref() watch(menu, async () => { if (!menu.value) { - members.value = null + fetchMembers.data.value = null return } - fetchMembers() + fetchMembers.refresh() }) -const fetchMembers = withUiNotif(async () => { - members.value = await $fetch(`organizations/${orga.id}/members`, { - query: { - params: { - size: 0, - department: department.id - } - } - }) -}) +const fetchMembers = useFetch<{ count: number, results: any[] }>( + () => `${$apiPath}/organizations/${orga.id}/members`, + { + query: computed(() => ({ size: 0, department: department.id })), + watch: false, + } +) +const members = computed(() => fetchMembers.data.value) -const confirmDelete = withUiNotif(async () => { +const confirmDelete = useAsyncAction(async () => { menu.value = false const departments = (orga.departments ?? []).filter(d => d.id !== department.id) await patchOrganization.execute(orga.id, { departments }, t('common.modificationOk')) diff --git a/ui/src/components/edit-department-menu.vue b/ui/src/components/edit-department-menu.vue index 26394586..f6f8e6d7 100644 --- a/ui/src/components/edit-department-menu.vue +++ b/ui/src/components/edit-department-menu.vue @@ -7,17 +7,15 @@ - - + /> {{ $t('pages.organization.confirmEditDepartmentTitle', {name: department.name, departmentLabel}) }} @@ -26,11 +24,12 @@

{{ $t('common.id') }} = {{ department.id }}

+ () -const loadAvatar = ref() +const avatar = ref() watch(menu, () => { if (!menu.value) return @@ -85,10 +84,9 @@ const confirmEdit = withUiNotif(async () => { menu.value = false const departments = (orga.departments ?? []).map(d => d.id === editDepartment.value?.id ? editDepartment.value : d) await patchOrganization.execute(orga.id, { departments }, t('common.modificationOk')) - await loadAvatar.value?.validate() + await avatar.value?.validate() emit('change') }) -