From cfbc3692e972dc137085f3d131ed3ec258a4e129 Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 13 Sep 2024 11:59:28 +0200 Subject: [PATCH 01/16] feat: refs #7874 clientObservationType --- .../00-addClientObservationType.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 db/versions/11230-brownEucalyptus/00-addClientObservationType.sql diff --git a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql new file mode 100644 index 000000000..195c11d2f --- /dev/null +++ b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql @@ -0,0 +1,18 @@ +-- Place your SQL code here +CREATE TABLE IF NOT EXISTS vn.clientObservationType( + id tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + code varchar(45) NOT NULL, + description varchar(50) NOT NULL, + PRIMARY KEY (id) +); + +ALTER TABLE vn.clientObservation ADD COLUMN typeFk tinyint(3) unsigned NOT NULL; +ALTER TABLE vn.clientObservation ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (typeFk) REFERENCES vn.clientObservationType(id); + +INSERT INTO salix.ACL + SET model = 'ClientObservationType', + property = '*', + accessType = 'READ', + permission = 'ALLOW', + principalType = 'ROLE', + principalId = 'employee'; \ No newline at end of file From 3e270befa5646a8521830de52cffca2b97603f16 Mon Sep 17 00:00:00 2001 From: jorgep Date: Wed, 25 Sep 2024 12:19:12 +0200 Subject: [PATCH 02/16] chore: refs #7874 refactor table --- .../00-addClientObservationType.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql index 195c11d2f..05376710a 100644 --- a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql +++ b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql @@ -1,14 +1,14 @@ --- Place your SQL code here +-- vn.clientObservationType CREATE TABLE IF NOT EXISTS vn.clientObservationType( id tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - code varchar(45) NOT NULL, + clientFk int(11) NOT NULL, + observationTypeFk tinyint(3) unsigned NOT NULL, description varchar(50) NOT NULL, - PRIMARY KEY (id) + PRIMARY KEY (id), + CONSTRAINT `clientFgn` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `clientObservationFgn` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ); -ALTER TABLE vn.clientObservation ADD COLUMN typeFk tinyint(3) unsigned NOT NULL; -ALTER TABLE vn.clientObservation ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (typeFk) REFERENCES vn.clientObservationType(id); - INSERT INTO salix.ACL SET model = 'ClientObservationType', property = '*', From 7c23acde64977267f770e773254daf55c8d34bcb Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 26 Sep 2024 09:08:42 +0200 Subject: [PATCH 03/16] feat: refs #7874 add observationTypeFk col --- .../00-addClientObservationType.sql | 21 +++--------------- .../back/models/client-observation.json | 22 +++++++++++++------ 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql index 05376710a..699d0bea4 100644 --- a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql +++ b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql @@ -1,18 +1,3 @@ --- vn.clientObservationType -CREATE TABLE IF NOT EXISTS vn.clientObservationType( - id tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - clientFk int(11) NOT NULL, - observationTypeFk tinyint(3) unsigned NOT NULL, - description varchar(50) NOT NULL, - PRIMARY KEY (id), - CONSTRAINT `clientFgn` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `clientObservationFgn` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -); - -INSERT INTO salix.ACL - SET model = 'ClientObservationType', - property = '*', - accessType = 'READ', - permission = 'ALLOW', - principalType = 'ROLE', - principalId = 'employee'; \ No newline at end of file +ALTER TABLE vn.clientObservation + ADD COLUMN observationTypeFk TINYINT(3) UNSIGNED, + ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (observationTypeFk) REFERENCES vn.observationType(id); \ No newline at end of file diff --git a/modules/client/back/models/client-observation.json b/modules/client/back/models/client-observation.json index b204ebeb4..86351862d 100644 --- a/modules/client/back/models/client-observation.json +++ b/modules/client/back/models/client-observation.json @@ -1,10 +1,10 @@ { - "name": "ClientObservation", + "name": "ClientObservation", "description": "Client notes", "base": "VnModel", - "mixins": { - "Loggable": true - }, + "mixins": { + "Loggable": true + }, "options": { "mysql": { "table": "clientObservation" @@ -26,6 +26,10 @@ "created": { "type": "date", "description": "Creation date and time" + }, + "observationTypeFk": { + "type": "number", + "description": "Type of observation" } }, "relations": { @@ -44,14 +48,18 @@ "include": { "relation": "worker", "scope": { - "fields": ["id"], + "fields": [ + "id" + ], "include": { "relation": "user", "scope": { - "fields": ["nickname"] + "fields": [ + "nickname" + ] } } } } } -} +} \ No newline at end of file From 20e894257d6366470ce0e303d88d3ef36358d4d2 Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 26 Sep 2024 16:07:14 +0200 Subject: [PATCH 04/16] fix: refs #7874 rollback --- .../11230-brownEucalyptus/00-addClientObservationType.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql index 699d0bea4..cb0849888 100644 --- a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql +++ b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql @@ -1,3 +1,3 @@ ALTER TABLE vn.clientObservation - ADD COLUMN observationTypeFk TINYINT(3) UNSIGNED, + ADD COLUMN observationTypeFk TINYINT(3) UNSIGNED NOT NULL, ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (observationTypeFk) REFERENCES vn.observationType(id); \ No newline at end of file From f3bf0b7432723721c2b933e07ad0e07114002bcf Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 26 Sep 2024 17:20:50 +0200 Subject: [PATCH 05/16] feat: refs #7874 validate required field --- loopback/locale/es.json | 5 +++-- modules/client/back/models/client-observation.js | 9 ++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index ba4b90cb5..01b7ee1ee 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -379,5 +379,6 @@ "The entry does not have stickers": "La entrada no tiene etiquetas", "Too many records": "Demasiados registros", "This buyer has already made a reservation for this date": "Este comprador ya ha hecho una reserva para esta fecha", - "No valid travel thermograph found": "No se encontró un termógrafo válido" -} + "No valid travel thermograph found": "No se encontró un termógrafo válido", + "type cannot be blank": "Se debe rellenar el tipo" +} \ No newline at end of file diff --git a/modules/client/back/models/client-observation.js b/modules/client/back/models/client-observation.js index e34eedca9..d022a440a 100644 --- a/modules/client/back/models/client-observation.js +++ b/modules/client/back/models/client-observation.js @@ -1,8 +1,11 @@ module.exports = function(Self) { - Self.validate('text', isEnabled, {message: 'Description cannot be blank'}); - function isEnabled(err) { + Self.validate('text', function(err) { if (!this.text) err(); - } + }, {message: 'Description cannot be blank'}); + + Self.validate('observationTypeFk', function(err) { + if (!this.observationTypeFk) err(); + }, {message: 'type cannot be blank'}); Self.observe('before save', function(ctx, next) { ctx.instance.created = Date(); From fd877119a97c89660b012ceedc866ff23ef4240e Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 3 Oct 2024 10:34:01 +0200 Subject: [PATCH 06/16] chore: refs #7874 drop useless locale --- loopback/locale/es.json | 1 - 1 file changed, 1 deletion(-) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 9308fd4ec..6c4833a77 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -381,6 +381,5 @@ "The entry does not have stickers": "La entrada no tiene etiquetas", "This buyer has already made a reservation for this date": "Este comprador ya ha hecho una reserva para esta fecha", "No valid travel thermograph found": "No se encontró un termógrafo válido", - "The quantity claimed cannot be greater than the quantity of the line": "La cantidad reclamada no puede ser mayor que la cantidad de la línea", "type cannot be blank": "Se debe rellenar el tipo" } \ No newline at end of file From 2071518f579e43aa07089ed83b3a2daba24986fa Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 3 Oct 2024 10:35:04 +0200 Subject: [PATCH 07/16] fix: refs #7874 rollback --- loopback/locale/es.json | 1 + 1 file changed, 1 insertion(+) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 6c4833a77..9308fd4ec 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -381,5 +381,6 @@ "The entry does not have stickers": "La entrada no tiene etiquetas", "This buyer has already made a reservation for this date": "Este comprador ya ha hecho una reserva para esta fecha", "No valid travel thermograph found": "No se encontró un termógrafo válido", + "The quantity claimed cannot be greater than the quantity of the line": "La cantidad reclamada no puede ser mayor que la cantidad de la línea", "type cannot be blank": "Se debe rellenar el tipo" } \ No newline at end of file From 5416d382555164e2c58cc9d80da7f39a3dbee2e2 Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 3 Oct 2024 15:25:56 +0200 Subject: [PATCH 08/16] feat: refs #7874 redirect to lilium --- modules/client/front/note/index/index.html | 31 ---------------------- modules/client/front/note/index/index.js | 7 ++--- 2 files changed, 4 insertions(+), 34 deletions(-) diff --git a/modules/client/front/note/index/index.html b/modules/client/front/note/index/index.html index 634a9c3ce..e69de29bb 100644 --- a/modules/client/front/note/index/index.html +++ b/modules/client/front/note/index/index.html @@ -1,31 +0,0 @@ - - - - -
- - {{::note.worker.user.nickname}} - {{::note.created | date:'dd/MM/yyyy HH:mm'}} - - - {{::note.text}} - -
-
-
- - - diff --git a/modules/client/front/note/index/index.js b/modules/client/front/note/index/index.js index ed15db671..1610bdaab 100644 --- a/modules/client/front/note/index/index.js +++ b/modules/client/front/note/index/index.js @@ -5,9 +5,10 @@ import './style.scss'; export default class Controller extends Section { constructor($element, $) { super($element, $); - this.filter = { - order: 'created DESC', - }; + } + async $onInit() { + this.$state.go('home'); + window.location.href = await this.vnApp.getUrl(`customer/${this.$params.id}/notes`); } } From 9f97de021a79d96a2dfeb017496d4b38bc6e3182 Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 4 Oct 2024 16:04:31 +0200 Subject: [PATCH 09/16] chore: refs #7874 fix e2e --- e2e/paths/02-client/08_add_notes.spec.js | 42 ------------------------ e2e/paths/02-client/21_defaulter.spec.js | 15 ++------- 2 files changed, 3 insertions(+), 54 deletions(-) delete mode 100644 e2e/paths/02-client/08_add_notes.spec.js diff --git a/e2e/paths/02-client/08_add_notes.spec.js b/e2e/paths/02-client/08_add_notes.spec.js deleted file mode 100644 index d0c483a11..000000000 --- a/e2e/paths/02-client/08_add_notes.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -import selectors from '../../helpers/selectors'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Client Add notes path', () => { - let browser; - let page; - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('employee', 'client'); - await page.accessToSearchResult('Bruce Banner'); - await page.accessToSection('client.card.note.index'); - }); - - afterAll(async() => { - await browser.close(); - }); - - it(`should reach the notes index`, async() => { - await page.waitForState('client.card.note.index'); - }); - - it(`should click on the add note button`, async() => { - await page.waitToClick(selectors.clientNotes.addNoteFloatButton); - await page.waitForState('client.card.note.create'); - }); - - it(`should create a note`, async() => { - await page.waitForSelector(selectors.clientNotes.note); - await page.type(`${selectors.clientNotes.note} textarea`, 'Meeting with Black Widow 21st 9am'); - await page.waitToClick(selectors.clientNotes.saveButton); - const message = await page.waitForSnackbar(); - - expect(message.text).toContain('Data saved!'); - }); - - it('should confirm the note was created', async() => { - const result = await page.waitToGetProperty(selectors.clientNotes.firstNoteText, 'innerText'); - - expect(result).toEqual('Meeting with Black Widow 21st 9am'); - }); -}); diff --git a/e2e/paths/02-client/21_defaulter.spec.js b/e2e/paths/02-client/21_defaulter.spec.js index 2bb3d6254..01f394bc8 100644 --- a/e2e/paths/02-client/21_defaulter.spec.js +++ b/e2e/paths/02-client/21_defaulter.spec.js @@ -28,12 +28,12 @@ describe('Client defaulter path', () => { const salesPersonName = await page.waitToGetProperty(selectors.clientDefaulter.firstSalesPersonName, 'innerText'); - expect(clientName).toEqual('Bruce Banner'); - expect(salesPersonName).toEqual('developer'); + expect(clientName).toEqual('Ororo Munroe'); + expect(salesPersonName).toEqual('salesperson'); }); it('should first observation not changed', async() => { - const expectedObservation = 'Meeting with Black Widow 21st 9am'; + const expectedObservation = 'Madness, as you know, is like gravity, all it takes is a little push'; const result = await page.waitToGetProperty(selectors.clientDefaulter.firstObservation, 'value'); expect(result).toContain(expectedObservation); @@ -62,13 +62,4 @@ describe('Client defaulter path', () => { await page.write(selectors.clientDefaulter.observation, 'My new observation'); await page.waitToClick(selectors.clientDefaulter.saveButton); }); - - it('should first observation changed', async() => { - const message = await page.waitForSnackbar(); - await page.waitForSelector(selectors.clientDefaulter.firstObservation); - const result = await page.waitToGetProperty(selectors.clientDefaulter.firstObservation, 'value'); - - expect(message.text).toContain('Observation saved!'); - expect(result).toContain('My new observation'); - }); }); From 33a4061058c234ed29e55abca6c8758ec24ba29f Mon Sep 17 00:00:00 2001 From: Pako Date: Mon, 7 Oct 2024 14:24:55 +0200 Subject: [PATCH 10/16] feat: refs #8069 8069-overStocking --- .../orderRow_updateOverstocking.sql | 52 +++++++++++++++++++ .../hedera/triggers/orderRow_afterInsert.sql | 10 ++++ .../11288-purpleFern/00-firstScript.sql | 3 ++ 3 files changed, 65 insertions(+) create mode 100644 db/routines/hedera/procedures/orderRow_updateOverstocking.sql create mode 100644 db/routines/hedera/triggers/orderRow_afterInsert.sql create mode 100644 db/versions/11288-purpleFern/00-firstScript.sql diff --git a/db/routines/hedera/procedures/orderRow_updateOverstocking.sql b/db/routines/hedera/procedures/orderRow_updateOverstocking.sql new file mode 100644 index 000000000..e919ff922 --- /dev/null +++ b/db/routines/hedera/procedures/orderRow_updateOverstocking.sql @@ -0,0 +1,52 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`vn`@`localhost` +PROCEDURE `hedera`.`orderRow_updateOverstocking`(vOrderFk INT) +BEGIN +/** +* Set amount = 0 to avoid overbooking sales +* +* @param vOrderFk hedera.order.id +*/ + DECLARE vCalcFk INT; + DECLARE vDone BOOL; + DECLARE vWarehouseFk INT; + + DECLARE cWarehouses CURSOR FOR + SELECT DISTINCT warehouseFk + FROM orderRow + WHERE orderFk = vOrderFk + AND shipment = util.VN_CURDATE(); + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + OPEN cWarehouses; + checking: LOOP + SET vDone = FALSE; + + FETCH cWarehouses INTO vWarehouseFk; + + IF vDone THEN + LEAVE checking; + END IF; + + CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, util.VN_CURDATE()); + + UPDATE orderRow r + JOIN `order` o ON o.id = r.orderFk + JOIN orderConfig oc + JOIN cache.available a ON a.calc_id = vCalcFk AND a.item_id = r.itemFk + SET r.amount = 0 + WHERE ADDTIME(o.rowUpdated, oc.reserveTime) < util.VN_NOW() + AND a.available <= 0 + AND r.warehouseFk = vWarehouseFk + AND r.orderFk = vOrderFk; + END LOOP; + CLOSE cWarehouses; +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/routines/hedera/triggers/orderRow_afterInsert.sql b/db/routines/hedera/triggers/orderRow_afterInsert.sql new file mode 100644 index 000000000..525e5d4d2 --- /dev/null +++ b/db/routines/hedera/triggers/orderRow_afterInsert.sql @@ -0,0 +1,10 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterInsert` + AFTER INSERT ON `orderRow` + FOR EACH ROW +BEGIN + UPDATE `order` + SET rowUpdated = NOW() + WHERE id = NEW.orderFk; +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/versions/11288-purpleFern/00-firstScript.sql b/db/versions/11288-purpleFern/00-firstScript.sql new file mode 100644 index 000000000..77d60eb40 --- /dev/null +++ b/db/versions/11288-purpleFern/00-firstScript.sql @@ -0,0 +1,3 @@ +-- Place your SQL code here +ALTER TABLE hedera.`order` ADD IF NOT EXISTS rowUpdated DATETIME NULL + COMMENT 'Timestamp for last updated record in orderRow table'; \ No newline at end of file From 20836d734c6fdcdd8714e9d2f6b8fc6c4675f2b3 Mon Sep 17 00:00:00 2001 From: Pako Date: Mon, 7 Oct 2024 14:25:46 +0200 Subject: [PATCH 11/16] fix: refs #8069 order_confirmWithUser --- .../hedera/procedures/order_confirmWithUser.sql | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/db/routines/hedera/procedures/order_confirmWithUser.sql b/db/routines/hedera/procedures/order_confirmWithUser.sql index 2b033b704..a0c5c5667 100644 --- a/db/routines/hedera/procedures/order_confirmWithUser.sql +++ b/db/routines/hedera/procedures/order_confirmWithUser.sql @@ -13,6 +13,7 @@ BEGIN */ DECLARE vHasRows BOOL; DECLARE vDone BOOL; + DECLARE vHas0Amount BOOL; DECLARE vWarehouseFk INT; DECLARE vShipment DATE; DECLARE vShipmentDayEnd DATETIME; @@ -97,6 +98,20 @@ BEGIN SELECT employeeFk INTO vUserFk FROM orderConfig; END IF; + CALL orderRow_updateOverstocking(vSelf); + + -- Check if any product has a quantity of 0 + SELECT EXISTS ( + SELECT id + FROM orderRow + WHERE orderFk = vSelf + AND amount = 0 + ) INTO vHas0Amount; + + IF vHas0Amount THEN + CALL util.throw('Remove lines with quantity = 0 before confirming'); + END IF; + START TRANSACTION; CALL order_checkEditable(vSelf); From 679773b33eb8961ec18f7e58e49cbd553cfdbbdb Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 9 Oct 2024 07:26:22 +0200 Subject: [PATCH 12/16] feat: refs #8075 itemShelvingMoving --- db/routines/vn/triggers/itemShelving_beforeUpdate.sql | 3 +++ db/versions/11295-brownLaurel/00-firstScript.sql | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 db/versions/11295-brownLaurel/00-firstScript.sql diff --git a/db/routines/vn/triggers/itemShelving_beforeUpdate.sql b/db/routines/vn/triggers/itemShelving_beforeUpdate.sql index fabdf8efb..53f85de01 100644 --- a/db/routines/vn/triggers/itemShelving_beforeUpdate.sql +++ b/db/routines/vn/triggers/itemShelving_beforeUpdate.sql @@ -9,5 +9,8 @@ BEGIN SET NEW.userFk = account.myUser_getId(); END IF; + IF NEW.shelvingFk <> OLD.shelvingFk THEN + SET NEW.movingState = NULL; + END IF; END$$ DELIMITER ; diff --git a/db/versions/11295-brownLaurel/00-firstScript.sql b/db/versions/11295-brownLaurel/00-firstScript.sql new file mode 100644 index 000000000..2d6ed3a5b --- /dev/null +++ b/db/versions/11295-brownLaurel/00-firstScript.sql @@ -0,0 +1,3 @@ +-- Place your SQL code here +ALTER TABLE vn.itemShelving DROP COLUMN IF EXISTS isMoving; +ALTER TABLE vn.itemShelving ADD IF NOT EXISTS movingState ENUM('selected','printed') NULL; \ No newline at end of file From 4eab12dd0453218a0298427534f3d00650797f62 Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 9 Oct 2024 07:41:43 +0200 Subject: [PATCH 13/16] fix: refs #8069 throw message in spanish --- db/routines/hedera/procedures/order_confirmWithUser.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/routines/hedera/procedures/order_confirmWithUser.sql b/db/routines/hedera/procedures/order_confirmWithUser.sql index a0c5c5667..b7ed500d7 100644 --- a/db/routines/hedera/procedures/order_confirmWithUser.sql +++ b/db/routines/hedera/procedures/order_confirmWithUser.sql @@ -109,8 +109,8 @@ BEGIN ) INTO vHas0Amount; IF vHas0Amount THEN - CALL util.throw('Remove lines with quantity = 0 before confirming'); - END IF; + CALL util.throw('Hay líneas vacías. Por favor, elimínelas'); + END IF; START TRANSACTION; From 208869bd306565cc31bb90a7b09e5c9f2596a9ea Mon Sep 17 00:00:00 2001 From: Pako Date: Thu, 10 Oct 2024 08:20:41 +0200 Subject: [PATCH 14/16] fix: refs #8069 removed obsolete variables --- db/routines/hedera/procedures/order_confirmWithUser.sql | 2 -- db/routines/hedera/triggers/orderRow_afterInsert.sql | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/db/routines/hedera/procedures/order_confirmWithUser.sql b/db/routines/hedera/procedures/order_confirmWithUser.sql index b7ed500d7..44da9d071 100644 --- a/db/routines/hedera/procedures/order_confirmWithUser.sql +++ b/db/routines/hedera/procedures/order_confirmWithUser.sql @@ -22,7 +22,6 @@ BEGIN DECLARE vItemFk INT; DECLARE vConcept VARCHAR(30); DECLARE vAmount INT; - DECLARE vAvailable INT; DECLARE vPrice DECIMAL(10,2); DECLARE vSaleFk INT; DECLARE vRowFk INT; @@ -32,7 +31,6 @@ BEGIN DECLARE vClientFk INT; DECLARE vCompanyFk INT; DECLARE vAgencyModeFk INT; - DECLARE vCalcFk INT; DECLARE vIsTaxDataChecked BOOL; DECLARE vDates CURSOR FOR diff --git a/db/routines/hedera/triggers/orderRow_afterInsert.sql b/db/routines/hedera/triggers/orderRow_afterInsert.sql index 525e5d4d2..d0da043e7 100644 --- a/db/routines/hedera/triggers/orderRow_afterInsert.sql +++ b/db/routines/hedera/triggers/orderRow_afterInsert.sql @@ -4,7 +4,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterIns FOR EACH ROW BEGIN UPDATE `order` - SET rowUpdated = NOW() + SET rowUpdated = util.VN_NOW() WHERE id = NEW.orderFk; END$$ DELIMITER ; \ No newline at end of file From 295c31a5f078a41e1cdb5dc29af3f232977956e7 Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 10 Oct 2024 11:01:25 +0200 Subject: [PATCH 15/16] feat: refs #7874 add finance obs type --- db/dump/fixtures.before.sql | 3 ++- .../11230-brownEucalyptus/00-addClientObservationType.sql | 2 +- db/versions/11230-brownEucalyptus/01-addNewObservation.vn.sql | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 db/versions/11230-brownEucalyptus/01-addNewObservation.vn.sql diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index d475ef02f..7f7e50dd3 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -546,7 +546,8 @@ INSERT INTO `vn`.`observationType`(`id`,`description`, `code`) (6, 'Weight', 'weight'), (7, 'InvoiceOut', 'invoiceOut'), (8, 'DropOff', 'dropOff'), - (9, 'Sustitución', 'substitution'); + (9, 'Sustitución', 'substitution'), + (10, 'Finance', 'finance'); INSERT INTO `vn`.`addressObservation`(`id`,`addressFk`,`observationTypeFk`,`description`) VALUES diff --git a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql index cb0849888..53a737bc5 100644 --- a/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql +++ b/db/versions/11230-brownEucalyptus/00-addClientObservationType.sql @@ -1,3 +1,3 @@ ALTER TABLE vn.clientObservation ADD COLUMN observationTypeFk TINYINT(3) UNSIGNED NOT NULL, - ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (observationTypeFk) REFERENCES vn.observationType(id); \ No newline at end of file + ADD CONSTRAINT clientObservationTypeFk FOREIGN KEY (observationTypeFk) REFERENCES vn.observationType(id); \ No newline at end of file diff --git a/db/versions/11230-brownEucalyptus/01-addNewObservation.vn.sql b/db/versions/11230-brownEucalyptus/01-addNewObservation.vn.sql new file mode 100644 index 000000000..983419111 --- /dev/null +++ b/db/versions/11230-brownEucalyptus/01-addNewObservation.vn.sql @@ -0,0 +1,3 @@ +INSERT IGNORE INTO vn.observationType + SET description = 'Finance', + code = 'finance'; \ No newline at end of file From f3b5a70b673de493a110257cd0fae9c4081160da Mon Sep 17 00:00:00 2001 From: jorgep Date: Mon, 14 Oct 2024 14:41:25 +0200 Subject: [PATCH 16/16] feat: refs #7323 show right error --- modules/worker/back/methods/worker/new.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/worker/back/methods/worker/new.js b/modules/worker/back/methods/worker/new.js index bb43fba99..7da8a8da2 100644 --- a/modules/worker/back/methods/worker/new.js +++ b/modules/worker/back/methods/worker/new.js @@ -217,6 +217,7 @@ module.exports = Self => { const code = e.code; const message = e.sqlMessage; + if (e.message && e.message.includes('Invalid email')) throw new UserError('Invalid email'); if (e.message && e.message.includes(`Email already exists`)) throw new UserError(`This personal mail already exists`); if (code === 'ER_DUP_ENTRY' && message.includes(`CodigoTrabajador_UNIQUE`)) throw new UserError(`This worker code already exists`); if (code === 'ER_DUP_ENTRY' && message.includes(`PRIMARY`)) throw new UserError(`This worker already exists`);