#1407 email core francia LCR
This commit is contained in:
parent
62550b76f6
commit
c9521d1024
|
@ -0,0 +1 @@
|
||||||
|
UPDATE `vn2008`.`mandato_tipo` SET `Nombre`='LCR' WHERE `idmandato_tipo`='3';
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
INSERT INTO `vn`.`sample`(`id`, `code`, `description`, `isVisible`, `hasCompany`)
|
||||||
|
VALUES
|
||||||
|
(17, 'client-lcr', 'Autorisation pour débit', 1, 1);
|
|
@ -523,7 +523,8 @@ INSERT INTO `vn`.`greuge`(`id`, `clientFk`, `description`, `amount`, `shipped`,
|
||||||
INSERT INTO `vn`.`mandateType`(`id`, `name`)
|
INSERT INTO `vn`.`mandateType`(`id`, `name`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 'B2B'),
|
(1, 'B2B'),
|
||||||
(2, 'CORE');
|
(2, 'CORE'),
|
||||||
|
(3, 'LCR');
|
||||||
|
|
||||||
INSERT INTO `vn`.`mandate`(`id`, `clientFk`, `companyFk`, `code`, `created`, `mandateTypeFk`)
|
INSERT INTO `vn`.`mandate`(`id`, `clientFk`, `companyFk`, `code`, `created`, `mandateTypeFk`)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -14,10 +14,19 @@ module.exports = Self => {
|
||||||
if (sample.hasCompany && !changes.companyFk)
|
if (sample.hasCompany && !changes.companyFk)
|
||||||
throw new UserError('Choose a company');
|
throw new UserError('Choose a company');
|
||||||
|
|
||||||
|
const mandateSamples = [
|
||||||
|
{sample: 'sepa-core', type: 'CORE'},
|
||||||
|
{sample: 'client-lcr', type: 'LCR'}
|
||||||
|
];
|
||||||
|
|
||||||
|
const mandate = mandateSamples.find(mandate => {
|
||||||
|
return mandate.sample === sample.code;
|
||||||
|
});
|
||||||
|
|
||||||
// Renew mandate
|
// Renew mandate
|
||||||
if (sample.code === 'sepa-core') {
|
if (mandate) {
|
||||||
let mandateType = await models.MandateType.findOne({
|
let mandateType = await models.MandateType.findOne({
|
||||||
where: {name: 'CORE'}
|
where: {name: mandate.type}
|
||||||
});
|
});
|
||||||
|
|
||||||
let oldMandate = await models.Mandate.findOne({
|
let oldMandate = await models.Mandate.findOne({
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
{"type": "email", "name": "letter-debtor-nd"},
|
{"type": "email", "name": "letter-debtor-nd"},
|
||||||
{"type": "email", "name": "claim-pickup-order"},
|
{"type": "email", "name": "claim-pickup-order"},
|
||||||
{"type": "email", "name": "sepa-core"},
|
{"type": "email", "name": "sepa-core"},
|
||||||
|
{"type": "email", "name": "client-lcr"},
|
||||||
{"type": "email", "name": "driver-route"},
|
{"type": "email", "name": "driver-route"},
|
||||||
{"type": "report", "name": "rpt-delivery-note"},
|
{"type": "report", "name": "rpt-delivery-note"},
|
||||||
{"type": "report", "name": "rpt-claim-pickup-order"},
|
{"type": "report", "name": "rpt-claim-pickup-order"},
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
const CssReader = require(`${appPath}/lib/cssReader`);
|
||||||
|
|
||||||
|
module.exports = new CssReader([
|
||||||
|
`${appPath}/common/css/layout.css`,
|
||||||
|
`${appPath}/common/css/email.css`,
|
||||||
|
`${appPath}/common/css/misc.css`])
|
||||||
|
.mergeStyles();
|
|
@ -0,0 +1,27 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<title>{{ $t('subject') }}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<section class="container">
|
||||||
|
<!-- Header component -->
|
||||||
|
<email-header></email-header>
|
||||||
|
<!-- End header component -->
|
||||||
|
<section class="main">
|
||||||
|
<!-- Title block -->
|
||||||
|
<div class="title">
|
||||||
|
<h1>{{ $t('title') }}</h1>
|
||||||
|
</div>
|
||||||
|
<!-- Title block end -->
|
||||||
|
|
||||||
|
<p>{{$t('description.dear')}},</p>
|
||||||
|
<p>{{$t('description.instructions')}}</p>
|
||||||
|
<p>{{$t('description.conclusion')}}</p>
|
||||||
|
</section>
|
||||||
|
<!-- Footer component -->
|
||||||
|
<email-footer :locale="locale"></email-footer>
|
||||||
|
<!-- End footer component -->
|
||||||
|
</section>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,49 @@
|
||||||
|
const database = require(`${appPath}/lib/database`);
|
||||||
|
const reportEngine = require(`${appPath}/lib/reportEngine.js`);
|
||||||
|
const UserException = require(`${appPath}/lib/exceptions/userException`);
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'client-lcr',
|
||||||
|
async asyncData(ctx, params) {
|
||||||
|
const promises = [];
|
||||||
|
const data = {
|
||||||
|
isPreview: ctx.method === 'GET',
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!params.clientFk)
|
||||||
|
throw new UserException('No client id specified');
|
||||||
|
|
||||||
|
promises.push(reportEngine.toPdf('rpt-lcr', ctx));
|
||||||
|
promises.push(this.methods.fetchClient(params.clientFk));
|
||||||
|
|
||||||
|
return Promise.all(promises).then(result => {
|
||||||
|
const stream = result[0];
|
||||||
|
const [[client]] = result[1];
|
||||||
|
|
||||||
|
Object.assign(data, client);
|
||||||
|
Object.assign(data, {attachments: [{filename: 'rpt-lcr.pdf', content: stream}]});
|
||||||
|
|
||||||
|
return data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.locale)
|
||||||
|
this.$i18n.locale = this.locale;
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
fetchClient(clientFk) {
|
||||||
|
return database.pool.query(`
|
||||||
|
SELECT
|
||||||
|
u.lang locale,
|
||||||
|
c.email recipient
|
||||||
|
FROM client c
|
||||||
|
JOIN account.user u ON u.id = c.id
|
||||||
|
WHERE c.id = ?`, [clientFk]);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
'email-header': require('../email-header'),
|
||||||
|
'email-footer': require('../email-footer'),
|
||||||
|
},
|
||||||
|
};
|
|
@ -0,0 +1,64 @@
|
||||||
|
module.exports = {
|
||||||
|
messages: {
|
||||||
|
es: {
|
||||||
|
subject: 'Autorisation pour débit',
|
||||||
|
title: 'Autorisation pour débit',
|
||||||
|
description: {
|
||||||
|
dear: 'Messieurs',
|
||||||
|
instructions: `Étant donné les excellentes relations existantes entre nos
|
||||||
|
deux sociétés et en vue de faciliter les processus de
|
||||||
|
paiement de nos factures, nous vous suggérons l'utilisation
|
||||||
|
du système française de compensation LCR.
|
||||||
|
Ce service consiste à effectuer des recouvrements
|
||||||
|
automatiques, de manière électronique, de nos effets -
|
||||||
|
lettres de change et billets à ordre - tirés sur votre société
|
||||||
|
en Euro, qui présente comme principal avantage pour vous
|
||||||
|
la substantielle réduction de coûts dans des termes de frais
|
||||||
|
et commissions bancaires.
|
||||||
|
Dans le cas où vous accepteriez notre proposition, à
|
||||||
|
l’échéance de chaque effet, votre compte sera débité
|
||||||
|
automatiquement par votre Banque.
|
||||||
|
Ainsi, nous vous demandons de signer et envoyer à votre
|
||||||
|
Banque l'original de l'autorisation pour débit en annexe,
|
||||||
|
dûment remplie, et de nous retourner une photocopie de la
|
||||||
|
dite autorisation.
|
||||||
|
Ce système étant basé sur la transmission de données de
|
||||||
|
manière électronique, le maniement de documents
|
||||||
|
physiques á été éliminé
|
||||||
|
En vous remercieront pour votre collaboration, nous vous
|
||||||
|
prions d’agréer, Messieurs, nos salutations distinguées.`,
|
||||||
|
conclusion: 'Bien cordialement'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fr: {
|
||||||
|
subject: 'Autorisation pour débit',
|
||||||
|
title: 'Autorisation pour débit',
|
||||||
|
description: {
|
||||||
|
dear: 'Messieurs',
|
||||||
|
instructions: `Étant donné les excellentes relations existantes entre nos
|
||||||
|
deux sociétés et en vue de faciliter les processus de
|
||||||
|
paiement de nos factures, nous vous suggérons l'utilisation
|
||||||
|
du système française de compensation LCR.
|
||||||
|
Ce service consiste à effectuer des recouvrements
|
||||||
|
automatiques, de manière électronique, de nos effets -
|
||||||
|
lettres de change et billets à ordre - tirés sur votre société
|
||||||
|
en Euro, qui présente comme principal avantage pour vous
|
||||||
|
la substantielle réduction de coûts dans des termes de frais
|
||||||
|
et commissions bancaires.
|
||||||
|
Dans le cas où vous accepteriez notre proposition, à
|
||||||
|
l’échéance de chaque effet, votre compte sera débité
|
||||||
|
automatiquement par votre Banque.
|
||||||
|
Ainsi, nous vous demandons de signer et envoyer à votre
|
||||||
|
Banque l'original de l'autorisation pour débit en annexe,
|
||||||
|
dûment remplie, et de nous retourner une photocopie de la
|
||||||
|
dite autorisation.
|
||||||
|
Ce système étant basé sur la transmission de données de
|
||||||
|
manière électronique, le maniement de documents
|
||||||
|
physiques á été éliminé
|
||||||
|
En vous remercieront pour votre collaboration, nous vous
|
||||||
|
prions d’agréer, Messieurs, nos salutations distinguées.`,
|
||||||
|
conclusion: 'Bien cordialement'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in New Issue