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 + } + } };