diff --git a/back/Dockerfile b/back/Dockerfile index 0f75f6949..b2c329896 100644 --- a/back/Dockerfile +++ b/back/Dockerfile @@ -13,6 +13,7 @@ RUN apt-get update \ graphicsmagick \ && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ + && npm install -g corepack@0.31.0 \ && corepack enable pnpm # Puppeteer diff --git a/db/routines/vn/procedures/ticket_getWarnings.sql b/db/routines/vn/procedures/ticket_getWarnings.sql index d817a92bb..5f675e7f2 100644 --- a/db/routines/vn/procedures/ticket_getWarnings.sql +++ b/db/routines/vn/procedures/ticket_getWarnings.sql @@ -25,7 +25,7 @@ BEGIN LEFT JOIN agencyMode am ON am.id = tt.agencyModeFk LEFT JOIN deliveryMethod dm ON dm.id = am.deliveryMethodFk WHERE dm.code IN ('AGENCY') - AND it.isFragile; + AND (it.isFragile OR i.isFragile); CREATE OR REPLACE TEMPORARY TABLE tmp.ticket_warnings (PRIMARY KEY (ticketFk)) diff --git a/db/routines/vn/triggers/mandate_afterDelete.sql b/db/routines/vn/triggers/mandate_afterDelete.sql new file mode 100644 index 000000000..6ef27bb10 --- /dev/null +++ b/db/routines/vn/triggers/mandate_afterDelete.sql @@ -0,0 +1,12 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`mandate_afterDelete` + AFTER DELETE ON `mandate` + FOR EACH ROW +BEGIN + INSERT INTO mandateLog + SET `action` = 'delete', + `changedModel` = 'mandate', + `changedModelId` = OLD.id, + `userFk` = account.myUser_getId(); +END$$ +DELIMITER ; diff --git a/db/routines/vn/triggers/mandate_beforeInsert.sql b/db/routines/vn/triggers/mandate_beforeInsert.sql index bfc36cc31..090133eef 100644 --- a/db/routines/vn/triggers/mandate_beforeInsert.sql +++ b/db/routines/vn/triggers/mandate_beforeInsert.sql @@ -3,10 +3,12 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`mandate_beforeInsert` BEFORE INSERT ON `mandate` FOR EACH ROW BEGIN + SET NEW.editorFk = account.myUser_getId(); + IF (NEW.code IS NULL) THEN - SET NEW.code=CONCAT(NEW.clientFk,'-',(SELECT AUTO_INCREMENT - FROM information_schema.TABLES - WHERE TABLE_SCHEMA='vn' and TABLE_NAME='mandate')); - END IF; + SET NEW.code=CONCAT(NEW.clientFk,'-',(SELECT AUTO_INCREMENT + FROM information_schema.TABLES + WHERE TABLE_SCHEMA='vn' and TABLE_NAME='mandate')); + END IF; END$$ DELIMITER ; diff --git a/db/routines/vn/triggers/mandate_beforeUpdate.sql b/db/routines/vn/triggers/mandate_beforeUpdate.sql new file mode 100644 index 000000000..0932fda39 --- /dev/null +++ b/db/routines/vn/triggers/mandate_beforeUpdate.sql @@ -0,0 +1,8 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`mandate_beforeUpdate` + BEFORE INSERT ON `mandate` + FOR EACH ROW +BEGIN + SET NEW.editorFk = account.myUser_getId(); +END$$ +DELIMITER ; diff --git a/db/versions/11432-yellowRoebelini/00-firstScript.sql b/db/versions/11432-yellowRoebelini/00-firstScript.sql new file mode 100644 index 000000000..15652d337 --- /dev/null +++ b/db/versions/11432-yellowRoebelini/00-firstScript.sql @@ -0,0 +1,23 @@ +CREATE OR REPLACE TABLE vn.mandateLog ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) DEFAULT NULL, + `userFk` int(10) unsigned DEFAULT NULL, + `action` set('insert','update','delete','select') NOT NULL, + `creationDate` timestamp NULL DEFAULT current_timestamp(), + `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `changedModel` enum('client') NOT NULL DEFAULT 'client', + `oldInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`oldInstance`)), + `newInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`newInstance`)), + `changedModelId` int(11) NOT NULL, + `changedModelValue` varchar(45) DEFAULT NULL, + `summaryId` varchar(30) DEFAULT NULL, + `reason` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `logMandate_userFk` (`userFk`), + KEY `mandateLog_changedModel` (`changedModel`,`changedModelId`,`creationDate`), + KEY `mandateLog_originFk` (`originFk`,`creationDate`), + KEY `mandateLog_creationDate_IDX` (`creationDate` DESC) USING BTREE, + CONSTRAINT `mandateUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +ALTER TABLE vn.mandate ADD editorFk INT UNSIGNED DEFAULT NULL NULL; diff --git a/db/versions/11433-chocolateIvy/00-firstScript.sql b/db/versions/11433-chocolateIvy/00-firstScript.sql new file mode 100644 index 000000000..25e8b376c --- /dev/null +++ b/db/versions/11433-chocolateIvy/00-firstScript.sql @@ -0,0 +1 @@ +ALTER TABLE vn.recovery DROP FOREIGN KEY cliente333; diff --git a/modules/client/back/locale/client-sample/es.yml b/modules/client/back/locale/client-sample/es.yml index 5293adaa8..5f400c868 100644 --- a/modules/client/back/locale/client-sample/es.yml +++ b/modules/client/back/locale/client-sample/es.yml @@ -1,4 +1,4 @@ -name: muestra +name: plantilla columns: id: id created: creado diff --git a/modules/client/back/locale/mandate/en.yml b/modules/client/back/locale/mandate/en.yml new file mode 100644 index 000000000..6a43ebb5e --- /dev/null +++ b/modules/client/back/locale/mandate/en.yml @@ -0,0 +1,10 @@ +name: mandate +columns: + id: id + clientFk: client + companyFk: company + code: code + created: created + finished: finished + mandateTypeFk: mandate type + editorFk: editor diff --git a/modules/client/back/locale/mandate/es.yml b/modules/client/back/locale/mandate/es.yml new file mode 100644 index 000000000..efe6465dc --- /dev/null +++ b/modules/client/back/locale/mandate/es.yml @@ -0,0 +1,10 @@ +name: mandate +columns: + id: id + clientFk: cliente + companyFk: empresa + code: código + created: creado + finished: finalizado + mandateTypeFk: tipo de mandato + editorFk: editor diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index dc19c5d81..967469c06 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -250,7 +250,7 @@ module.exports = Self => { const loopBackContext = LoopBackContext.getCurrentContext(); const accessToken = {req: loopBackContext.active.accessToken}; - const editVerifiedDataWithoutTaxDataChecked = models.ACL.checkAccessAcl( + const editVerifiedDataWithoutTaxDataChecked = await models.ACL.checkAccessAcl( accessToken, 'Client', 'editVerifiedDataWithoutTaxDataCheck', diff --git a/modules/client/back/models/mandate.json b/modules/client/back/models/mandate.json index 914b23ce2..89a18fd7e 100644 --- a/modules/client/back/models/mandate.json +++ b/modules/client/back/models/mandate.json @@ -1,6 +1,9 @@ { "name": "Mandate", "base": "VnModel", + "mixins": { + "Loggable": true + }, "options": { "mysql": { "table": "mandate" @@ -39,4 +42,4 @@ "foreignKey": "mandateTypeFk" } } - } \ No newline at end of file + }