diff --git a/modules/worker/back/methods/worker/sendMessage.js b/modules/worker/back/methods/worker/sendMessage.js deleted file mode 100644 index f3b4cd911..000000000 --- a/modules/worker/back/methods/worker/sendMessage.js +++ /dev/null @@ -1,170 +0,0 @@ -/* -Author : Enrique Blasco BLanquer -Date: 29 de octubre de 2019 -*/ -let request = require('request-promise-native'); -let UserError = require('vn-loopback/util/user-error'); -module.exports = Self => { - Self.remoteMethod('sendMessage', { - description: 'Send a RocketChat message', - accessType: 'WRITE', - accepts: [{ - arg: 'from', - type: 'String', - required: true, - description: 'user who sends the message' - }, { - arg: 'to', - type: 'String', - required: true, - description: 'user (@) or channel (#) to send the message' - }, { - arg: 'message', - type: 'String', - required: true, - description: 'The message' - }], - returns: { - type: 'boolean', - root: true - }, - http: { - path: `/sendMessage`, - verb: 'POST' - } - }); - - Self.sendMessage = async(from, to, message) => { - const rocketUser = await getRocketUser(); - const userId = rocketUser.data.userId; - const authToken = rocketUser.data.authToken; - if (to.includes('@')) return await sendUserMessage(to.replace('@', ''), userId, authToken, '@' + from + ' te ha mandado un mensaje: ' + message); - else return await sendChannelMessage(to.replace('#', ''), userId, authToken, '@' + from + ' dice: ' + message); - }; - - /** - * Returns a rocketchat token - * @return {Object} userId and authToken - */ - async function getRocketUser() { - const url = 'https://chat.verdnatura.es/api/v1/login'; - const options = { - method: 'POST', - uri: url, - body: { - user: 'VnBot', - password: 'Ub606cux7op.' - }, - headers: { - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Send a user message - * @param {String} to user to send the message - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @param {String} message The message - * @return {Object} rocket info - */ - async function sendUserMessage(to, userId, authToken, message) { - const url = 'https://chat.verdnatura.es/api/v1/chat.postMessage'; - const options = { - method: 'POST', - uri: url, - body: { - 'channel': '@' + to, - 'text': message - }, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Send a channel message - * @param {String} to channel to send the message - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @param {String} message The message - * @return {Object} rocket info - */ - async function sendChannelMessage(to, userId, authToken, message) { - const channelInfo = await getChannelId(to, userId, authToken); - const url = 'https://chat.verdnatura.es/api/v1/chat.sendMessage'; - const channelId = channelInfo.channel._id; - - const options = { - method: 'POST', - uri: url, - body: { - 'message': { - 'rid': channelId, - 'msg': message - } - }, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Get channel id - * @param {String} to channel to get id - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @return {Object} rocket info - */ - async function getChannelId(to, userId, authToken) { - const url = 'https://chat.verdnatura.es/api/v1/channels.info?roomName=' + to; - const options = { - method: 'GET', - uri: url, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } -}; diff --git a/modules/worker/back/models/worker.js b/modules/worker/back/models/worker.js index 9d9322612..1d2a62ce4 100644 --- a/modules/worker/back/models/worker.js +++ b/modules/worker/back/models/worker.js @@ -3,5 +3,4 @@ module.exports = Self => { require('../methods/worker/mySubordinates')(Self); require('../methods/worker/isSubordinate')(Self); require('../methods/worker/getWorkerInfo')(Self); - require('../methods/worker/sendMessage')(Self); }; diff --git a/print/templates/email/delivery-note/delivery-note.html b/print/templates/email/delivery-note/delivery-note.html index 9e24d8437..b91f66e69 100644 --- a/print/templates/email/delivery-note/delivery-note.html +++ b/print/templates/email/delivery-note/delivery-note.html @@ -27,9 +27,11 @@
{{$t('dearClient')}},
- +{{$t('dear')}},
+ + +Dadas las excelentes relaciones existentes entre nuestras + instructions:
Dadas las excelentes relaciones existentes entre nuestras dos empresas y para facilitar los procesos de pago de nuestras facturas, sugerimos el uso del sistema de domiciliación bancaria SEPA CORE.
-Este servicio consiste en realizar de forma automatizada y electrónicamente, - la emision de nuestros recibos a su empresa, como principal ventaja para usted de - la reducción sustancial de costos en términos de honorarios y gastos bancarios.
+Este servicio consiste en emitir nuestros recibos a su empresa de + forma automatizada y electrónicamente, lo que supone para usted una reducción + sustancial de costos en términos de honorarios y gastos bancarios.
En caso de que acepte nuestra propuesta, a la fecha de vencimiento de cada efecto, - se debitará a su cuenta automáticamente por su banco. - Por lo tanto, le pedimos que firme y envíe a su banco la autorización original adjunta, - debidamente completado, y devuelva una fotocopia de dicha autorización.
-Este sistema se basa en la transmisión de datos electrónicamente, - el manejo de documentos físico ha sido eliminado.
-Le agradecemos su cooperación, les pedimos que acepten, nuestros mejores deseos.
- conclusion: Gracias por tu atención. + se debitará a su cuenta automáticamente a través de su entidad bancaria. + Por tanto, le pedimos que firme y envíe a su banco la autorización original adjunta, + debidamente cumplimentada, y nos devuelva una fotocopia de dicha autorización. +Este sistema se basa en la transmisión electrónica de datos; + el manejo de documentos físicos ha sido eliminado.
+Le agradecemos su cooperación,
+ conclusion: ¡Gracias por su atención! diff --git a/print/templates/reports/sepa-core/locale/es.yml b/print/templates/reports/sepa-core/locale/es.yml index 2e253403e..66fe889b9 100644 --- a/print/templates/reports/sepa-core/locale/es.yml +++ b/print/templates/reports/sepa-core/locale/es.yml @@ -29,8 +29,7 @@ client: 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 {0} posiciones comenzando siempre - por ES + accountNumberFormat: En {0} el IBAN consta de {1} posiciones comenzando siempre por {2} paymentType: Tipo de pago recurrent: Recurrente unique: Único diff --git a/print/templates/reports/sepa-core/locale/pt.yml b/print/templates/reports/sepa-core/locale/pt.yml index 4a2970e80..5b71fbdf5 100644 --- a/print/templates/reports/sepa-core/locale/pt.yml +++ b/print/templates/reports/sepa-core/locale/pt.yml @@ -29,8 +29,7 @@ client: swift: Swift BIC accountNumber: Número de Conta IBAN accountHolder: "(Titular(es) da conta)" - accountNumberFormat: Em Portugal o IBAN é composto por 25 dígitos e começa sempre - por PT + accountNumberFormat: Em {0} o IBAN é composto pelo {1} dígitos e começa sempre pelo {2} paymentType: Tipos de pagamento Pagamento recurrent: Recorrente unique: Pagamento pontual