diff --git a/db/changes/233401/01-deviceLog_acl.sql b/db/changes/233401/01-deviceLog_acl.sql new file mode 100644 index 000000000..ebe3f8ed5 --- /dev/null +++ b/db/changes/233401/01-deviceLog_acl.sql @@ -0,0 +1,6 @@ + +ALTER TABLE `vn`.`deviceLog` ADD serialNumber varchar(45) DEFAULT NULL NULL; + +INSERT INTO `salix`.`ACL` ( model, property, accessType, permission, principalType, principalId) +VALUES( 'DeviceLog', 'create', 'WRITE', 'ALLOW', 'ROLE', 'employee'); + diff --git a/loopback/locale/en.json b/loopback/locale/en.json index 46b48e2ea..5d2b7ab03 100644 --- a/loopback/locale/en.json +++ b/loopback/locale/en.json @@ -185,5 +185,6 @@ "You don't have enough privileges.": "You don't have enough privileges.", "This ticket is locked.": "This ticket is locked.", "This ticket is not editable.": "This ticket is not editable.", - "The ticket doesn't exist.": "The ticket doesn't exist." + "The ticket doesn't exist.": "The ticket doesn't exist.", + "Ticket without Route": "Ticket without route" } diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 195b683ad..ccd63e0ff 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -315,5 +315,6 @@ "This ticket is not editable.": "Este ticket no es editable.", "The ticket doesn't exist.": "No existe el ticket.", "Social name should be uppercase": "La razón social debe ir en mayúscula", - "Street should be uppercase": "La dirección fiscal debe ir en mayúscula" + "Street should be uppercase": "La dirección fiscal debe ir en mayúscula", + "Ticket without Route": "Ticket sin ruta" } diff --git a/modules/ticket/back/methods/ticket/saveSign.js b/modules/ticket/back/methods/ticket/saveSign.js index 55d2e3281..9888328e7 100644 --- a/modules/ticket/back/methods/ticket/saveSign.js +++ b/modules/ticket/back/methods/ticket/saveSign.js @@ -93,6 +93,8 @@ module.exports = Self => { }, myOptions); const dmsType = await models.DmsType.findOne({where: {code: 'Ticket'}, fields: ['id']}, myOptions); const ctxUploadFile = Object.assign({}, ctx); + if (ticket.route() === null) + throw new UserError('Ticket without route'); ctxUploadFile.args = { warehouseId: ticket.warehouseFk, companyId: ticket.companyFk, diff --git a/modules/worker/back/model-config.json b/modules/worker/back/model-config.json index 60ec273a5..b261f895e 100644 --- a/modules/worker/back/model-config.json +++ b/modules/worker/back/model-config.json @@ -23,6 +23,9 @@ "Device": { "dataSource": "vn" }, + "DeviceLog": { + "dataSource": "vn" + }, "DeviceProduction": { "dataSource": "vn" }, diff --git a/modules/worker/back/models/device-log.json b/modules/worker/back/models/device-log.json new file mode 100644 index 000000000..9278b9038 --- /dev/null +++ b/modules/worker/back/models/device-log.json @@ -0,0 +1,40 @@ +{ + "name": "DeviceLog", + "base": "VnModel", + "options": { + "mysql": { + "table": "deviceLog" + } + }, + "properties": { + "id": { + "id": true, + "type": "number" + }, + "android_id": { + "type": "string" + }, + "userFk": { + "type": "number" + }, + "created": { + "type": "date" + }, + "nameApp": { + "type": "string" + }, + "versionApp": { + "type": "string" + }, + "deviceProductionFk": { + "type": "number" + } + }, + "relations": { + "user": { + "type": "belongsTo", + "model": "VnUser", + "foreignKey": "userFk" + } + } +}