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