salix/services/mailer/application/template/printer-setup/printer-setup.js

47 lines
1.7 KiB
JavaScript

var path = require('path');
var database = require(path.join(__dirname, '../../database.js'));
var format = require(path.join(__dirname, '../../util/format.js'));
module.exports = class PrinterSetup {
getData(params, cb) {
let query = `SELECT
CONCAT(w.name, ' ', w.firstName) name,
w.phone AS phone,
CONCAT(u.name, '@verdnatura.es') AS email,
LOWER(ct.code) countryCode,
c.email recipient
FROM client c
LEFT JOIN worker w ON w.id = c.salesPersonFk
LEFT JOIN account.user u ON u.id = w.userFk
JOIN country ct ON ct.id = c.countryFk
WHERE c.id = ?`;
this.clientId = params.clientId;
this.isPreview = params.isPreview;
database.pool.query(query, [params.clientId], (error, result) => {
if (error || result.length == 0)
return cb(new Error('No template data found'));
Object.assign(this, result[0]);
cb();
});
}
get salesPersonName() {
if (this.name)
return `<div>${this._.salesPersonNameText}: <strong>${this.name}</strong></div>`;
}
get salesPersonPhone() {
if (this.phone)
return `<div>${this._.salesPersonPhoneText}: <strong>${format.phone(this.phone)}</strong></div>`;
}
get salesPersonEmail() {
if (this.email)
return `<div>${this._.salesPersonEmailText}: ` +
`<strong><a href="mailto:${this.email}" target="_blank" style="color:#8dba25">${this.email}</strong></div>`;
}
};