From 75c9d1122c691be1547383c8ec40e4b1b00f239b Mon Sep 17 00:00:00 2001 From: Bernat Date: Tue, 23 Apr 2019 11:25:49 +0200 Subject: [PATCH] #1329 ticket.services validation --- loopback/locale/es.json | 3 ++- modules/ticket/back/models/ticket-service.js | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 modules/ticket/back/models/ticket-service.js diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 9d4504ce24..e275cbb931 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -81,5 +81,6 @@ "This client can't be invoiced": "Este cliente no puede ser facturado", "This ticket can't be invoiced": "Este ticket no puede ser facturado", "That item is not available on that day": "El item no esta disponible para esa fecha", - "That item doesn't exists": "That item doesn't exists" + "That item doesn't exists": "That item doesn't exists", + "You cannot add services to an invoiced ticket": "No puedes aƱadir servicios a un ticket facturado" } \ No newline at end of file diff --git a/modules/ticket/back/models/ticket-service.js b/modules/ticket/back/models/ticket-service.js new file mode 100644 index 0000000000..3f54a960e7 --- /dev/null +++ b/modules/ticket/back/models/ticket-service.js @@ -0,0 +1,12 @@ +const UserError = require('vn-loopback/util/user-error'); + +module.exports = Self => { + Self.observe('before save', async ctx => { + if (ctx.isNewInstance) { + let ticketId = ctx.instance.ticketFk; + let ticket = await Self.app.models.Ticket.findById(ticketId); + if (ticket.refFk) + throw new UserError('You cannot add services to an invoiced ticket'); + } + }); +};