From 947024ef565cf6c67001d2003805c1a184660feb Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sun, 2 Mar 2025 23:50:23 +0100 Subject: [PATCH] perf: refs #7356 minor changes --- src/pages/Ticket/Card/TicketService.vue | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/pages/Ticket/Card/TicketService.vue b/src/pages/Ticket/Card/TicketService.vue index 6e3ddc2c6..1bd1548a4 100644 --- a/src/pages/Ticket/Card/TicketService.vue +++ b/src/pages/Ticket/Card/TicketService.vue @@ -121,21 +121,21 @@ async function handleSave() { isSaving.value = false; } } -function validateFields(item, isUpdate = false) { +function validateFields(item) { // Only validate fields that are being updated - const shouldValidate = (field) => !isUpdate || field in item; + const shouldExist = (field) => !isUpdate || field in item; - if (shouldValidate('ticketServiceTypeFk') && !item.ticketServiceTypeFk) { - notify('Descriptssion is required', 'negative'); + if (!shouldExist('ticketServiceTypeFk') && !item.ticketServiceTypeFk) { + notify('Description is required', 'negative'); return false; } - if (shouldValidate('quantity') && (!item.quantity || item.quantity <= 0)) { + if (!shouldExist('quantity') && (!item.quantity || item.quantity <= 0)) { notify('Quantity must be greater than 0', 'negative'); return false; } - if (shouldValidate('price') && (item.price === null || item.price < 0)) { + if (!shouldExist('price') && (!item.price || item.price < 0)) { notify('Price must be valid', 'negative'); return false; } @@ -150,20 +150,17 @@ function beforeSave(data) { // Validate creates if (creates.length) { for (const create of creates) { + create.ticketFk = route.params.id; if (validateFields(create)) { validData.creates.push(create); } - create.ticketFk = route.params.id; } } // Validate updates if (updates.length) { for (const update of updates) { - if (validateFields(update, true)) { - validData.updates.push(update); - return false; - } + validData.updates.push(update); } } return validData;