From 022ad117472db8350c3329d73d900825f80e4285 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 2 Feb 2023 13:53:02 +0100 Subject: [PATCH] fix Conti Collettivi + messaggi --- src/server/locales/it.json | 8 ++- src/server/models/sendnotif.js | 112 ++++++++++++++++++--------------- src/server/models/user.js | 15 +++-- src/server/tools/general.js | 1 + 4 files changed, 78 insertions(+), 58 deletions(-) diff --git a/src/server/locales/it.json b/src/server/locales/it.json index 50ed8cc..b5e26d1 100644 --- a/src/server/locales/it.json +++ b/src/server/locales/it.json @@ -65,9 +65,11 @@ "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP": "il conto %s '%s' sta inviando %s %s al conto %s '%s'.", "CIRCUIT_SENDCOINSREQ_TO_ME": "Stai inviando %s %s a %s. \nIl destinatario deve accettare la transazione.", "CIRCUIT_SENDCOINSREQ_TO_GROUP": "Stai inviando %s %s al Conto %s '%s'. \nIl destinatario deve accettare la transazione.", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU": "%s %s accettati da %s (del Conto %s '%s').", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP": "%s %s accettati da %s del Conto %s %s al Conto %s '%s'.", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP": "%s %s accettati da %s (per il Conto %s '%s').", + "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU": "%s %s accettati dal Conto %s '%s' (%s).", + + "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP": "il conto %s '%s' (%s) ha accettato %s %s dal conto %s '%s' (%s).", + + "ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP": "il conto %s '%s' (%s) ha accettato %s %s da %s.", "ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_YOU": "%s %s accettati da %s.", "ID_CIRCUIT_COINS_ACCEPTED": "%s %s accettati da %s.", "SALDO_UPDATE": "[Saldo %s %s]", diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index f5f1c19..779834f 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -285,9 +285,27 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us strtipocontoDest = recnotif.paramsObj.extrarec.contoComDest ? i18n.__('COMUNITARIO') : i18n.__('COLLETTIVO'); let groupOComorig = recnotif.paramsObj.extrarec.contoComOrig ? recnotif.paramsObj.extrarec.contoComOrig : recnotif.paramsObj.extrarec.grouporig; let groupOComdest = recnotif.paramsObj.extrarec.contoComDest ? recnotif.paramsObj.extrarec.contoComDest : recnotif.paramsObj.extrarec.groupdest; - let myorig = recnotif.paramsObj.extrarec.grouporig; - let mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest; - let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest; + let myorig = ''; + let mydest = ''; + let destinatario = ''; + let qty = ''; + let symbol = ''; + let username_action = ''; + let username_mittente = ''; + try { + username_action = recnotif.paramsObj.username_action + username_mittente = recnotif.paramsObj.sender ? recnotif.paramsObj.sender : username_action + myorig = recnotif.paramsObj.extrarec.grouporig; + mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest; + destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : (recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.contoComDest); + qty = recnotif.paramsObj.extrarec && recnotif.paramsObj.extrarec.qty ? recnotif.paramsObj.extrarec.qty.toString() : ''; + symbol = recnotif.paramsObj.extrarec ? recnotif.paramsObj.extrarec.symbol : ''; + } catch (e) { + } + + if (groupOComdest) { + destinatario += ' (' + username_mittente + ')' + } if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_NEW_REC) { newdescr = i18n.__('CIRCUIT_CREATED', sender, recnotif.paramsObj.circuitnameDest); @@ -295,39 +313,39 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us if (recnotif.paramsObj.isAdmin) { if (recnotif.extrarec.groupname) { newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT_MYGROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest, - recnotif.paramsObj.username_action); + username_action); } else { newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT', sender, recnotif.paramsObj.circuitnameDest, - recnotif.paramsObj.username_action); + username_action); } recnotif.openUrl = '/my/' + sender; } else { if (sender === recnotif.paramsObj.usernameDest) { - newdescr = i18n.__('CIRCUIT_ACCEPTED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest, tools.getHostByIdApp(recnotif.idapp) + recnotif.openUrl); + newdescr = i18n.__('CIRCUIT_ACCEPTED', username_action, recnotif.paramsObj.circuitnameDest, tools.getHostByIdApp(recnotif.idapp) + recnotif.openUrl); } else { newdescr = i18n.__('CIRCUIT_ACCEPTED_YOU', recnotif.paramsObj.usernameDest, recnotif.paramsObj.circuitnameDest); } } tag = 'addcircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED) { - if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && sender === recnotif.paramsObj.usernameDest) { - newdescr = i18n.__('CIRCUIT_EXIT_USER_TO_ME', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + if (username_action === recnotif.paramsObj.usernameDest && sender === recnotif.paramsObj.usernameDest) { + newdescr = i18n.__('CIRCUIT_EXIT_USER_TO_ME', recnotif.paramsObj.circuitnameDest, username_action); } else if (sender === recnotif.paramsObj.usernameDest) { - newdescr = i18n.__('CIRCUIT_REMOVED_TO_ME', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); - } else if (sender === recnotif.paramsObj.username_action) { + newdescr = i18n.__('CIRCUIT_REMOVED_TO_ME', recnotif.paramsObj.circuitnameDest, username_action); + } else if (sender === username_action) { newdescr = i18n.__('CIRCUIT_EXIT_USER', sender, recnotif.paramsObj.circuitnameDest); recnotif.openUrl = '/my/' + sender; } else { - newdescr = i18n.__('CIRCUIT_REMOVED', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_REMOVED', sender, recnotif.paramsObj.circuitnameDest, username_action); } tag = 'remcircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REFUSED) { if (recnotif.paramsObj.isAdmin) { - newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', sender, recnotif.paramsObj.circuitnameDest, username_action); } else { - newdescr = i18n.__('CIRCUIT_REFUSED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest); + newdescr = i18n.__('CIRCUIT_REFUSED', username_action, recnotif.paramsObj.circuitnameDest); } tag = 'refcircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REQUEST_TO_ENTER) { @@ -341,35 +359,35 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us tag = 'reqcircuits'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_DELETE_USER) { - newdescr = i18n.__('CIRCUIT_ELIMINATO', sender, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_ELIMINATO', sender, username_action); tag = 'deletecircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ADDED_ADMIN) { if (sender === recnotif.paramsObj.usernameDest) { - newdescr = i18n.__('CIRCUIT_ADDED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_ADDED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, username_action); } else { - newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, username_action); recnotif.openUrl = '/my/' + sender; } tag = 'addadmingrp'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED_ADMIN) { if (sender === recnotif.paramsObj.usernameDest) { - newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, username_action); } else { - newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action); + newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, username_action); recnotif.openUrl = '/my/' + sender; } tag = 'removeadmincircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) { if (groupOComdest) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_GROUP', tools.getAhref(recnotif.paramsObj.username_action, await tools.getLinkUserTelegram(recnotif.idapp, recnotif.paramsObj.username_action)), recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, strtipocontoDest, groupOComdest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_GROUP', tools.getAhref(username_action, await tools.getLinkUserTelegram(recnotif.idapp, username_action)), qty, + symbol, strtipocontoDest, groupOComdest); } else if (groupOComorig && (sender === recnotif.paramsObj.usernameDest)) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU', strtipocontoOrig, groupOComorig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU', strtipocontoOrig, groupOComorig, qty, symbol, recnotif.paramsObj.extrarec.dest); } else if (groupOComorig) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', strtipocontoOrig, groupOComorig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', strtipocontoOrig, groupOComorig, qty, symbol, recnotif.paramsObj.extrarec.dest); } else { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ', tools.getAhref(recnotif.paramsObj.username_action, await tools.getLinkUserTelegram(recnotif.idapp, recnotif.paramsObj.username_action)), recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ', tools.getAhref(username_action, await tools.getLinkUserTelegram(recnotif.idapp, username_action)), qty, + symbol); } tag = 'sendcoin'; @@ -378,64 +396,58 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us if (myorig) { if (groupOComdest) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP', strtipocontoOrig, myorig, recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, strtipocontoDest, groupOComdest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP', strtipocontoOrig, myorig, qty, symbol, strtipocontoDest, groupOComdest); } else { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', strtipocontoOrig, myorig, recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, mydest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', strtipocontoOrig, myorig, qty, symbol, mydest); } } else { if (groupOComdest) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, strtipocontoDest, groupOComdest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_GROUP', qty, symbol, strtipocontoDest, groupOComdest); } else { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, mydest); + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', qty, symbol, mydest); } } tag = 'sendcoin'; recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path; //++Todo: dove lo mando ? } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED) { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED', qty, symbol, + username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, symbol); if (myorig) { if (groupOComdest) { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP', strtipocontoOrig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action, myorig, strtipocontoDest, groupOComdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP', strtipocontoDest, myorig, username_action, qty, symbol, strtipocontoDest, groupOComdest, username_mittente) + `\n` + + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, symbol); + } else { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU', strtipocontoOrig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action, myorig) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU', qty, symbol, strtipocontoOrig, myorig, username_action) + + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, symbol); } } else { if (groupOComdest) { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action, strtipocontoDest, groupOComdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP', strtipocontoDest, groupOComdest, username_action, qty, symbol, username_mittente) + + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, symbol); } else { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_YOU', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_YOU', qty, symbol, username_action) + + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, symbol); } } tag = 'sendcoin'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED_SENT) { if (!destinatario) { - destinatario = recnotif.paramsObj.username_action + destinatario = username_action } - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, destinatario) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoOrig, - recnotif.paramsObj.extrarec.symbol); + newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_TO_ME', qty, symbol, destinatario) + + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoOrig, symbol); tag = 'sendcoin'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED) { - newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action); + newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED', qty, symbol, username_action); tag = 'sendcoin'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) { - newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - destinatario); + newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED_TO_ME', qty, symbol, destinatario); tag = 'sendcoin'; } } diff --git a/src/server/models/user.js b/src/server/models/user.js index c09ecf0..17569e0 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -2499,13 +2499,18 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn } else if (cmd === shared_consts.CIRCUITCMD.REMOVE_FROM_MYLIST) { - // Remove if is also an Admin - await Circuit.removeAdminOfMyCircuit(idapp, usernameOrig, circuitname); + if (groupname) { + outres.result = await MyGroup.removeCircuitFromGroup(idapp, groupname, circuitname); // Rimuovo l'Amicizia da me + } else { - outres.result = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me - console.log('ris', ris); + // Remove if is also an Admin + await Circuit.removeAdminOfMyCircuit(idapp, usernameOrig, circuitname); - await Circuit.updateData(idapp, circuitname); + outres.result = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me + console.log('ris', ris); + + await Circuit.updateData(idapp, circuitname); + } // Invia una notifica alla persona await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec); diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 735f3f9..657bd14 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -1140,6 +1140,7 @@ module.exports = { for (let rec of arrrec) { paramsObj.usernameDest = rec.dest; + paramsObj.sender = rec.sender; if ((cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) || (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE)) { try { paramsObj.extrarec.notifId = rec._id;