From 4a408b4ebdf3f129513884c0b1b83ccf9fa27225 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 30 Nov 2023 01:49:17 +0100 Subject: [PATCH] Riso: Ris Italia, altre modifiche grafiche Lista Utenti da Verificare --- .vscode/launch.json | 2 +- src/server/locales/it.json | 6 ++-- src/server/models/sendnotif.js | 1 - src/server/models/user.js | 55 ++++++++++++++++++++++++++---- src/server/telegram/telegrambot.js | 5 +++ src/server/tools/shared_nodejs.js | 1 + 6 files changed, 59 insertions(+), 11 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index d5b3f40..c48cd73 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,7 +7,7 @@ "name": "Launch via Nodemon", "program": "${workspaceFolder}/node_modules/nodemon/bin/nodemon.js", "restart": true, - "runtimeExecutable": "/Users/paolo/.nvm/versions/node/v16.19.0/bin/node", + "runtimeExecutable": "node", "runtimeArgs": [ "--inspect=9229" // Use "--inspect=0.0.0.0:9229" for remote debugging ], diff --git a/src/server/locales/it.json b/src/server/locales/it.json index e720269..94b0248 100644 --- a/src/server/locales/it.json +++ b/src/server/locales/it.json @@ -72,7 +72,7 @@ "CIRCUIT_EXIT_USER": "❌ l'utente %s è uscito dal '%s'", "CIRCUIT_EXIT_USER_TO_ME": "❌ Sei uscito dal '%s'", "CIRCUIT_REMOVED_TO_ME": "❌ Sei stato rimosso dal '%s' (da parte di %s)", - "CIRCUIT_SENDCOINSREQ": "%s ti sta inviando %s %s sul '%s'.", + "CIRCUIT_SENDCOINSREQ": "%s ti sta inviando %s %s sul '%s'", "COMUNITARIO": "Comunitario", "COLLETTIVO": "Gruppo", "CIRCUIT_SENDCOINSREQ_GROUP": "%s sta inviando %s %s al Conto %s '%s' sul '%s'.", @@ -107,5 +107,7 @@ "DATEDAYONLY": "%s dalle %s alle %s", "DATE_2DAYS": "%s dalle %s fino a %s alle %s", "SENDMSG_ENTRA_IN_RISO_ITALIA": "Ciao %s!
%s che appartiene al %s vuole inviarti dei RIS. Per poterli ricevere dovete entrambi utilizzare il Circuito RIS Italia.", - "CLICCA_QUI": "CLICCA QUI" + "CLICCA_QUI": "CLICCA QUI", + "✅ %s è stato Abilitato correttamente (da %s)!": "✅ %s è stato Abilitato correttamente (da %s)!", + "✅ Sei stato Abilitato correttamente da %s!": "✅ Sei stato Abilitato correttamente da %s!" } \ No newline at end of file diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index 632227e..d3240fa 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -1011,7 +1011,6 @@ sendNotifSchema.statics.sendToTheDestinations = async function (myrecnotifpass, arrcircuits.push(await City.getCircuitNameBystrProv(prov)); } - if (myrecnotifpass.tablerec === shared_consts.TABLES_MYGOODS) { idSector = myrectableorig.idSectorGood; } else { diff --git a/src/server/models/user.js b/src/server/models/user.js index 272d039..812bd45 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 printf = require('util').format; const tools = require('../tools/general'); const { Settings } = require('../models/settings'); @@ -2057,10 +2058,20 @@ UserSchema.statics.setFriendsCmd = async function (req, idapp, usernameOrig, use req = tools.getReqByPar(idapp, usernameOrig); } + let userDest = null; + if (usernameDest) + userDest = await User.getUserShortDataByUsername(idapp, usernameDest); + const username_action = req.user.username; let username_worked = usernameDest; let ris = null; + let lang = ''; + let user = null; + if (usernameOrig) { + user = await User.getUserShortDataByUsername(idapp, usernameOrig); + } + lang = user ? user.lang : ''; let update = {}; try { if (cmd === shared_consts.FRIENDSCMD.SETTRUST) { @@ -2069,10 +2080,23 @@ UserSchema.statics.setFriendsCmd = async function (req, idapp, usernameOrig, use await this.setFriendsCmd(req, idapp, usernameOrig, usernameDest, shared_consts.FRIENDSCMD.SETFRIEND, value); - return await User.updateOne({ idapp, username: usernameDest }, + const ris = await User.updateOne({ idapp, username: usernameDest }, { $set: { verified_by_aportador: value, trust_modified: new Date() } }, { new: false }); + const msgOrig = i18n.__({ phrase: '✅ %s è stato Abilitato correttamente (da %s)!', locale: userDest.lang }, userDest.username, usernameOrig); + const msgDest = i18n.__({ phrase: '✅ Sei stato Abilitato correttamente da %s!', locale: lang }, usernameOrig); + + await telegrambot.sendMsgTelegram(idapp, usernameOrig, msgOrig); + await telegrambot.sendMsgTelegram(idapp, userDest.username, msgDest); + + // Invia questo msg anche all'Admin + await telegrambot.sendMsgTelegramToTheAdmin(idapp, msgDest, true); + + // telegrambot.askConfirmationUser(user.idapp, shared_consts.CallFunz.REGISTRATION, user, '', '', '', ''); + + return ris; + } else if (cmd === shared_consts.FRIENDSCMD.SETFRIEND) { // Aggiungo l'Amicizia a me const foundIfAlreadyFriend = await User.findOne({ @@ -2378,7 +2402,7 @@ UserSchema.statics.sendCmd = async function (req, idapp, usernameOrig, usernameD let title = tools.getNomeAppByIdApp(idapp); let keyb = null; let descr = ''; - + let send_notif = false; let send_msgTelegramBot = false; let actions = []; @@ -2395,7 +2419,7 @@ UserSchema.statics.sendCmd = async function (req, idapp, usernameOrig, usernameD openUrl = '/circuit/ris_italia'; bottone = i18n.__({ phrase: 'CIRCUIT_OPEN_RISITALIA', locale: langdest }); tag = 'risitalia'; - + send_notif = true; send_msgTelegramBot = true; @@ -2418,15 +2442,15 @@ UserSchema.statics.sendCmd = async function (req, idapp, usernameOrig, usernameD } // Invia Msg - if (send_msgTelegramBot && msgtelegram) { + if (send_msgTelegramBot && msgtelegram) { await telegrambot.local_sendMsgTelegramByIdTelegram(idapp, telegid, msgtelegram, undefined, undefined, true, keyb); } const userprofile = await User.getInfoFriendByUsername(idapp, usernameDest); const myuser = await User.getInfoFriendByUsername(idapp, usernameOrig); - + ris = { userprofile, myuser, popupOnApp, result: true }; - + } catch (e) { popupOnApp = e; ris = { popupOnApp }; @@ -3125,6 +3149,20 @@ UserSchema.statics.getAskedFriendsByUsername = async function (idapp, username) }; +UserSchema.statics.getUsersToVerify = async function (idapp, username) { + + const whatToShow_Unknown = getWhatToShow(idapp, username); + let usersToVerify = await User.find({ + idapp, aportador_solidario: username, + verified_by_aportador: { $exists: false }, + $or: [ + { deleted: { $exists: false } }, + { deleted: { $exists: true, $eq: false } }], + }, whatToShow_Unknown).lean(); + + return usersToVerify; +}; + UserSchema.statics.getFriendsByUsername = async function (idapp, username) { if (!username) { @@ -4076,7 +4114,7 @@ UserSchema.statics.getUsersDreams = async function (idapp) { UserSchema.statics.getLastUsers = async function (idapp) { const User = this; - const lastn = await Settings.getValDbSettings(idapp, 'SHOW_LAST_N_USERS', 10); + const lastn = await Settings.getValDbSettings(idapp, 'SHOW_LAST_N_USERS', 20); return await User.find( { @@ -4090,6 +4128,7 @@ UserSchema.statics.getLastUsers = async function (idapp) { name: 1, surname: 1, lasttimeonline: 1, + verified_by_aportador: 1, 'profile.img': 1, date_reg: 1, index: 1, @@ -5024,6 +5063,8 @@ UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, v recUser.profile.reaction = await Reaction.find({ idapp, username: recUser.username }).lean(); + recUser.profile.userstoverify = await User.getUsersToVerify(idapp, recUser.username); + recUser.profile.manage_mygroups = listManageGroups ? listManageGroups : []; diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 13904b4..dbec555 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -893,6 +893,8 @@ const MyTelegramBot = { }, */ ]); } + send_notif = true; + } else if (myfunc === shared_consts.CallFunz.RICHIESTA_GRUPPO) { domanda = printf(getstr(langdest, 'MSG_ACCEPT_NEWENTRY_INGROUP'), name) + '
' + struserinfomsg; @@ -924,6 +926,8 @@ const MyTelegramBot = { groupid + tools.SEP + groupname, },*/ ]); + send_notif = true; + } else { domanda = i18n.__({ phrase: 'CIRCUIT_ACCEPT_NEWENTRY', locale: langdest }, myuser.username, name) + '
' + struserinfomsg; @@ -939,6 +943,7 @@ const MyTelegramBot = { groupid, }, */ ]); + send_notif = true; } } diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index 27cd490..08ef4bf 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -757,6 +757,7 @@ module.exports = { myreact: 1, mycities: 1, lang: 1, + verified_by_aportador: 1, 'profile.img': 1, 'profile.mygroups': 1, 'profile.mycircuits': 1,