diff --git a/emails/ecommerce/makeorder/it/html.pug b/emails/ecommerce/makeorder/it/html.pug index 2694706..b40bbd6 100755 --- a/emails/ecommerce/makeorder/it/html.pug +++ b/emails/ecommerce/makeorder/it/html.pug @@ -40,11 +40,11 @@ html - var index = 0 each product in orders.items - - var descr = product._doc.order.product.name - - var img = product._doc.order.product.img - - var price = product._doc.order.price - - var after_price = product._doc.order.after_price - - var qty = product._doc.order.quantity + - var descr = product.order.product.name + - var img = product.order.product.img + - var price = product.order.price + - var after_price = product.order.after_price + - var qty = product.order.quantity - index = index + 1 table(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center") diff --git a/emails/ecommerce/order_confirmed/it/html.pug b/emails/ecommerce/order_confirmed/it/html.pug index 5004d94..9a4c742 100755 --- a/emails/ecommerce/order_confirmed/it/html.pug +++ b/emails/ecommerce/order_confirmed/it/html.pug @@ -40,11 +40,11 @@ html - var index = 0 each product in orders.items - - var descr = product._doc.order.product.name - - var img = product._doc.order.product.img - - var price = product._doc.order.price - - var after_price = product._doc.order.after_price - - var qty = product._doc.order.quantity + - var descr = product.order.product.name + - var img = product.order.product.img + - var price = product.order.price + - var after_price = product.order.after_price + - var qty = product.order.quantity - index = index + 1 table(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center") diff --git a/src/server/models/cart.js b/src/server/models/cart.js index ff9030c..aadbbc2 100755 --- a/src/server/models/cart.js +++ b/src/server/models/cart.js @@ -1,5 +1,4 @@ - -const mongoose = require('mongoose').set('debug', false) +const mongoose = require('mongoose').set('debug', false); const Schema = mongoose.Schema; const shared_consts = require('../tools/shared_nodejs'); @@ -8,40 +7,39 @@ const Order = require('../models/order'); const CartSchema = new Schema({ idapp: { - type: String + type: String, }, - userId: { type: Schema.Types.ObjectId, ref: 'User' }, - totalQty: { type: Number, default: 0 }, - totalPrice: { type: Number, default: 0 }, + userId: {type: Schema.Types.ObjectId, ref: 'User'}, + totalQty: {type: Number, default: 0}, + totalPrice: {type: Number, default: 0}, department: { - type: String, ref: 'Department' + type: String, ref: 'Department', }, items: [ { order: - { type: Schema.Types.ObjectId, ref: 'Order' } - } + {type: Schema.Types.ObjectId, ref: 'Order'}, + }, ], note: { - type: String + type: String, }, modify_at: { - type: Date + type: Date, }, }); var Cart = module.exports = mongoose.model('Cart', CartSchema); -module.exports.findAllIdApp = async function (idapp, userId) { - const myfind = { idapp, userId }; +module.exports.findAllIdApp = async function(idapp, userId) { + const myfind = {idapp, userId}; - return await Cart.findOne(myfind); + return await Cart.findOne(myfind).lean(); }; - -module.exports.getCartByUserId = async function (uid, idapp) { - let query = { userId: uid, idapp } - const mycart = await Cart.findOne(query); +module.exports.getCartByUserId = async function(uid, idapp) { + let query = {userId: uid, idapp}; + const mycart = await Cart.findOne(query).lean(); if (!!mycart) { for (const idkey in mycart.items) { @@ -53,7 +51,7 @@ module.exports.getCartByUserId = async function (uid, idapp) { } const myord = await Order.getTotalOrderById(idorder); if (myord.length > 0) { - mycart.items[idkey]._doc.order = myord[0]; + mycart.items[idkey].order = myord[0]; } } catch (e) { console.log('err', e); @@ -63,66 +61,64 @@ module.exports.getCartByUserId = async function (uid, idapp) { } return null; -} +}; -module.exports.updateCartByUserId = function (userId, newCart, callback) { - let query = { userId: userId } - Cart.find(query, function (err, c) { - if (err) throw err +module.exports.updateCartByUserId = function(userId, newCart, callback) { + let query = {userId: userId}; + Cart.find(query, function(err, c) { + if (err) throw err; //exist cart in databse if (c.length > 0) { Cart.findOneAndUpdate( - { userId: userId }, - { - $set: { - items: newCart.items, - totalQty: newCart.totalQty, - totalPrice: newCart.totalPrice, - userId: userId - } - }, - { new: true }, - callback - ) + {userId: userId}, + { + $set: { + items: newCart.items, + totalQty: newCart.totalQty, + totalPrice: newCart.totalPrice, + userId: userId, + }, + }, + {new: true}, + callback, + ); } else { //no cart in database - newCart.save(callback) + newCart.save(callback); } - }) -} + }); +}; -module.exports.updateCartByCartId = async function (cartId, newCart) { +module.exports.updateCartByCartId = async function(cartId, newCart) { // delete newCart._doc._id; - const items = newCart._doc.items; + const items = newCart.items; const totalQty = newCart.totalQty; const totalPrice = newCart.totalPrice; const modify_at = new Date(); - return await Cart.findOneAndUpdate({ _id: cartId }, { + return Cart.findOneAndUpdate({_id: cartId}, { $set: { items, totalPrice, totalQty, - modify_at - } - }, { new: false }) - .then((ris) => { - return ris; - }).catch(err => { - console.log('err', err); - return null - }) + modify_at, + }, + }, {new: false}).lean().then((ris) => { + return ris; + }).catch(err => { + console.log('err', err); + return null; + }); -} +}; -module.exports.deleteCartByCartId = async function (cartId) { - return await Cart.remove({ _id: cartId }); -} +module.exports.deleteCartByCartId = async function(cartId) { + return await Cart.remove({_id: cartId}); +}; - -module.exports.createCart = async function (newCart) { - return await newCart.save() -} +module.exports.createCart = async function(newCart) { + return await newCart.save(); +}; diff --git a/src/server/models/newstosent.js b/src/server/models/newstosent.js index 41384fe..0581137 100755 --- a/src/server/models/newstosent.js +++ b/src/server/models/newstosent.js @@ -160,8 +160,8 @@ NewstosentSchema.statics.isActivated = async function (_id) { const Newstosent = this; try { - const mydoc = await Newstosent.findOne({ _id }); - return (mydoc._doc.activate); + const mydoc = await Newstosent.findOne({ _id }).lean(); + return (mydoc.activate); } catch (e) { return false } diff --git a/src/server/models/orderscart.js b/src/server/models/orderscart.js index b007627..8da2ec6 100755 --- a/src/server/models/orderscart.js +++ b/src/server/models/orderscart.js @@ -109,7 +109,7 @@ module.exports.getOrdersCartByUserId = async function (uid, idapp, numorder) { query.userId = uid; } - myorderscart = await OrdersCart.find(query); + myorderscart = await OrdersCart.find(query).lean(); for (let ind = 0; ind < myorderscart.length; ind++) { for (const idkey in myorderscart[ind].items) { @@ -119,10 +119,10 @@ module.exports.getOrdersCartByUserId = async function (uid, idapp, numorder) { if (!!myorder) { idorder = myorderscart[ind].items[idkey].order._id.toString(); } - myorderscart[ind]._doc.nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); + myorderscart[ind].nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); const myord = await Order.getTotalOrderById(idorder); if (myord.length > 0) { - myorderscart[ind].items[idkey]._doc.order = myord[0]; + myorderscart[ind].items[idkey].order = myord[0]; } } catch (e) { console.log('err', e); @@ -154,7 +154,7 @@ module.exports.getOrdersCartByUserId = async function (uid, idapp, numorder) { module.exports.getOrdersCartByDepartmentId = async function (depId, idapp) { let query = { idapp, status: { $gte: shared_consts.OrderStatus.CHECKOUT_SENT } } - const myorderscart = await OrdersCart.find(query); + const myorderscart = await OrdersCart.find(query).lean(); for (let ind = 0; ind < myorderscart.length; ind++) { for (const idkey in myorderscart[ind].items) { @@ -164,10 +164,10 @@ module.exports.getOrdersCartByDepartmentId = async function (depId, idapp) { if (!!myorder) { idorder = myorderscart[ind].items[idkey].order._id.toString(); } - myorderscart[ind]._doc.nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); + myorderscart[ind].nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); const myord = await Order.getTotalOrderById(idorder); if (myord.length > 0) { - myorderscart[ind].items[idkey]._doc.order = myord[0]; + myorderscart[ind].items[idkey].order = myord[0]; } } catch (e) { console.log('err', e); @@ -181,7 +181,7 @@ module.exports.getOrdersCartByDepartmentId = async function (depId, idapp) { module.exports.getOrderById = async function (Id, idapp) { let query = { _id: Id, idapp, status: { $gte: shared_consts.OrderStatus.CHECKOUT_SENT } } - const myorderscart = await OrdersCart.find(query); + const myorderscart = await OrdersCart.find(query).lean(); for (let ind = 0; ind < myorderscart.length; ind++) { for (const idkey in myorderscart[ind].items) { @@ -191,10 +191,10 @@ module.exports.getOrderById = async function (Id, idapp) { if (!!myorder) { idorder = myorderscart[ind].items[idkey].order._id.toString(); } - myorderscart[ind]._doc.nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); + myorderscart[ind].nameSurname = await User.getNameSurnameById(idapp, myorderscart[ind].userId); const myord = await Order.getTotalOrderById(idorder); if (myord.length > 0) { - myorderscart[ind].items[idkey]._doc.order = myord[0]; + myorderscart[ind].items[idkey].order = myord[0]; } } catch (e) { console.log('err', e); diff --git a/src/server/models/user.js b/src/server/models/user.js index 6edb354..88c4ab1 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -4,6 +4,7 @@ const validator = require('validator'); const jwt = require('jsonwebtoken'); const _ = require('lodash'); + const tools = require('../tools/general'); const {Settings} = require('../models/settings'); @@ -996,7 +997,7 @@ UserSchema.statics.getindOrderDuplicate = function(idapp) { return User.aggregate(User.getUsersNationalityQuery(idapp)).then(ris => { // console.table(ris); - return JSON.stringify(ris); + return ris; }); }; @@ -1875,7 +1876,7 @@ UserSchema.statics.UsersByIdTelegram = async function(idapp, teleg_id) { return User.find({ idapp, 'profile.teleg_id': teleg_id, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], - }).then((rec) => { + }).lean().then((rec) => { return (!!rec) ? rec._doc : null; }).catch((e) => { console.error('UserExistByIdTelegram', e); @@ -1891,7 +1892,7 @@ UserSchema.statics.setPicProfile = async function(idapp, username, imgpic) { return User.findOneAndUpdate({ idapp, username, - }, {$set: fields_to_update}, {new: false}).then((record) => { + }, {$set: fields_to_update}, {new: false}).lean().then((record) => { return !!record; }); @@ -1903,7 +1904,7 @@ UserSchema.statics.TelegIdByUsername = async function(idapp, username) { return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], - }, {'profile.teleg_id': 1}).then((rec) => { + }, {'profile.teleg_id': 1}).lean().then((rec) => { return (!!rec) ? rec.profile.teleg_id : null; }).catch((e) => { console.error('TelegIdByUsername', e); @@ -1914,7 +1915,7 @@ UserSchema.statics.notAsk_VerifByUsername = async function(idapp, username) { return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], - }, {'notask_verif': 1}).then((rec) => { + }, {'notask_verif': 1}).lean().then((rec) => { return (!!rec && rec.notask_verif) ? true: false; }).catch((e) => { console.error('notAsk_VerifByUsername', e); @@ -1932,7 +1933,7 @@ UserSchema.statics.SetTelegramCheckCode = async function( return User.findOneAndUpdate({ _id: id, - }, {$set: fields_to_update}, {new: false}).then((record) => { + }, {$set: fields_to_update}, {new: false}).lean().then((record) => { return !!record; }); @@ -1966,7 +1967,7 @@ UserSchema.statics.SetTelegramIdSuccess = async function(idapp, id, teleg_id) { return User.findOneAndUpdate({ idapp, _id: id, - }, {$set: fields_to_update}, {new: false}).then((record) => { + }, {$set: fields_to_update}, {new: false}).lean().then((record) => { return record; }); @@ -2690,8 +2691,8 @@ UserSchema.statics.checkUser = async function(idapp, username) { notask_verif: 1, 'profile.teleg_id': 1, 'profile.teleg_checkcode': 1, - }).then((rec) => { - return JSON.stringify(rec); + }).lean().then((rec) => { + return rec; }); }; @@ -2720,7 +2721,18 @@ UserSchema.statics.calculateStat = async function(idapp, username) { const numGroups = await MyGroup.countDocuments({idapp}); - return {numMySkills, numMyGoods, numMyBachecas, numUsersReg, numGroups}; + let numByTab = {} + + const globalTables = require('../tools/globalTables'); + + for (let table of shared_consts.TABLES_VISU_STAT_IN_HOME) { + let mytable = globalTables.getTableByTableName(table); + if (mytable) { + numByTab[table] = await mytable.countDocuments({idapp}); + } + } + + return {numByTab, numUsersReg}; } catch (e) { console.error(e.message); } @@ -2752,7 +2764,7 @@ UserSchema.statics.findAllDistinctNationality = async function(idapp) { return User.aggregate(User.getDistinctNationalityQuery(idapp)).then(ris => { // console.table(ris); - return JSON.stringify(ris); + return ris; }); }; @@ -2863,7 +2875,7 @@ UserSchema.statics.calcRegDaily = async function(idapp) { return User.aggregate(User.getUsersRegDaily(idapp, 30)).then(ris => { // console.table(ris); - return JSON.stringify(ris); + return ris; }); }; @@ -2872,7 +2884,7 @@ UserSchema.statics.calcRegWeekly = async function(idapp) { return User.aggregate(User.getUsersRegWeekly(idapp, 20 * 7)).then(ris => { // console.table(ris); - return JSON.stringify(ris.slice(0, -1)); + return ris.slice(0, -1); }); }; @@ -3160,9 +3172,9 @@ UserSchema.statics.addExtraInfo = async function(idapp, recUser) { $or: [ {deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], - }, {username: 1}); + }, {username: 1}).lean(); - recUser._doc.profile.asked_friends = listSentMyRequestFriends + recUser.profile.asked_friends = listSentMyRequestFriends ? listSentMyRequestFriends : []; @@ -3176,7 +3188,7 @@ UserSchema.statics.addExtraInfo = async function(idapp, recUser) { {deleted: {$exists: true, $eq: false}}], }, MyGroup.getWhatToShow_Unknown()); - recUser._doc.profile.asked_groups = listSentMyRequestGroups + recUser.profile.asked_groups = listSentMyRequestGroups ? listSentMyRequestGroups : []; @@ -3190,7 +3202,7 @@ UserSchema.statics.addExtraInfo = async function(idapp, recUser) { {deleted: {$exists: true, $eq: false}}], }); - recUser._doc.profile.manage_mygroups = listManageGroups + recUser.profile.manage_mygroups = listManageGroups ? listManageGroups : []; diff --git a/src/server/populate/skills.js b/src/server/populate/skills.js index ec97604..41b0302 100644 --- a/src/server/populate/skills.js +++ b/src/server/populate/skills.js @@ -110,5 +110,9 @@ module.exports = { {_id: 108, idSector: [10], descr: 'Affrancamento'}, {_id: 109, idSector: [10], descr: 'Supporto'}, {_id: 110, idSector: [10], descr: 'Consulenza'}, + {_id: 111, idSector: [6], descr: 'Floriterapia'}, + {_id: 112, idSector: [6], descr: 'Costellazioni Familiari'}, + {_id: 113, idSector: [6], descr: 'Coach Motivazionale'}, + {_id: 114, idSector: [6], descr: 'Tecniche Essene'}, ], }; diff --git a/src/server/server.js b/src/server/server.js index 70c0f27..0a3844b 100755 --- a/src/server/server.js +++ b/src/server/server.js @@ -558,7 +558,7 @@ async function faitest() { const langdest = 'it'; telegrambot.askConfirmationUserRegistration(myuser.idapp, - shared_consts.CallFunz.REGISTRATION, myuser, 'perseo77', langdest); + shared_consts.CallFunz.REGISTRATION, myuser); } diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 2cfd322..9c51518 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -198,6 +198,7 @@ MsgBot = { DONNA: ['donna', 'femmina'], FARE_DOMANDA: ['fare una domanda', 'posso farti una domanda'], DIVENTERO_RICCA: ['diventerò ricc'], + DOVE_VUOI_VIVERE: ['dove vuoi vivere'], MA_ALLORA: ['ma allora'], }; @@ -772,12 +773,6 @@ module.exports = { addtext + text, false, null, userdest); } - if (phase === this.phase.REGISTRATION) { - await this.askConfirmationUserRegistration(mylocalsconf.idapp, - shared_consts.CallFunz.REGISTRATION, - mylocalsconf.user, userdest, langdest); - } - /* // Invia richiesta allo Sponsor const domanda = printf(getstr(langdest, 'MSG_APORTADOR_ASK_CONFIRM'), @@ -1236,62 +1231,6 @@ module.exports = { } }, - askConfirmationUserRegistration: async function( - idapp, myfunc, myuser, userDest = '', langdest = '') { - - const cl = getclTelegByidapp(idapp); - - try { - - let keyb = null; - let domanda = ''; - - if (myfunc === shared_consts.CallFunz.REGISTRATION) { - const notask_verif = await User.notAsk_VerifByUsername(idapp, userDest); - - if (notask_verif) { - // Non chiedi la verifica Registrazione - this.setVerifiedReg(myuser.idapp, myuser.lang, userDest, - myuser.username); - } else { - - const name = myuser.username + - (myuser.name ? `(${myuser.name} + ' ' + ${myuser.surname})` : ''); - const linkuserprof = tools.getHostByIdApp(idapp) + '/my/' + - myuser.username; - domanda = printf(getstr(langdest, 'MSG_APORTADOR_ASK_CONFIRM'), - `
Username: ${name} (${linkuserprof})
Email: ` + - myuser.email); - - keyb = cl.getInlineKeyboard(myuser.lang, [ - { - text: '✅ Abilita ' + myuser.username, - callback_data: InlineConferma.RISPOSTA_SI + - shared_consts.CallFunz.REGISTRATION + tools.SEP + - myuser.username + tools.SEP + userDest, - }, - { - text: '🚫 Rifiuta ' + myuser.username, - callback_data: InlineConferma.RISPOSTA_NO + - shared_consts.CallFunz.REGISTRATION + tools.SEP + - myuser.username + tools.SEP + userDest, - }, - ]); - } - } - - // Invia Msg - if (domanda) { - const teleg_id = await User.TelegIdByUsername(idapp, userDest); - await this.sendMsgTelegramByIdTelegram(myuser.idapp, teleg_id, domanda, - undefined, undefined, true, keyb); - } - - } catch (e) { - console.error('Error askConfirmationUserRegistration', e); - } - - }, }; @@ -1328,6 +1267,69 @@ async function sendMsgTelegramToTheAdmin(idapp, text, msg) { } +async function askConfirmationUserRegistration(idapp, myfunc, myuser, usernametelegram = '', name_telegram = '', surname_telegram = '') { + + const cl = getclTelegByidapp(idapp); + + try { + + const userDest = myuser.aportador_solidario; + const langdest = myuser.lang; + + let keyb = null; + let domanda = ''; + + if (myfunc === shared_consts.CallFunz.REGISTRATION) { + const notask_verif = await User.notAsk_VerifByUsername(idapp, userDest); + + if (notask_verif) { + // Non chiedi la verifica Registrazione + this.setVerifiedReg(myuser.idapp, myuser.lang, userDest, + myuser.username); + } else { + + const name = myuser.username + + (myuser.name ? `(${myuser.name} + ' ' + ${myuser.surname})` : ''); + const linkuserprof = tools.getHostByIdApp(idapp) + '/my/' + + myuser.username; + domanda = printf(getstr(langdest, 'MSG_APORTADOR_ASK_CONFIRM'), + `
Username: ${name}
Profilo su APP: ${linkuserprof}
Email: ` + + myuser.email); + + if (usernametelegram) { + domanda += '
Profilo su Telegram [' + name_telegram + ' ' + surname_telegram + ']:
' + 'https://t.me/' + usernametelegram; + } + + keyb = cl.getInlineKeyboard(myuser.lang, [ + { + text: '✅ Abilita ' + myuser.username, + callback_data: InlineConferma.RISPOSTA_SI + + shared_consts.CallFunz.REGISTRATION + tools.SEP + + myuser.username + tools.SEP + userDest, + }, + { + text: '🚫 Rifiuta ' + myuser.username, + callback_data: InlineConferma.RISPOSTA_NO + + shared_consts.CallFunz.REGISTRATION + tools.SEP + + myuser.username + tools.SEP + userDest, + }, + ]); + } + } + + // Invia Msg + if (domanda) { + const teleg_id = await User.TelegIdByUsername(idapp, userDest); + await local_sendMsgTelegramByIdTelegram(idapp, teleg_id, domanda, + undefined, undefined, true, keyb); + } + + } catch (e) { + console.error('Error askConfirmationUserRegistration', e); + } + +} + function getusernameByUser(idapp, msg) { let username = ''; let rec = this.getRecInMem(msg); @@ -1381,6 +1383,24 @@ async function local_sendMsgTelegram(idapp, username, text) { } +async function local_sendMsgTelegramByIdTelegram(idapp, idtelegram, text, message_id, chat_id, ripr_menuPrec, + MyForm = null) { + + console.log('sendMsgTelegramByIdTelegram', text); + + if (!idtelegram) + return; + + const cl = getclTelegByidapp(idapp); + if (cl && idtelegram) { + + return await cl.sendMsg(idtelegram, text, null, MyForm, message_id, + chat_id, ripr_menuPrec); + } + +} + + function getstr(lang, key, param1) { let mystr = ''; @@ -1598,6 +1618,14 @@ class Telegram { msg.from.last_name || ''); await this.sendMsg(msg.from.id, printf(getstr(rec.user.lang, 'MSG_SET_USERNAME_OK'))); + + if (!rec.user.verified_by_aportador) { + askConfirmationUserRegistration(this.idapp, + shared_consts.CallFunz.REGISTRATION, rec.user, + msg.from.username || '', msg.from.first_name || '', + msg.from.last_name || ''); + } + } else { if (!rec.user.profile.username_telegram) { return this.checkIfUsernameTelegramSet(msg, rec.user); @@ -1711,8 +1739,9 @@ class Telegram { emo.GIFT_HEART; } else if (MsgBot.MA_ALLORA.find((rec) => testo.indexOf(rec) > -1)) { risp = 'Ma allora cosa?'; - } else if (MsgBot.TROVAMI_UN_UOMO_DONNA.find( - (rec) => testo.indexOf(rec) > -1)) { + } else if (MsgBot.DOVE_VUOI_VIVERE.find((rec) => testo.indexOf(rec) > -1)) { + risp = 'Mah a me piacerebbe vivere al mare, ma anche vicino al verde, in montagna. Sarebbe l\'ideale 😄'; + } else if (MsgBot.TROVAMI_UN_UOMO_DONNA.find((rec) => testo.indexOf(rec) > -1)) { risp = 'Eh non è cosi facile. Ma se t\'impegni a cercare ci riuscirai. Nel frattempo trova la tua strada, fai il tuo percorso interiore, e magari arriva proprio quando meno te l\'aspetti'; } else if (MsgBot.SEI_LIBERO_STASERA.find( (rec) => testo.indexOf(rec) > -1)) { @@ -2568,9 +2597,15 @@ class Telegram { if (recuser) { this.setPhotoProfile(rec, msg); let username = recuser.name; + this.sendMsg(msg.from.id, printf(getstr(recuser.lang, 'MSG_VERIFY_OK'), username, tools.getHostByIdApp(this.idapp))); + if (msg.from.username) { + askConfirmationUserRegistration(this.idapp, + shared_consts.CallFunz.REGISTRATION, recuser,msg.from.username || '', msg.from.first_name || '', msg.from.last_name || ''); + } + this.checkIfUsernameTelegramSet(msg, recuser); // local_sendMsgTelegramToTheManagers(this.idapp, recuser.name + ' ' + recuser.surname + ' si è Verificato a Telegram BOT! (lang=' + recuser.lang + ')' + emo.STARS, msg); } else { @@ -3098,9 +3133,12 @@ class Telegram { if (recuser) { if (!(recuser.menuSaved[idapp])) load = true; + + if (recuser.menuDb || recuser.pageChange) + load = true; } } - if (load || !recuser.menuDb || recuser.pageChange) { + if (load) { // Check if you are Admin const user = await User.UserByIdTelegram(idapp, id); @@ -3154,7 +3192,7 @@ class Telegram { recuser.pageChange = false; recuser.menuSaved[idapp] = arrlang; } - return recuser.menuSaved[idapp]; + return recuser ? recuser.menuSaved[idapp] : null; } catch (e) { console.log('Err loadMenuFromDb: ' + e); } @@ -3205,7 +3243,7 @@ class Telegram { return ''; } else if (recdb.type === shared_consts.BOTTYPE_MENU) { if (recdb.value) { - this.isMenu(rec, msg, recdb.value, true); + this.isMenu(recuser, msg, recdb.value, true); return shared_consts.RIS_OK; } } @@ -3411,18 +3449,24 @@ class Telegram { const file_path = result.file_path; const photo_url = 'https://api.telegram.org/file/bot' + token + '/' + file_path; - console.log('photo_url', photo_url); + console.log('1) photo_url', photo_url); let filename = tools.extractFileName(photo_url); myfileprofile += filename; - console.log('myfileprofile', myfileprofile); + + const pathfile = tools.extractFilePath(myfileprofile); + tools.mkdirpath(pathfile); + + console.log('2) myfileprofile', pathfile); return tools.downloadImage(photo_url, myfileprofile). then((ris) => { - console.log('setPicProfile ris', ris); + console.log('3) setPicProfile ris', ris); return User.setPicProfile(idapp, username, filename).then((ris) => { - console.log('sendMsg picprofile Copied !'); + console.log('4) sendMsg picprofile Copied !'); local_sendMsgTelegram(idapp, username, printf(getstr(lang, 'MSG_SET_PICPROFILE'), editprofile)); }); // console.log('scaricato'); + }).catch((err) => { + console.error('Error setPhotoProfile', err); }); }); diff --git a/src/server/tools/general.js b/src/server/tools/general.js index c381f68..0c8814c 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -2626,6 +2626,7 @@ module.exports = { dest: filepath }); }catch (e) { + console.error('Err download image', e); return false; } diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index b1fd89a..6c44e64 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -96,6 +96,8 @@ module.exports = { TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups'], TABLES_REC_ID: ['skills', 'goods', 'subskills'], + TABLES_VISU_STAT_IN_HOME: ['myskills', 'mybachecas', 'mygoods', 'mygroups'], + TABLES_ID_NUMBER: [ 'permissions', 'levels',