From 7bf29ffe32686007f29599a2fdfae2c1d2411438 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Tue, 7 Oct 2025 15:05:39 +0200 Subject: [PATCH 1/5] Fix Set Booked State --- pages/incomingInvoices/show/[id].vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/incomingInvoices/show/[id].vue b/pages/incomingInvoices/show/[id].vue index 181f352..5959368 100644 --- a/pages/incomingInvoices/show/[id].vue +++ b/pages/incomingInvoices/show/[id].vue @@ -53,10 +53,10 @@ const setState = async (newState) => { let item = itemInfo.value delete item.files - item.vendor = item.vendor.id + if(item.vendor.id) item.vendor = item.vendor.id item.state = newState - await dataStore.updateItem('incominginvoices',item) + await useEntities('incominginvoices').update(route.params.id,item) await router.push("/incomingInvoices") } From 0a9731be3702a722865190edfe608456431f87b9 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Thu, 9 Oct 2025 17:02:19 +0200 Subject: [PATCH 2/5] Fixed Ansprechpartner Loading --- pages/createDocument/edit/[[id]].vue | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pages/createDocument/edit/[[id]].vue b/pages/createDocument/edit/[[id]].vue index 12259c8..65b0ca4 100644 --- a/pages/createDocument/edit/[[id]].vue +++ b/pages/createDocument/edit/[[id]].vue @@ -38,7 +38,7 @@ const itemInfo = ref({ paymentDays: auth.activeTenantData.standardPaymentDays, payment_type: "transfer", customSurchargePercentage: 0, - createdBy: auth.user.id, + created_by: auth.user.id, title: null, description: null, startText: null, @@ -110,6 +110,7 @@ const setupPage = async () => { if (route.params.id) { console.log(route.params) itemInfo.value = await useEntities("createddocuments").selectSingle(route.params.id) + await setContactPersonData() checkCompatibilityWithInputPrice() } @@ -131,9 +132,6 @@ const setupPage = async () => { setDocumentTypeConfig(false) } - - setContactPersonData() - if (route.query.linkedDocuments) { console.log(route.query.loadMode) @@ -487,12 +485,12 @@ const setCustomerData = async (customerId, loadOnlyAdress = false) => { const setContactPersonData = async () => { //console.log(itemInfo.value.contactPerson) //TODO: BACKEND CHANGE Set Profile - let profile = (await useNuxtApp().$api(`/api/user/${itemInfo.value.created_by}`, { + let profile = (await useNuxtApp().$api(`/api/user/${itemInfo.value.created_by}`, { method: "GET" })).profile - itemInfo.value.contactPersonName = auth.profile.full_name - itemInfo.value.contactTel = profile.mobileTel || profile.fixedTel || "" + itemInfo.value.contactPersonName = profile.full_name + itemInfo.value.contactTel = profile.mobile_tel || profile.fixed_tel || "" itemInfo.value.contactEMail = profile.email } @@ -633,7 +631,7 @@ const findDocumentErrors = computed(() => { if (itemInfo.value.customer === null) errors.push({message: "Es ist kein Kunde ausgewählt", type: "breaking"}) if (itemInfo.value.contact === null) errors.push({message: "Es ist kein Kontakt ausgewählt", type: "info"}) if (itemInfo.value.letterhead === null) errors.push({message: "Es ist kein Briefpapier ausgewählt", type: "breaking"}) - if (itemInfo.value.created_by === null || !itemInfo.value.created_by) errors.push({message: "Es ist kein Ansprechpartner ausgewählt", type: "breaking"}) + if (itemInfo.value.created_by === null || !itemInfo.value.created_by) errors.push({message: "Es ist kein Ansprechpartner im Unternehmen ausgewählt", type: "breaking"}) if (itemInfo.value.address.street === null) errors.push({ message: "Es ist keine Straße im Adressat angegeben", type: "breaking" @@ -2008,7 +2006,7 @@ const setRowData = async (row, service = {sellingPriceComposed: {}}, product = { Date: Thu, 9 Oct 2025 17:02:30 +0200 Subject: [PATCH 3/5] Added Errors for Plant and Contract --- pages/createDocument/edit/[[id]].vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/createDocument/edit/[[id]].vue b/pages/createDocument/edit/[[id]].vue index 65b0ca4..68c444b 100644 --- a/pages/createDocument/edit/[[id]].vue +++ b/pages/createDocument/edit/[[id]].vue @@ -646,6 +646,8 @@ const findDocumentErrors = computed(() => { }) if (itemInfo.value.project === null) errors.push({message: "Es ist kein Projekt ausgewählt", type: "info"}) + if (itemInfo.value.plant === null) errors.push({message: "Es ist kein Objekt ausgewählt", type: "info"}) + if (itemInfo.value.contract === null) errors.push({message: "Es ist kein Vertrag ausgewählt", type: "info"}) if (['Lieferzeitraum', 'Leistungszeitraum'].includes(itemInfo.value.deliveryDateType) && itemInfo.value.type !== "serialInvoices") { if (itemInfo.value.deliveryDateEnd === null) errors.push({ From 78846fd85a70ca354c619947a2c821453201265c Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Thu, 9 Oct 2025 17:04:49 +0200 Subject: [PATCH 4/5] Added Contract Column --- pages/createDocument/serialInvoice.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pages/createDocument/serialInvoice.vue b/pages/createDocument/serialInvoice.vue index affb0eb..8436158 100644 --- a/pages/createDocument/serialInvoice.vue +++ b/pages/createDocument/serialInvoice.vue @@ -113,6 +113,9 @@ Ja Nein + @@ -126,7 +129,7 @@ const items = ref([]) const selectedItem = ref(0) const setupPage = async () => { - items.value = await useEntities("createddocuments").select("*, customer(id,name)","documentDate",undefined,true) + items.value = await useEntities("createddocuments").select("*, customer(id,name), contract(id,name, contractNumber)","documentDate",undefined,true) } const searchString = ref("") @@ -172,6 +175,10 @@ const templateColumns = [ key: 'partner', label: "Kunde" }, + { + key: 'contract', + label: "Vertrag" + }, { key: 'serialConfig.active', label: "Aktiv" From f7f239fcb952bae190587d6b32c08cc5f3cd1d8a Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Thu, 9 Oct 2025 17:22:43 +0200 Subject: [PATCH 5/5] Fixed Service Editing --- components/EntityEdit.vue | 10 ++++++---- components/columnRenderings/serviceCategories.vue | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/components/EntityEdit.vue b/components/EntityEdit.vue index ecae0f4..9976565 100644 --- a/components/EntityEdit.vue +++ b/components/EntityEdit.vue @@ -219,13 +219,15 @@ const updateItem = async () => { let ret = null if(props.inModal) { - ret = await dataStore.updateItem(type,item.value, oldItem.value,true) + ret = await useEntities(type).update(item.value.id, item.value, true) + emit('returnData', ret) + modal.close() } else { - console.log(item.value) - ret = await useEntities(type).update(item.value.id, item.value)//await dataStore.updateItem(type,item.value, oldItem.value) + ret = await useEntities(type).update(item.value.id, item.value) + emit('returnData', ret) } - emit('returnData', ret) + } diff --git a/components/columnRenderings/serviceCategories.vue b/components/columnRenderings/serviceCategories.vue index 51295f1..8d89a29 100644 --- a/components/columnRenderings/serviceCategories.vue +++ b/components/columnRenderings/serviceCategories.vue @@ -10,7 +10,7 @@ const props = defineProps({ const servicecategories = ref([]) const setup = async () => { - servicecategories.value = await useSupabaseSelect("servicecategories") + servicecategories.value = await useEntities("servicecategories").select() } setup()