From 02f51a244d6b71b8210b25f31f5f73c3238b2fe7 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 11 Feb 2025 12:19:15 +0100 Subject: [PATCH 1/3] feat: refs #8555 added new filter field --- modules/travel/back/methods/travel/extraCommunityFilter.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/travel/back/methods/travel/extraCommunityFilter.js b/modules/travel/back/methods/travel/extraCommunityFilter.js index 2f3f998d6e..5c294a9651 100644 --- a/modules/travel/back/methods/travel/extraCommunityFilter.js +++ b/modules/travel/back/methods/travel/extraCommunityFilter.js @@ -67,6 +67,11 @@ module.exports = Self => { type: 'number', description: 'The freighter supplier id' }, + { + arg: 'entrySupplierFk', + type: 'number', + description: 'The supplier of the entry(not freighter) id' + }, ], returns: { type: ['Object'], @@ -94,6 +99,8 @@ module.exports = Self => { return {'t.landed': {lte: value}}; case 'continent': return {'cnt.code': value}; + case 'entrySupplierFk': + return {'e.supplierFk': value}; case 'id': case 'agencyModeFk': case 'warehouseOutFk': From c8abd7b2a1a139fdf2e0ab5e171f9661199dbd22 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 14 Feb 2025 14:16:01 +0100 Subject: [PATCH 2/3] feat: refs #8606 show correct text of duplicate entry error --- loopback/locale/en.json | 3 ++- loopback/locale/es.json | 3 ++- modules/zone/back/models/zone-warehouse.js | 9 +++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 modules/zone/back/models/zone-warehouse.js diff --git a/loopback/locale/en.json b/loopback/locale/en.json index b9add02a8c..07a82d214d 100644 --- a/loopback/locale/en.json +++ b/loopback/locale/en.json @@ -257,5 +257,6 @@ "Ticket has been delivered out of order": "The ticket {{ticket}} of route {{{fullUrl}}} has been delivered out of order.", "clonedFromTicketWeekly": ", that is a cloned sale from ticket {{ ticketWeekly }}", "negativeReplaced": "Replaced item [#{{oldItemId}}]({{{oldItemUrl}}}) {{oldItem}} with [#{{newItemId}}]({{{newItemUrl}}}) {{newItem}} from ticket [{{ticketId}}]({{{ticketUrl}}})", - "The tag and priority can't be repeated": "The tag and priority can't be repeated" + "The tag and priority can't be repeated": "The tag and priority can't be repeated", + "duplicateWarehouse": "The introduced warehouse already exists" } diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 61e05f7367..6463608818 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -398,5 +398,6 @@ "Ticket has been delivered out of order": "El ticket {{ticket}} {{{fullUrl}}} no ha sido entregado en su orden.", "Price cannot be blank": "El precio no puede estar en blanco", "clonedFromTicketWeekly": ", que es una linea clonada del ticket {{ticketWeekly}}", - "negativeReplaced": "Sustituido el articulo [#{{oldItemId}}]({{{oldItemUrl}}}) {{oldItem}} por [#{{newItemId}}]({{{newItemUrl}}}) {{newItem}} del ticket [{{ticketId}}]({{{ticketUrl}}})" + "negativeReplaced": "Sustituido el articulo [#{{oldItemId}}]({{{oldItemUrl}}}) {{oldItem}} por [#{{newItemId}}]({{{newItemUrl}}}) {{newItem}} del ticket [{{ticketId}}]({{{ticketUrl}}})", + "duplicateWarehouse": "El almacén seleccionado ya existe en la zona" } diff --git a/modules/zone/back/models/zone-warehouse.js b/modules/zone/back/models/zone-warehouse.js new file mode 100644 index 0000000000..9cb0e2a1cb --- /dev/null +++ b/modules/zone/back/models/zone-warehouse.js @@ -0,0 +1,9 @@ +let UserError = require('vn-loopback/util/user-error'); + +module.exports = Self => { + Self.rewriteDbError(function(err) { + if (err.code === 'ER_DUP_ENTRY') + return new UserError(`duplicateWarehouse`); + return err; + }); +}; From f9d1a8c0c24e09840be4e241713d2fa77d71808f Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 14 Feb 2025 14:23:43 +0100 Subject: [PATCH 3/3] fix: refs #8388 update booking status in toUnbook method --- modules/invoiceIn/back/methods/invoice-in/toUnbook.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/invoiceIn/back/methods/invoice-in/toUnbook.js b/modules/invoiceIn/back/methods/invoice-in/toUnbook.js index c27354d73e..7d63e6a876 100644 --- a/modules/invoiceIn/back/methods/invoice-in/toUnbook.js +++ b/modules/invoiceIn/back/methods/invoice-in/toUnbook.js @@ -48,12 +48,10 @@ module.exports = Self => { }, myOptions); let asien = bookEntry?.ASIEN; + const invoiceIn = await Self.findById(invoiceInId, myOptions); if (asien) { accountingEntries = await models.Xdiario.count({ASIEN: asien}, myOptions); - await models.Xdiario.destroyAll({ASIEN: asien}, myOptions); - const invoiceIn = await Self.findById(invoiceInId, myOptions); - await invoiceIn.updateAttribute('isBooked', false, myOptions); } else { const linkedBookEntry = await models.Xdiario.findOne({ fields: ['ASIEN'], @@ -66,6 +64,8 @@ module.exports = Self => { asien = linkedBookEntry?.ASIEN; isLinked = true; } + await invoiceIn.updateAttribute('isBooked', false, myOptions); + if (tx) await tx.commit(); return {