From e231b0e12b47d12affdd00ad37d2a88fda6007df Mon Sep 17 00:00:00 2001 From: guillermo <guillermo@verdnatura.es> Date: Wed, 1 Mar 2023 10:11:22 +0100 Subject: [PATCH 1/2] refs #5237 Added greuge notify --- .../email/greuge-wrong/greuge-wrong.html | 14 +++++++++++++ .../email/greuge-wrong/greuge-wrong.js | 21 +++++++++++++++++++ .../email/greuge-wrong/locale/en.yml | 5 +++++ .../email/greuge-wrong/locale/es.yml | 5 +++++ 4 files changed, 45 insertions(+) create mode 100644 print/templates/email/greuge-wrong/greuge-wrong.html create mode 100644 print/templates/email/greuge-wrong/greuge-wrong.js create mode 100644 print/templates/email/greuge-wrong/locale/en.yml create mode 100644 print/templates/email/greuge-wrong/locale/es.yml diff --git a/print/templates/email/greuge-wrong/greuge-wrong.html b/print/templates/email/greuge-wrong/greuge-wrong.html new file mode 100644 index 0000000000..4f08742681 --- /dev/null +++ b/print/templates/email/greuge-wrong/greuge-wrong.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html v-bind="$props"> + <head> + <meta name="viewport" content="width=device-width"> + <meta name="format-detection" content="telephone=no"> + <title>{{ $t('subject') }}</title> + </head> + <body> + <h1>{{ $t('title') }} {{name}}</h1> + <p>{{ $t('ticketId') }} <a :href='url'>{{ticketId}}</a></p> + <p>{{ $t('amount') }} {{amount}}</p> + <p>{{ $t('description') }} {{description}}</p> + </body> +</html> \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/greuge-wrong.js b/print/templates/email/greuge-wrong/greuge-wrong.js new file mode 100644 index 0000000000..ac18c4e9b6 --- /dev/null +++ b/print/templates/email/greuge-wrong/greuge-wrong.js @@ -0,0 +1,21 @@ +module.exports = { + name: 'greuge-wrong', + props: { + ticketId: { + type: [Number], + required: false + }, + clientId: { + type: [Number], + required: true + }, + description: { + type: [String], + required: true + }, + amount: { + type: [Number], + required: true + } + }, +}; diff --git a/print/templates/email/greuge-wrong/locale/en.yml b/print/templates/email/greuge-wrong/locale/en.yml new file mode 100644 index 0000000000..67fb74ccbb --- /dev/null +++ b/print/templates/email/greuge-wrong/locale/en.yml @@ -0,0 +1,5 @@ +subject: A wrong greuge has been created +title: A wrong greuge has been created for the client +ticketId: The ticket is +amount: The amount is +description: The description is \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/locale/es.yml b/print/templates/email/greuge-wrong/locale/es.yml new file mode 100644 index 0000000000..4282fd3af5 --- /dev/null +++ b/print/templates/email/greuge-wrong/locale/es.yml @@ -0,0 +1,5 @@ +subject: Se ha creado una gruge anormal +title: Se ha creado una gruge anormal para el cliente +ticketId: El ticket es +amount: El importe es +description: La descripción es \ No newline at end of file From 6f96820168346740689faa6eec1e1df6691ed2c6 Mon Sep 17 00:00:00 2001 From: guillermo <guillermo@verdnatura.es> Date: Wed, 19 Apr 2023 10:16:37 +0200 Subject: [PATCH 2/2] refs #5237 Ahora lee un conjunto de arrays --- .../email/greuge-wrong/assets/css/import.js | 11 ++++ .../email/greuge-wrong/greuge-wrong.html | 29 ++++++----- .../email/greuge-wrong/greuge-wrong.js | 51 ++++++++++++------- .../email/greuge-wrong/locale/en.yml | 11 ++-- .../email/greuge-wrong/locale/es.yml | 11 ++-- 5 files changed, 71 insertions(+), 42 deletions(-) create mode 100644 print/templates/email/greuge-wrong/assets/css/import.js diff --git a/print/templates/email/greuge-wrong/assets/css/import.js b/print/templates/email/greuge-wrong/assets/css/import.js new file mode 100644 index 0000000000..89b2afaa5a --- /dev/null +++ b/print/templates/email/greuge-wrong/assets/css/import.js @@ -0,0 +1,11 @@ +const Stylesheet = require(`vn-print/core/stylesheet`); + +const path = require('path'); +const vnPrintPath = path.resolve('print'); + +module.exports = new Stylesheet([ + `${vnPrintPath}/common/css/spacing.css`, + `${vnPrintPath}/common/css/misc.css`, + `${vnPrintPath}/common/css/layout.css`, + `${vnPrintPath}/common/css/email.css`]) + .mergeStyles(); \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/greuge-wrong.html b/print/templates/email/greuge-wrong/greuge-wrong.html index 4f08742681..3360071220 100644 --- a/print/templates/email/greuge-wrong/greuge-wrong.html +++ b/print/templates/email/greuge-wrong/greuge-wrong.html @@ -1,14 +1,15 @@ -<!DOCTYPE html> -<html v-bind="$props"> - <head> - <meta name="viewport" content="width=device-width"> - <meta name="format-detection" content="telephone=no"> - <title>{{ $t('subject') }}</title> - </head> - <body> - <h1>{{ $t('title') }} {{name}}</h1> - <p>{{ $t('ticketId') }} <a :href='url'>{{ticketId}}</a></p> - <p>{{ $t('amount') }} {{amount}}</p> - <p>{{ $t('description') }} {{description}}</p> - </body> -</html> \ No newline at end of file +<email-body v-bind="$props"> + <div class="grid-row"> + <div class="grid-block vn-px-ml centered"> + <h1>{{ $t('total') }}: {{tickets.length}}</h1> + <hr> + </div> + <div v-for="ticket in tickets" class="grid-block vn-px-ml"> + <p v-if="ticket.ticketId"><b>{{ $t('ticketId') }}:</b> {{ticket.ticketId}}</p> + <p><b>{{ $t('clientId') }}:</b> <a :href="clientGreugeUrl(ticket.clientId)" target="_blank">{{ticket.clientId}}</a></p> + <p v-if="ticket.description"><b>{{ $t('description') }}:</b> {{ticket.description}}</p> + <p><b>{{ $t('amount') }}:</b> {{ticket.amount}} €</p> + <hr> + </div> + </div> +</email-body> \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/greuge-wrong.js b/print/templates/email/greuge-wrong/greuge-wrong.js index ac18c4e9b6..2aa3d50a7d 100644 --- a/print/templates/email/greuge-wrong/greuge-wrong.js +++ b/print/templates/email/greuge-wrong/greuge-wrong.js @@ -1,21 +1,36 @@ +const Component = require(`vn-print/core/component`); +const emailBody = new Component('email-body'); +const models = require('vn-loopback/server/server').models; + module.exports = { name: 'greuge-wrong', - props: { - ticketId: { - type: [Number], - required: false - }, - clientId: { - type: [Number], - required: true - }, - description: { - type: [String], - required: true - }, - amount: { - type: [Number], - required: true - } + async serverPrefetch() { + this.url = await this.salixUrl(); + + if (!this.url) + throw new Error('Something went wrong'); }, -}; + components: { + 'email-body': emailBody.build(), + }, + methods: { + async salixUrl() { + const salix = await models.Url.findOne({ + where: { + appName: 'salix', + environment: process.env.NODE_ENV || 'dev' + } + }); + return salix.url; + }, + clientGreugeUrl(clientId) { + return `${this.url}client/${clientId}/greuge/index` + }, + }, + props: { + tickets: { + type: Array, + required: true + }, + }, +}; \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/locale/en.yml b/print/templates/email/greuge-wrong/locale/en.yml index 67fb74ccbb..0ace99c36c 100644 --- a/print/templates/email/greuge-wrong/locale/en.yml +++ b/print/templates/email/greuge-wrong/locale/en.yml @@ -1,5 +1,6 @@ -subject: A wrong greuge has been created -title: A wrong greuge has been created for the client -ticketId: The ticket is -amount: The amount is -description: The description is \ No newline at end of file +subject: Abnormal greuges have been created +total: Total number of abnormal greuges +ticketId: Ticket +clientId: Client +description: Description +amount: Amount \ No newline at end of file diff --git a/print/templates/email/greuge-wrong/locale/es.yml b/print/templates/email/greuge-wrong/locale/es.yml index 4282fd3af5..fd23971824 100644 --- a/print/templates/email/greuge-wrong/locale/es.yml +++ b/print/templates/email/greuge-wrong/locale/es.yml @@ -1,5 +1,6 @@ -subject: Se ha creado una gruge anormal -title: Se ha creado una gruge anormal para el cliente -ticketId: El ticket es -amount: El importe es -description: La descripción es \ No newline at end of file +subject: Se han creado greuges anormales +total: Número total de greuges anormales +ticketId: Ticket +clientId: Cliente +description: Descipción +amount: Importe \ No newline at end of file