arreglos de conflictos

This commit is contained in:
Dani Herrero 2017-06-01 07:59:41 +02:00
parent 25bac942a3
commit 342ca3bd30
10 changed files with 68 additions and 222 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ build
npm-debug.log npm-debug.log
debug.log debug.log
datasources.development.json datasources.development.json
.idea

View File

@ -1,8 +1,5 @@
node_modules node_modules
<<<<<<< HEAD
config.json config.json
=======
app.development.json app.development.json
smtp.development.json smtp.development.json
mysql.development.json mysql.development.json
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021

View File

@ -1,112 +1,74 @@
<<<<<<< HEAD
<div style="width:600px;font-family:arial,sans-serif;font-size:16px;color:#555;margin:0 auto">
<div style="padding:20px;text-align: center;border-bottom: 1px solid #CCC">
<img class="logo" src="https://verdnatura.es/image/logo.png" style="width:307px;margin-bottom: 5px"/>
<div style="color: #CCC">
<span style="display: block;color:#555;font-size: 10px">Verdnatura Levante SL, B97367486</span>
<span style="display: block;color:#555;font-size: 10px">Avda. Espioca 100, 46460 Silla (Valencia)</span>
</div>
</div>
<div>
<div style="text-align:center">
<h1 style="color: #999;font-size: 34px;margin-top: 35px;margin-bottom: 35px">CAMBIOS EN CONDICIONES DE PAGO</h1>
</div>
<p>
Estimado cliente <strong style="font-size: 20px">{{clientName}}</strong>
</p>
<p style="text-align: justify">
Se han cambiado las condiciones de pago, estas son las nuevas:
</p>
</div>
<div style="font-size:10px;font-weight:100;border-top: 1px solid #CCC;margin-top: 35px">
<p style="text-align: justify">Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo.
Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier
documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio
por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones,
errores u omisiones que pudieran hacerse al mensaje una vez enviado.</p>
<p style="text-align: justify">En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos
que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento
ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad.
La finalidad del fichero es la gestión administrativa, contabilidad, y facturación.</p>
</div>
</div>
=======
<!DOCTYPE html> <!DOCTYPE html>
<html lang="es"> <html lang="es">
<head> <head>
<title>{{subject}}</title> <title>{{subject}}</title>
<meta charset="utf8"/> <meta charset="utf8"/>
</head> </head>
<body> <body>
<div style="width: 600px;margin: 0 auto;font-family: arial, sans-serif;font-size: 16px;color: #555"> <div style="width: 600px;margin: 0 auto;font-family: arial, sans-serif;font-size: 16px;color: #555">
<!-- Banner block --> <!-- Banner block -->
<div style=""> <div style="">
<a href="https://www.verdnatura.es"/><img src="cid:header" alt="VerdNatura" style="margin:0"/></a> <a href="https://www.verdnatura.es"/><img src="cid:header" alt="VerdNatura" style="margin:0"/></a>
</div> </div>
<!-- Title block --> <!-- Title block -->
<div style="padding: 35px 0;margin:0 10px;background-color: #95d831;text-align: center"> <div style="padding: 35px 0;margin:0 10px;background-color: #95d831;text-align: center">
<h1 style="margin: 0;font-size: 32px;color: #333;">{{title}}</h1> <h1 style="margin: 0;font-size: 32px;color: #333;">{{title}}</h1>
</div> </div>
<!-- Mail body block --> <!-- Mail body block -->
<!-- Mail body block --> <!-- Mail body block -->
<div style="padding: 20px 0;margin:0 10px"> <div style="padding: 20px 0;margin:0 10px">
<p style="text-align: justify">{{dear}} <strong style="font-size: 20px">{{clientName}}</strong>,</p> <p style="text-align: justify">{{dear}} <strong style="font-size: 20px">{{clientName}}</strong>,</p>
<p style="text-align: justify">{{bodyDescription}}</p> <p style="text-align: justify">{{bodyDescription}}</p>
<p style="text-align: justify">??</p> <p style="text-align: justify">??</p>
<p style="text-align: justify">??</p> <p style="text-align: justify">??</p>
</div> </div>
<!-- Mail body block --> <!-- Mail body block -->
<!-- Action button block --> <!-- Action button block -->
<div style="margin:0 10px;text-align: center;background-color: #333;overflow:hidden"> <div style="margin:0 10px;text-align: center;background-color: #333;overflow:hidden">
<a href="https://www.verdnatura.es" target="_blank" style="width:50%;display:block;float:left;font-size:16px;font-weight:bold;color:#FFF"> <a href="https://www.verdnatura.es" target="_blank" style="width:50%;display:block;float:left;font-size:16px;font-weight:bold;color:#FFF">
<div style="float:left;padding:35px 20px 20px 20px;text-align:center">Visitar Verdnatura</div> <div style="float:left;padding:35px 20px 20px 20px;text-align:center">Visitar Verdnatura</div>
<div style="float:right;width:80px;background-color:#95d831;padding: 20px 0"><img src="cid:arrow" style="margin:0"/></div> <div style="float:right;width:80px;background-color:#95d831;padding: 20px 0"><img src="cid:arrow" style="margin:0"/></div>
</a> </a>
<a href="https://goo.gl/forms/j8WSL151ZW6QtlT72" target="_blank" style="width:50%;display:block;float:left;font-size:16px;font-weight:bold;color:#FFF"> <a href="https://goo.gl/forms/j8WSL151ZW6QtlT72" target="_blank" style="width:50%;display:block;float:left;font-size:16px;font-weight:bold;color:#FFF">
<div style="float:left;padding:35px 20px 20px 20px;text-align:center">Ayúdanos a mejorar</div> <div style="float:left;padding:35px 20px 20px 20px;text-align:center">Ayúdanos a mejorar</div>
<div style="float:right;width:80px;background-color:#95d831;padding: 20px 0"><img src="cid:chat" alt="Encuesta" style="margin:0"/></div> <div style="float:right;width:80px;background-color:#95d831;padding: 20px 0"><img src="cid:chat" alt="Encuesta" style="margin:0"/></div>
</a> </a>
</div> </div>
<!-- Action button block --> <!-- Action button block -->
<!-- Networks block --> <!-- Networks block -->
<div style="padding:20px 0;margin:0 10px;background-color:#555;text-align:center"> <div style="padding:20px 0;margin:0 10px;background-color:#555;text-align:center">
<a href="https://www.facebook.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.facebook.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:facebook" alt="Visita nuestro Facebook" style="width:50px;margin:0"/> <img src="cid:facebook" alt="Visita nuestro Facebook" style="width:50px;margin:0"/>
</a> </a>
<a href="https://www.twitter.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.twitter.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:twitter" alt="Visita nuestro Twitter" style="width:50px;margin:0"/> <img src="cid:twitter" alt="Visita nuestro Twitter" style="width:50px;margin:0"/>
</a> </a>
<a href="https://www.youtube.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.youtube.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:youtube" alt="Visita nuestro canal de Youtube" style="width:50px;margin:0"/> <img src="cid:youtube" alt="Visita nuestro canal de Youtube" style="width:50px;margin:0"/>
</a> </a>
<a href="https://www.pinterest.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.pinterest.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:pinterest" alt="Visita nuestro Pinterest" style="width:50px;margin:0"/> <img src="cid:pinterest" alt="Visita nuestro Pinterest" style="width:50px;margin:0"/>
</a> </a>
<a href="https://www.instagram.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.instagram.com/Verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:instagram" alt="Visita nuestro Instagram" style="width:50px;margin:0"/> <img src="cid:instagram" alt="Visita nuestro Instagram" style="width:50px;margin:0"/>
</a> </a>
<a href="https://www.linkedin.com/company/verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px"> <a href="https://www.linkedin.com/company/verdnatura" target="_blank" style="text-decoration:none;margin-right: 10px">
<img src="cid:linkedin" alt="Visita nuestro Linkedin" style="width:50px;margin:0"/> <img src="cid:linkedin" alt="Visita nuestro Linkedin" style="width:50px;margin:0"/>
</a> </a>
</div> </div>
<!-- Networks block --> <!-- Networks block -->
<!-- Privacy block --> <!-- Privacy block -->
<div style="padding:20px 0;margin:0 10px;font-size:10px;font-weight:100"> <div style="padding:20px 0;margin:0 10px;font-size:10px;font-weight:100">
<p style="text-align: justify">{{fiscalAddress}}</p> <p style="text-align: justify">{{fiscalAddress}}</p>
<p style="text-align: justify">- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.</p> <p style="text-align: justify">- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.</p>
<p style="text-align: justify">En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación.</p> <p style="text-align: justify">En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación.</p>
</div> </div>
<!-- Privacy block --> <!-- Privacy block -->
</div> </div>
</body> </body>
</html> </html>
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021

View File

@ -1,16 +1,8 @@
var mysql = require('mysql'); var mysql = require('mysql');
<<<<<<< HEAD
var settings = require('./Settings.js');
var logger = require('./Logger.js');
module.exports = {
=======
var settings = require('./settings.js'); var settings = require('./settings.js');
var logger = require('./logger.js'); var logger = require('./logger.js');
module.exports = { module.exports = {
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
/** /**
* Variable de instancia del pool * Variable de instancia del pool
*/ */
@ -20,11 +12,7 @@ module.exports = {
* Iniciar pool de conexión con la base de datos * Iniciar pool de conexión con la base de datos
*/ */
init: function() { init: function() {
<<<<<<< HEAD
this.pool = mysql.createPool(settings.mysql);
=======
this.pool = mysql.createPool(settings.mysql()); this.pool = mysql.createPool(settings.mysql());
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
this.pool.getConnection(function(error, connection) { this.pool.getConnection(function(error, connection) {
if (error) { if (error) {

View File

@ -1,12 +1,4 @@
var nodemailer = require('nodemailer'); var nodemailer = require('nodemailer');
<<<<<<< HEAD
var settings = require('./Settings.js');
var logger = require('./Logger.js');
// Módulo para el envío de emails
module.exports = {
=======
var settings = require('./settings.js'); var settings = require('./settings.js');
var logger = require('./logger.js'); var logger = require('./logger.js');
var path = require('path'); var path = require('path');
@ -15,7 +7,6 @@ var path = require('path');
* Módulo para el envío de emails * Módulo para el envío de emails
*/ */
module.exports = { module.exports = {
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
transporter: null, transporter: null,
/** /**
@ -23,11 +14,7 @@ module.exports = {
* carga el fichero de configuración. * carga el fichero de configuración.
*/ */
init: function() { init: function() {
<<<<<<< HEAD
this.transporter = nodemailer.createTransport(settings.smtp);
=======
this.transporter = nodemailer.createTransport(settings.smtp()); this.transporter = nodemailer.createTransport(settings.smtp());
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
this.transporter.verify(function(error, success) { this.transporter.verify(function(error, success) {
if (error) { if (error) {
@ -38,18 +25,6 @@ module.exports = {
}); });
}, },
<<<<<<< HEAD
/**
* Envia un email con los datos recibidos desde un vector.
* @param {Object} data - Datos para el envío del email
*/
send: function(data) {
let mailOptions = {
from: '"' + settings.senderName + '" <' + settings.senderMail + '>',
to: data.recipient,
subject: data.subject,
html: data.body
=======
/** /**
* Envia un email con los datos recibidos desde un vector. * Envia un email con los datos recibidos desde un vector.
* @param {Object} data - Datos para el envío del email * @param {Object} data - Datos para el envío del email
@ -72,26 +47,16 @@ module.exports = {
{filename: 'instagram.png', path: path.join(__dirname, filePath, 'instagram.png'), cid: 'instagram'}, {filename: 'instagram.png', path: path.join(__dirname, filePath, 'instagram.png'), cid: 'instagram'},
{filename: 'linkedin.png', path: path.join(__dirname, filePath, 'linkedin.png'), cid: 'linkedin'} {filename: 'linkedin.png', path: path.join(__dirname, filePath, 'linkedin.png'), cid: 'linkedin'}
] ]
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
}; };
this.transporter.sendMail(mailOptions, (error, info) => { this.transporter.sendMail(mailOptions, (error, info) => {
if (error) { if (error) {
logger.print(__LOG_ERROR, error); logger.print(__LOG_ERROR, error);
<<<<<<< HEAD
} else if (Settings.debug) {
=======
} else if (settings.app().debug) { } else if (settings.app().debug) {
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
logger.print(__LOG_INFO, 'Se ha enviado el email ' + info.messageId + ' [' + info.response + ']'); logger.print(__LOG_INFO, 'Se ha enviado el email ' + info.messageId + ' [' + info.response + ']');
return true; return true;
} }
}); });
<<<<<<< HEAD
},
}
=======
} }
}; };
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021

View File

@ -4,16 +4,6 @@ var settings = require('./settings.js');
// Página por defecto // Página por defecto
router.get('/', function(request, response) { router.get('/', function(request, response) {
<<<<<<< HEAD
response.send(settings.name + ' v' + settings.version);
});
// Rutas de los escritos.
router.use('/manuscript', require('./Route/Manuscript.js'));
// Rutas de las notificaciones.
router.use('/notification', require('./Route/Notification.js'));
=======
response.send(settings.app().name + ' v' + settings.app().version); response.send(settings.app().name + ' v' + settings.app().version);
}); });
@ -22,6 +12,5 @@ router.use('/manuscript', require('./Route/manuscript.js'));
// Rutas de las notificaciones. // Rutas de las notificaciones.
router.use('/notification', require('./Route/notification.js')); router.use('/notification', require('./Route/notification.js'));
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
module.exports = router; module.exports = router;

View File

@ -1,7 +1,3 @@
<<<<<<< HEAD
// Módulo de configuración
module.exports = require('./config.json');
=======
var path = require('path'); var path = require('path');
@ -48,4 +44,3 @@ module.exports = {
return this.getConfig('mysql'); return this.getConfig('mysql');
} }
}; };
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021

View File

@ -1,35 +1,6 @@
var fs = require('fs'); var fs = require('fs');
var mustache = require('mustache'); var mustache = require('mustache');
var database = require('./database.js'); var database = require('./database.js');
<<<<<<< HEAD
var logger = require('./logger.js');
var Template = {
/**
* Obtiene la plantilla
* @param {String} name - Nombre de la plantilla
* @param {Object} params - Datos a reemplazar.
* @param {Object} callback - Callback
*/
getTemplate: function(name, params, callback) {
database.pool.query('SELECT name, attachmentPath FROM vn.mailTemplates WHERE name = ?', [name], function(error, rs)
{
if (rs.length == 0) {
logger.print(__LOG_ERROR, 'La plantilla ' + name + ' no existe');
return;
}
var path = './Application/Template/' + rs[0].name + '.html';
if (!fs.existsSync(path)) {
logger.print(__LOG_ERROR, 'No se ha podido cargar la plantilla ' + name + '.html');
} else {
Template.render(path, params, function(body) {
callback(body);
});
}
=======
var language = require('./language.js'); var language = require('./language.js');
var path = require('path'); var path = require('path');
@ -57,7 +28,6 @@ var Template = {
Template.render(templatePath, params, function(tplBody) { Template.render(templatePath, params, function(tplBody) {
callback({subject: params.subject, body: tplBody}); callback({subject: params.subject, body: tplBody});
}); });
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
}); });
}, },

View File

@ -8,11 +8,8 @@
"express": "^4.15.3", "express": "^4.15.3",
"mustache": "^2.3.0", "mustache": "^2.3.0",
"mysql": "^2.13.0", "mysql": "^2.13.0",
<<<<<<< HEAD
"nodemailer": "^4.0.1" "nodemailer": "^4.0.1"
=======
"nodemailer": "^4.0.1", "nodemailer": "^4.0.1",
"path": "^0.12.7" "path": "^0.12.7"
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
} }
} }

View File

@ -9,10 +9,6 @@ var settings = require('./Application/settings.js');
var mail = require('./Application/mail.js'); var mail = require('./Application/mail.js');
var logger = require('./Application/logger.js'); var logger = require('./Application/logger.js');
var database = require('./Application/database.js'); var database = require('./Application/database.js');
<<<<<<< HEAD
var terminal = require('./Application/Util/terminal.js');
=======
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
// Middleware // Middleware
app.use(bodyParser.json()); app.use(bodyParser.json());
@ -21,16 +17,6 @@ app.use(bodyParser.urlencoded({extended: true}));
// Cargar rutas // Cargar rutas
app.use('/', require('./Application/router.js')); app.use('/', require('./Application/router.js'));
<<<<<<< HEAD
app.start = function() {
return app.listen(settings.port, function() {
terminal.printHeader();
mail.init();
database.init();
logger.print(__LOG_INFO, 'Servidor de correo iniciado en el puerto ' + settings.port);
if (settings.debug) {
=======
// Iniciar escucha del servidor // Iniciar escucha del servidor
app.start = function() { app.start = function() {
return app.listen(settings.app().port, function() { return app.listen(settings.app().port, function() {
@ -38,7 +24,6 @@ app.start = function() {
database.init(); database.init();
logger.print(__LOG_INFO, 'Servidor de correo iniciado en el puerto ' + settings.app().port); logger.print(__LOG_INFO, 'Servidor de correo iniciado en el puerto ' + settings.app().port);
if (settings.app().debug) { if (settings.app().debug) {
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021
logger.print(__LOG_WARNING, 'El modo debug está activado'); logger.print(__LOG_WARNING, 'El modo debug está activado');
} }
}); });
@ -48,7 +33,4 @@ if (require.main === module) {
app.start(); app.start();
} }
<<<<<<< HEAD
=======
>>>>>>> 0c82c83ca33798a69686c98e44de2753bc50c021