47 lines
1.7 KiB
JavaScript
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>`;
|
|
}
|
|
};
|