diff --git a/server/models/myevent.js b/server/models/myevent.js index ec38c69..ddcc4de 100644 --- a/server/models/myevent.js +++ b/server/models/myevent.js @@ -29,6 +29,9 @@ const MyEventSchema = new Schema({ details: { type: String, }, + bodytext: { + type: String, + }, dateTimeStart: { type: Date, }, diff --git a/server/models/operator.js b/server/models/operator.js index 414c3e9..271c158 100644 --- a/server/models/operator.js +++ b/server/models/operator.js @@ -31,6 +31,9 @@ const OperatorSchema = new Schema({ type: String, trim: true, }, + usertelegram: { + type: String, + }, cell: { type: String, trim: true, @@ -74,6 +77,18 @@ OperatorSchema.statics.getFieldsForSearch = function () { return ['name', 'surname', 'email', 'cell'] }; +OperatorSchema.statics.getEmailByUsername = async function (idapp, username) { + const Operator = this; + + return await Operator.findOne({ idapp, username }) + .then((arrrec) => { + return ((arrrec) ? arrrec.email : ''); + }).catch((e) => { + console.error('getEmailByUsername', e); + }); +}; + + OperatorSchema.statics.executeQueryTable = function (idapp, params) { params.fieldsearch = this.getFieldsForSearch(); return tools.executeQueryTable(this, idapp, params); diff --git a/server/models/settings.js b/server/models/settings.js index 6dad91b..42f599c 100644 --- a/server/models/settings.js +++ b/server/models/settings.js @@ -40,10 +40,11 @@ SettingsSchema.statics.executeQueryTable = function (idapp, params) { SettingsSchema.statics.getValDbSettings = function (idapp, key) { return Settings.findOne({ idapp, key }) .then((myrec) => { + console.log('getValDbSettings', myrec, 'idapp', idapp); if (myrec) { - if (myrec.type === this.FieldType.date) + if (myrec.type === tools.FieldType.date) return myrec.value_date; - if (myrec.type === this.FieldType.number) + if (myrec.type === tools.FieldType.number) return myrec.value_num; else return myrec.value_str; @@ -52,6 +53,7 @@ SettingsSchema.statics.getValDbSettings = function (idapp, key) { } }).catch((err) => { + console.error('getValDbSettings', err); return null; }); diff --git a/server/router/sendmsg_router.js b/server/router/sendmsg_router.js index 76f63db..bafa4ed 100644 --- a/server/router/sendmsg_router.js +++ b/server/router/sendmsg_router.js @@ -7,6 +7,7 @@ const server_constants = require('../tools/server_constants'); const { authenticate } = require('../middleware/authenticate'); const { User } = require('../models/user'); +const { Operator } = require('../models/operator'); const { SendMsg } = require('../models/sendmsg'); const { ObjectID } = require('mongodb'); @@ -17,14 +18,26 @@ const shared_consts = require('../tools/shared_nodejs'); const _ = require('lodash'); +function checkifSendPushNotification() { + return process.env.ENABLE_PUSHNOTIFICATION === "1"; + //return false; +} + + async function sendNotif(res, idapp, user, recmsg) { if (tools.isBitActive(recmsg.options, shared_consts.MessageOptions.Notify_ByPushNotification)) { - //++Todo: tools.sendNotificationToUser - console.log('SEND PUSH NOTIFICATION ') + if (this.checkifSendPushNotification) { + console.log('SEND PUSH NOTIFICATION ') + //++Todo: tools.sendNotificationToUser + + } } - // Extract the Email Destination - const emaildest = await User.getEmailByUsername(recmsg.dest.idapp, recmsg.dest.username); + // Read from the operator table first + let emaildest = await Operator.getEmailByUsername(recmsg.dest.idapp, recmsg.dest.username); + if (emaildest === '') + emaildest = await User.getEmailByUsername(recmsg.dest.idapp, recmsg.dest.username); + console.log('emaildest', emaildest); // Send Msg by EMAIL diff --git a/server/sendemail.js b/server/sendemail.js index 727b9a1..2daf634 100644 --- a/server/sendemail.js +++ b/server/sendemail.js @@ -170,7 +170,7 @@ module.exports = { surname: user.surname, emailto: emailto, participants: '', - msgbooking: recbooking.msgbooking, + msgbooking: tools.convertTexttoHtml(recbooking.msgbooking), eventtextplain: tools.removeSpecialCharForEmail(recbooking.infoevent), event: recbooking.infoevent, }; @@ -241,7 +241,7 @@ module.exports = { surname: user.surname, usernameorig: user.name + ' ' + user.surname, emailto: emailto, - message: recmsg.message, + message: tools.convertTexttoHtml(recmsg.message), infoevent: recmsg.source.infoevent, strlinkreply: tools.getHostByIdApp(idapp) + '/messages/' + recmsg._id }; diff --git a/server/tools/general.js b/server/tools/general.js index 5b5622a..35c76c3 100644 --- a/server/tools/general.js +++ b/server/tools/general.js @@ -314,6 +314,15 @@ module.exports = { return msg }, + convertTexttoHtml(myhtml) { + // let msg = myhtml; + // msg = msg.replace('\n', '
'); + + // return msg + + return myhtml; + }, + removeSpecialCharForEmail(myhtml) { let msg = myhtml; msg = msg.replace(/"/g, '\'');