From 8bce1630997ee7f2be199b1f46b1098fdfc7fad4 Mon Sep 17 00:00:00 2001
From: Joan Sanchez
Date: Thu, 31 Oct 2019 14:14:18 +0100
Subject: [PATCH] changes
---
print/core/database.js | 6 +-
.../templates/reports/sepa-core/locale/es.yml | 77 +++++++++---------
.../templates/reports/sepa-core/locale/fr.yml | 77 +++++++++---------
.../templates/reports/sepa-core/locale/pt.yml | 78 +++++++++----------
.../reports/sepa-core/sepa-core.html | 4 +-
.../templates/reports/sepa-core/sepa-core.js | 42 ++++++----
6 files changed, 149 insertions(+), 135 deletions(-)
diff --git a/print/core/database.js b/print/core/database.js
index 5eacdf1f4..02ae2a9b0 100644
--- a/print/core/database.js
+++ b/print/core/database.js
@@ -3,8 +3,12 @@ const config = require('./config.js');
module.exports = {
init() {
- if (!this.pool)
+ if (!this.pool) {
this.pool = mysql.createPool(config.mysql);
+ this.pool.on('connection', connection => {
+ connection.config.namedPlaceholders = true;
+ });
+ }
},
find(query, params) {
return this.pool.query(query, params).then(([rows]) => {
diff --git a/print/templates/reports/sepa-core/locale/es.yml b/print/templates/reports/sepa-core/locale/es.yml
index 6a1547c88..d8955bc1f 100644
--- a/print/templates/reports/sepa-core/locale/es.yml
+++ b/print/templates/reports/sepa-core/locale/es.yml
@@ -1,38 +1,39 @@
-{
- title: 'Orden de domiciliación de adeudo SEPA CORE',
- description: `Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) al acreedor a enviar instrucciones
- a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las
- instrucciones del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los
- términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las
- ocho semanas que adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera.`,
- documentCopy: `Debe llevar a su Entidad Bancaria una copia
- del documento firmado para que lo registre y evitar la devolución.`,
- mandatoryFields: `TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.`,
- sendOrder: `UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.`,
- supplier: {
- toCompleteBySupplier: 'A cumplimentar por el acreedor',
- orderReference: 'Referencia de la orden de domiciliación',
- identifier: 'Identificador del acreedor',
- name: 'Nombre del acreedor',
- street: 'Dirección',
- location: 'CP - Población - Provincia',
- country: 'País'
- },
- client: {
- toCompleteByClient: 'A cumplimentar por el deudor',
- name: 'Nombre del deudor/es',
- street: 'Dirección del deudor',
- location: 'CP - Población - Provincia',
- country: 'País del deudor',
- swift: 'Swift BIC',
- accountNumber: 'Número de cuenta - IBAN',
- accountHolder: '(Titular/es de la cuenta de cargo)',
- accountNumberFormat: 'En España el IBAN consta de 24 posiciones comenzando siempre por ES',
- paymentType: 'Tipo de pago',
- recurrent: 'Recurrente',
- unique: 'Único',
- signLocation: 'Fecha - Localidad',
- sign: 'Firma del deudor y sello',
- },
- order: 'Ord. domiciliación {0}',
- }
\ No newline at end of file
+title: Orden de domiciliación de adeudo SEPA CORE
+description: Mediante la firma de esta orden de domiciliación, el deudor autoriza
+ (A) al acreedor a enviar instrucciones a la entidad del deudor para adeudar su cuenta
+ y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones
+ del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso
+ por su entidad en los términos y condiciones del contrato suscrito con la misma.
+ La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que adeudo
+ en cuenta. Puede obtener información adicional sobre sus derechos en su entidad
+ financiera.
+documentCopy: Debe llevar a su Entidad Bancaria una copia del documento firmado para
+ que lo registre y evitar la devolución.
+mandatoryFields: TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.
+sendOrder: UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR
+ PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.
+supplier:
+ toCompleteBySupplier: A cumplimentar por el acreedor
+ orderReference: Referencia de la orden de domiciliación
+ identifier: Identificador del acreedor
+ name: Nombre del acreedor
+ street: Dirección
+ location: CP - Población - Provincia
+ country: País
+client:
+ toCompleteByClient: A cumplimentar por el deudor
+ name: Nombre del deudor/es
+ street: Dirección del deudor
+ location: CP - Población - Provincia
+ country: País del deudor
+ swift: Swift BIC
+ accountNumber: Número de cuenta - IBAN
+ accountHolder: "(Titular/es de la cuenta de cargo)"
+ accountNumberFormat: En España el IBAN consta de 24 posiciones comenzando siempre
+ por ES
+ paymentType: Tipo de pago
+ recurrent: Recurrente
+ unique: Único
+ signLocation: Fecha - Localidad
+ sign: Firma del deudor y sello
+order: Ord. domiciliación {0}
diff --git a/print/templates/reports/sepa-core/locale/fr.yml b/print/templates/reports/sepa-core/locale/fr.yml
index 333472def..d8955bc1f 100644
--- a/print/templates/reports/sepa-core/locale/fr.yml
+++ b/print/templates/reports/sepa-core/locale/fr.yml
@@ -1,38 +1,39 @@
-{
- title: 'Autorisation pour débit',
- description: `Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) al acreedor a enviar instrucciones
- a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las
- instrucciones del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los
- términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las
- ocho semanas que adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera.`,
- documentCopy: `Debe llevar a su entidad Bancaria una copia
- del documento firmado para que lo registre y evitar la devolución.`,
- mandatoryFields: `TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.`,
- sendOrder: `UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.`,
- supplier: {
- toCompleteBySupplier: 'A cumplimentar por el acreedor',
- orderReference: 'Referencia de la orden de domiciliación',
- identifier: 'Identificador del acreedor',
- name: 'Nombre del acreedor',
- street: 'Dirección',
- location: 'CP - Población - Provincia',
- country: 'País'
- },
- client: {
- toCompleteByClient: 'A cumplimentar por el deudor',
- name: 'Nombre del deudor/es',
- street: 'Dirección del deudor',
- location: 'CP - Población - Provincia',
- country: 'País del deudor',
- swift: 'Swift BIC',
- accountNumber: 'Número de cuenta - IBAN',
- accountHolder: '(Titular/es de la cuenta de cargo)',
- accountNumberFormat: 'En Francia el IBAN consta de 27 posiciones comenzando siempre por FR',
- paymentType: 'Tipo de pago',
- recurrent: 'Recurrente',
- unique: 'Único',
- signLocation: 'Fecha - Localidad',
- sign: 'Firma del deudor y sello',
- },
- order: 'Orden de domiciliación',
-}
\ No newline at end of file
+title: Orden de domiciliación de adeudo SEPA CORE
+description: Mediante la firma de esta orden de domiciliación, el deudor autoriza
+ (A) al acreedor a enviar instrucciones a la entidad del deudor para adeudar su cuenta
+ y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones
+ del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso
+ por su entidad en los términos y condiciones del contrato suscrito con la misma.
+ La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que adeudo
+ en cuenta. Puede obtener información adicional sobre sus derechos en su entidad
+ financiera.
+documentCopy: Debe llevar a su Entidad Bancaria una copia del documento firmado para
+ que lo registre y evitar la devolución.
+mandatoryFields: TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.
+sendOrder: UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR
+ PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.
+supplier:
+ toCompleteBySupplier: A cumplimentar por el acreedor
+ orderReference: Referencia de la orden de domiciliación
+ identifier: Identificador del acreedor
+ name: Nombre del acreedor
+ street: Dirección
+ location: CP - Población - Provincia
+ country: País
+client:
+ toCompleteByClient: A cumplimentar por el deudor
+ name: Nombre del deudor/es
+ street: Dirección del deudor
+ location: CP - Población - Provincia
+ country: País del deudor
+ swift: Swift BIC
+ accountNumber: Número de cuenta - IBAN
+ accountHolder: "(Titular/es de la cuenta de cargo)"
+ accountNumberFormat: En España el IBAN consta de 24 posiciones comenzando siempre
+ por ES
+ paymentType: Tipo de pago
+ recurrent: Recurrente
+ unique: Único
+ signLocation: Fecha - Localidad
+ sign: Firma del deudor y sello
+order: Ord. domiciliación {0}
diff --git a/print/templates/reports/sepa-core/locale/pt.yml b/print/templates/reports/sepa-core/locale/pt.yml
index 5e5e808ea..2e2d08937 100644
--- a/print/templates/reports/sepa-core/locale/pt.yml
+++ b/print/templates/reports/sepa-core/locale/pt.yml
@@ -1,39 +1,39 @@
-{
- title: 'Autorização de débito directo SEPA CORE',
- description: `Ao subscrever esta autorização, está a autorizar a (A) Verdnatura Levante S.L. a enviar instruções ao
- seu banco para debitar a sua conta e (B) seu banco a debitar a sua conta, de acordo com as instruções da
- Verdnatura Levante S.L. Os seus direitos incluem a possibilidade de exigir do seu banco o reembolso do
- montante debitado, nos termos e condições acordados com o seu banco. O reembolso deve ser solicitado até um
- prazo de oito semanas, a contar da data do débito na sua conta. Os seus direitos, referentes à autorização
- acima referida, são explicados em declaração que pode obter no seu banco.`,
- documentCopy: `Deve levar à sua Entidade Bancária uma cópia do documento assinado para que o registre e evitar a devolução`,
- mandatoryFields: `TODOS OS CAMPOS DEVEM SER PREENCHIDOS OBRIGATORIAMENTE.`,
- sendOrder: `UMA VEZ ASSINADA, ESTA AUTORIZAÇÃO DE DÉBITO DEVE SER ENVIADA AO CREDOR PARA SUA CUSTÓDIA E É RECOMENDÁVEL
- FACILITAR UMA CÓPIA À SUA ENTIDADE BANCÁRIA.`,
- supplier: {
- toCompleteBySupplier: 'A preencher pelo credor',
- orderReference: 'Referência da ordem',
- identifier: 'Identificador do Credor',
- name: 'Nome do Credor',
- street: 'Morada',
- location: 'CP - Município - Distrito',
- country: 'País'
- },
- client: {
- toCompleteByClient: 'A preencher pelo devedor',
- name: 'Nome do devedor (Titular da conta)',
- street: 'Dirección del deudor',
- location: 'Cod. Postal - Município - Distrito',
- country: 'País do devedor',
- swift: 'Swift BIC',
- accountNumber: 'Número de Conta IBAN',
- accountHolder: '(Titular/es de la cuenta de cargo)',
- accountNumberFormat: 'Em Portugal o IBAN é composto por 25 dígitos e começa sempre por PT',
- paymentType: 'Tipos de pagamento Pagamento',
- recurrent: 'Recorrente',
- unique: 'Pagamento pontual',
- signLocation: 'Data - Localidade',
- sign: 'Assinatura e carimbo do devedor',
- },
- order: 'Referência da ordem {0}',
- },
\ No newline at end of file
+title: Autorização de débito directo SEPA CORE
+description: Ao subscrever esta autorização, está a autorizar a (A) Verdnatura Levante
+ S.L. a enviar instruções ao seu banco para debitar a sua conta e (B) seu banco a
+ debitar a sua conta, de acordo com as instruções da Verdnatura Levante S.L. Os seus
+ direitos incluem a possibilidade de exigir do seu banco o reembolso do montante
+ debitado, nos termos e condições acordados com o seu banco. O reembolso deve ser
+ solicitado até um prazo de oito semanas, a contar da data do débito na sua conta.
+ Os seus direitos, referentes à autorização acima referida, são explicados em declaração
+ que pode obter no seu banco.
+documentCopy: Deve levar à sua Entidade Bancária uma cópia do documento assinado para
+ que o registre e evitar a devolução
+mandatoryFields: TODOS OS CAMPOS DEVEM SER PREENCHIDOS OBRIGATORIAMENTE.
+sendOrder: UMA VEZ ASSINADA, ESTA AUTORIZAÇÃO DE DÉBITO DEVE SER ENVIADA AO CREDOR
+ PARA SUA CUSTÓDIA E É RECOMENDÁVEL FACILITAR UMA CÓPIA À SUA ENTIDADE BANCÁRIA.
+supplier:
+ toCompleteBySupplier: A preencher pelo credor
+ orderReference: Referência da ordem
+ identifier: Identificador do Credor
+ name: Nome do Credor
+ street: Morada
+ location: CP - Município - Distrito
+ country: País
+client:
+ toCompleteByClient: A preencher pelo devedor
+ name: Nome do devedor (Titular da conta)
+ street: Dirección del deudor
+ location: Cod. Postal - Município - Distrito
+ country: País do devedor
+ swift: Swift BIC
+ accountNumber: Número de Conta IBAN
+ accountHolder: "(Titular/es de la cuenta de cargo)"
+ accountNumberFormat: Em Portugal o IBAN é composto por 25 dígitos e começa sempre
+ por PT
+ paymentType: Tipos de pagamento Pagamento
+ recurrent: Recorrente
+ unique: Pagamento pontual
+ signLocation: Data - Localidade
+ sign: Assinatura e carimbo do devedor
+order: Referência da ordem {0}
diff --git a/print/templates/reports/sepa-core/sepa-core.html b/print/templates/reports/sepa-core/sepa-core.html
index db818f14a..e9982a19f 100644
--- a/print/templates/reports/sepa-core/sepa-core.html
+++ b/print/templates/reports/sepa-core/sepa-core.html
@@ -49,7 +49,7 @@
{{$t('documentCopy')}}
-
+
{{$t('mandatoryFields')}}
{{$t('sendOrder')}}
diff --git a/print/templates/reports/sepa-core/sepa-core.js b/print/templates/reports/sepa-core/sepa-core.js
index a6aa3d272..c34601903 100755
--- a/print/templates/reports/sepa-core/sepa-core.js
+++ b/print/templates/reports/sepa-core/sepa-core.js
@@ -6,14 +6,21 @@ const db = require(`${appPath}/core/database`);
const rptSepaCore = {
name: 'sepa-core',
async serverPrefetch() {
- this.client = await this.fetchClient(this.receiptId);
+ this.client = await this.fetchClient(this.clientId, this.companyId);
if (!this.client)
throw new Error('Something went wrong');
},
+ computed: {
+ dated: () => {
+ const filters = this.$options.filters;
+
+ return filters.date(new Date(), '%d-%m-%Y');
+ }
+ },
methods: {
fetchClient(clientId, companyId) {
- return database.pool.query(
+ return db.findOne(
`SELECT
c.id clientId,
u.lang locale,
@@ -37,28 +44,29 @@ const rptSepaCore = {
JOIN account.user u ON u.id = c.id
JOIN country ct ON ct.id = c.countryFk
LEFT JOIN mandate m ON m.clientFk = c.id
- AND m.companyFk = ? AND m.finished IS NULL
+ AND m.companyFk = :companyId AND m.finished IS NULL
LEFT JOIN supplier s ON s.id = m.companyFk
LEFT JOIN country sc ON sc.id = s.countryFk
LEFT JOIN province sp ON sp.id = s.provinceFk
LEFT JOIN province p ON p.id = c.provinceFk
- WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ?
- ORDER BY m.created DESC LIMIT 1`, [companyFk, companyFk, clientFk]);
- },
- dated: () => {
- return strftime('%d-%m-%Y', new Date());
- },
- toISOString: date => {
- return strftime('%d-%m-%Y', date);
- },
+ WHERE (m.companyFk = :companyId OR m.companyFk IS NULL) AND c.id = :clientId
+ ORDER BY m.created DESC LIMIT 1`, {companyId, clientId});
+ }
},
components: {
- 'report-header': require('../report-header'),
- 'report-footer': require('../report-footer'),
+ 'report-header': reportHeader.build(),
+ 'report-footer': reportFooter.build()
},
- template: template,
- i18n: lang,
- props: ['test']
+ props: {
+ clientId: {
+ type: String,
+ required: true
+ },
+ companyId: {
+ type: String,
+ required: true
+ }
+ }
};