diff --git a/src/server/locales/it.json b/src/server/locales/it.json index cac4965..50ed8cc 100644 --- a/src/server/locales/it.json +++ b/src/server/locales/it.json @@ -57,15 +57,17 @@ "CIRCUIT_EXIT_USER_TO_ME": "❌ Sei uscito dal Circuito %s", "CIRCUIT_REMOVED_TO_ME": "❌ Sei stato rimosso dal Circuito %s (da parte di %s)", "CIRCUIT_SENDCOINSREQ": "%s ti sta inviando %s %s.", - "CIRCUIT_SENDCOINSREQ_GROUP": "%s sta inviando %s %s al Conto Comunitario '%s'.", - "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER": "il conto comunitario '%s' sta inviando %s %s a %s.", - "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU": "il conto comunitario '%s' ti sta inviando %s %s", - "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP": "il conto comunitario '%s' sta inviando %s %s al conto Comunitario %s.", + "COMUNITARIO": "Comunitario", + "COLLETTIVO": "Collettivo", + "CIRCUIT_SENDCOINSREQ_GROUP": "%s sta inviando %s %s al Conto %s '%s'.", + "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER": "il conto %s '%s' sta inviando %s %s a %s.", + "CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU": "il conto %s '%s' ti sta inviando %s %s", + "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 Comunitario %s. \nIl destinatario deve accettare la transazione.", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU": "%s %s accettati da %s (del Conto Comunitario %s).", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP": "%s %s accettati da %s del Conto Comunitario %s al Conto Comunitario %s.", - "ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP": "%s %s accettati da %s (per il Conto Comunitario %s).", + "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_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/account.js b/src/server/models/account.js index eda6a0a..98cb25c 100755 --- a/src/server/models/account.js +++ b/src/server/models/account.js @@ -36,6 +36,9 @@ const AccountSchema = new Schema({ groupname: { // For the Groups type: String, }, + contocom: { // For the Conto Comunitario dei Circuiti + type: String, + }, circuitId: { // ----- REF TO Circuit type: String, }, @@ -195,7 +198,7 @@ AccountSchema.pre('save', async function (next) { next(); }); -AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, username, circuitId, createifnotexist, groupname = '', iscontocom = false) { +AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, username, circuitId, createifnotexist, groupname = '', contocom = "") { const Account = this; try { @@ -212,6 +215,8 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, if (groupname) { myquery.groupname = groupname; + } else if (contocom) { + myquery.contocom = contocom; } else { myquery.username = username; } @@ -227,6 +232,7 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, idapp, username, groupname, + contocom, circuitId: mycircuit._id, deperibile: false, importo_iniziale: 0, @@ -235,7 +241,7 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, qta_maxConcessa: 0, }); - if (iscontocom) { + if (contocom) { myaccount.fidoConcesso = shared_consts.CIRCUIT_PARAMS.SCOPERTO_MIN_CONTO_COMUNITARIO; myaccount.qta_maxConcessa = shared_consts.CIRCUIT_PARAMS.SCOPERTO_MAX_CONTO_COMUNITARIO; } else { @@ -267,14 +273,14 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, }; -AccountSchema.statics.createAccount = async function (idapp, username, circuitName, groupname = '') { +AccountSchema.statics.createAccount = async function (idapp, username, circuitName, groupname = '', contocom = '') { const { Circuit } = require('../models/circuit'); try { mycircuit = await Circuit.findOne({ name: circuitName }, { _id: 1 }); if (mycircuit) { - return await Account.getAccountByUsernameAndCircuitId(idapp, username, mycircuit._id, true, groupname, circuitName === groupname); + return await Account.getAccountByUsernameAndCircuitId(idapp, username, mycircuit._id, true, groupname, contocom); } else { return null; } diff --git a/src/server/models/circuit.js b/src/server/models/circuit.js index a0cbb5c..cbfb652 100755 --- a/src/server/models/circuit.js +++ b/src/server/models/circuit.js @@ -646,8 +646,8 @@ CircuitSchema.statics.sendCoins = async function (onlycheck, idapp, usernameOrig if (circuittable) { const myqty = Math.abs(extrarec.qty); - const accountdestTable = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, circuittable._id, true, extrarec.groupdest); - const accountorigTable = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, circuittable._id, true, extrarec.grouporig); + const accountdestTable = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, circuittable._id, true, extrarec.groupdest, extrarec.contoComDest); + const accountorigTable = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, circuittable._id, true, extrarec.grouporig, extrarec.contoComOrig); const circolantePrec = this.getCircolanteSingolaTransaz(accountorigTable, accountdestTable); @@ -795,6 +795,21 @@ CircuitSchema.statics.setDeperimentoOff = async function () { }; +CircuitSchema.statics.getListAdminsByCircuitPath = async function (idapp, circuitPath) { + + let arr = await Circuit.findOne({ + idapp, + path: circuitPath, + $or: [ + { deleted: { $exists: false } }, + { deleted: { $exists: true, $eq: false } }], + }, {admins: 1}).lean(); + + return arr && arr.admins ? arr.admins : []; + +}; + + const Circuit = mongoose.model('Circuit', CircuitSchema); module.exports = { Circuit }; diff --git a/src/server/models/movement.js b/src/server/models/movement.js index 0beec11..bf4d7ff 100755 --- a/src/server/models/movement.js +++ b/src/server/models/movement.js @@ -128,7 +128,7 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username, if (!circuitId) { return []; } - const myaccount = await Account.getAccountByUsernameAndCircuitId(idapp, username, circuitId, false); + const myaccount = await Account.getAccountByUsernameAndCircuitId(idapp, username, circuitId, ''); if (myaccount) { @@ -196,6 +196,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username, }, }, {$unwind: '$groupfrom'}, + { + $lookup: { + from: 'circuits', + let: {contocom: '$accfrom.contocom', idapp: '$accfrom.idapp'}, + pipeline: [ + { + $match: + { + $expr: + { + $and: + [ + {$eq: ['$$contocom', '$path']}, + {$eq: ['$$idapp', '$idapp']}, + ], + }, + }, + }, + ], + as: 'contocomfrom', + }, + }, + {$unwind: '$contocomfrom'}, { $lookup: { from: 'accounts', @@ -273,6 +296,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username, }, }, {$unwind: '$groupto'}, + { + $lookup: { + from: 'circuits', + let: {contocom: '$accto.contocom', idapp: '$accto.idapp'}, + pipeline: [ + { + $match: + { + $expr: + { + $and: + [ + {$eq: ['$$contocom', '$path']}, + {$eq: ['$$idapp', '$idapp']}, + ], + }, + }, + }, + ], + as: 'contocomto', + }, + }, + {$unwind: '$contocomto'}, { $project: { @@ -288,6 +334,8 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username, 'userto.profile.img': 1, 'groupfrom.groupname': 1, 'groupto.groupname': 1, + 'contocomfrom.path': 1, + 'contocomto.path': 1, }, }, @@ -380,6 +428,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c preserveNullAndEmptyArrays: true, }, }, + { + $lookup: { + from: 'circuits', + let: {contocom: '$accfrom.contocom', idapp: '$accfrom.idapp'}, + pipeline: [ + { + $match: + { + $expr: + { + $and: + [ + {$eq: ['$$contocom', '$path']}, + {$eq: ['$$idapp', '$idapp']}, + ], + }, + }, + }, + ], + as: 'contocomfrom', + }, + }, + { + $unwind: { + path: '$contocomfrom', + preserveNullAndEmptyArrays: true, + }, + }, { $lookup: { from: 'accounts', @@ -481,6 +557,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c preserveNullAndEmptyArrays: true, }, }, + { + $lookup: { + from: 'circuits', + let: {contocom: '$accto.contocom', idapp: '$accto.idapp'}, + pipeline: [ + { + $match: + { + $expr: + { + $and: + [ + {$eq: ['$$contocom', '$path']}, + {$eq: ['$$idapp', '$idapp']}, + ], + }, + }, + }, + ], + as: 'contocomto', + }, + }, + { + $unwind: { + path: '$contocomto', + preserveNullAndEmptyArrays: true, + }, + }, { $project: { @@ -496,6 +600,8 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c 'userto.profile.img': 1, 'groupfrom.groupname': 1, 'groupto.groupname': 1, + 'contocomfrom.path': 1, + 'contocomto.path': 1, }, }, diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index 182961e..f5f1c19 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -281,6 +281,14 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us } else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_CIRCUITS) { tag = 'circuit'; recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path; + strtipocontoOrig = recnotif.paramsObj.extrarec.contoComOrig ? i18n.__('COMUNITARIO') : i18n.__('COLLETTIVO'); + 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; + if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_NEW_REC) { newdescr = i18n.__('CIRCUIT_CREATED', sender, recnotif.paramsObj.circuitnameDest); } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ACCEPTED) { @@ -352,13 +360,13 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us } tag = 'removeadmincircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) { - if (recnotif.paramsObj.extrarec.groupdest) { + 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, recnotif.paramsObj.extrarec.groupdest); - } else if (recnotif.paramsObj.extrarec.grouporig && (sender === recnotif.paramsObj.usernameDest)) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest); - } else if (recnotif.paramsObj.extrarec.grouporig) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest); + recnotif.paramsObj.extrarec.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); + } 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); } 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); @@ -367,21 +375,19 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us tag = 'sendcoin'; recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path; //++Todo: dove lo mando ? } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT) { - let mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest; - let myorig = recnotif.paramsObj.extrarec.grouporig; if (myorig) { - if (recnotif.paramsObj.extrarec.groupdest) { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP', myorig, recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, mydest); + if (groupOComdest) { + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP', strtipocontoOrig, myorig, recnotif.paramsObj.extrarec.qty.toString(), + recnotif.paramsObj.extrarec.symbol, strtipocontoDest, groupOComdest); } else { - newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', myorig, recnotif.paramsObj.extrarec.qty.toString(), + newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', strtipocontoOrig, myorig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, mydest); } } else { - if (recnotif.paramsObj.extrarec.groupdest) { + if (groupOComdest) { newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), - recnotif.paramsObj.extrarec.symbol, mydest); + recnotif.paramsObj.extrarec.symbol, strtipocontoDest, groupOComdest); } else { newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, mydest); @@ -394,21 +400,18 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us 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); - let mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest; - let myorig = recnotif.paramsObj.extrarec.grouporig; - if (myorig) { - if (recnotif.paramsObj.extrarec.groupdest) { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, - recnotif.paramsObj.username_action, myorig, recnotif.paramsObj.extrarec.groupdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + 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); } else { - newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, + 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); } } else { - if (recnotif.paramsObj.extrarec.groupdest) { + 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, recnotif.paramsObj.extrarec.groupdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol); + recnotif.paramsObj.username_action, strtipocontoDest, groupOComdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.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); @@ -417,7 +420,6 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us tag = 'sendcoin'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED_SENT) { - let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest; if (!destinatario) { destinatario = recnotif.paramsObj.username_action } @@ -431,7 +433,6 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us recnotif.paramsObj.username_action); tag = 'sendcoin'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) { - let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest; newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, destinatario); diff --git a/src/server/models/user.js b/src/server/models/user.js index 8e3f6f0..c09ecf0 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -2352,7 +2352,7 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn const mycirc = await Circuit.findOne({ idapp, name: circuitname }); if (mycirc) { // Il Conto Comunitario prende il nome del circuito ! - await Account.createAccount(idapp, '', circuitname, mycirc.path); + await Account.createAccount(idapp, '', circuitname, '', mycirc.path); } } else if (cmd === shared_consts.CIRCUITCMD.SET) { diff --git a/src/server/router/circuits_router.js b/src/server/router/circuits_router.js index 1c70488..b062c79 100755 --- a/src/server/router/circuits_router.js +++ b/src/server/router/circuits_router.js @@ -72,7 +72,7 @@ router.post('/load', authenticate, async (req, res) => { } if (data) { - data.account = await Account.getAccountByUsernameAndCircuitId(idapp, '', data._id, false, data.path); + data.account = await Account.getAccountByUsernameAndCircuitId(idapp, '', data._id, false, '', data.path); } res.send({ circuit: data, users_in_circuit }); diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index d69d68b..259986a 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -1097,7 +1097,7 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) { for (const mycirc of allcirc) { // Il Conto Comunitario prende il nome del circuito ! - await Account.createAccount(idapp, '', mycirc.name, mycirc.path); + await Account.createAccount(idapp, '', mycirc.name, '', mycirc.path); } diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 5d6b1bf..735f3f9 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -1042,6 +1042,7 @@ module.exports = { const { User } = require('../models/user'); const telegrambot = require('../telegram/telegrambot'); const { MyGroup } = require('../models/mygroup'); + const { Circuit } = require('../models/circuit'); const req = this.getReqByPar(idapp, usernameOrig, groupOrig); @@ -1117,26 +1118,25 @@ module.exports = { } if (sendnotif && typeid > 0) { + const groupDestoContoCom = groupDest ? groupDest : (extrarec && extrarec.contoComDest ? extrarec.contoComDest : ''); // Check if is group: - if (groupDest && ( + if (groupDestoContoCom && ( (cmd !== shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT_SENT) && (cmd !== shared_consts.CIRCUITCMD.SENDCOINS_REFUSE_SENT) )) { - let arrusers = await MyGroup.getListAdminsByGroupName(idapp, groupDest); + let arrusers = await MyGroup.getListAdminsByGroupName(idapp, groupDestoContoCom); + if (arrusers.length <= 0) + arrusers = await Circuit.getListAdminsByCircuitPath(idapp, groupDestoContoCom); let notiftoUpdate = ''; let findrecnotif = await SendNotif.findOne({ _id: paramsObj.extrarec.notifId }).lean(); notiftoUpdate = findrecnotif ? findrecnotif.extrarec.notifIdToUpdate : ''; - // arrnotiftoUpdate = findrecnotif ? findrecnotif.extrarec.arrnotifIdToUpdate : ''; if (findrecnotif) { let arrrec = []; if (notiftoUpdate) arrrec = await SendNotif.find({ 'extrarec.notifIdToUpdate': notiftoUpdate }); - // if (arrnotiftoUpdate) - // arrrec = await SendNotif.find({'extrarec.notifIdToUpdate': notiftoUpdate}); - for (let rec of arrrec) { paramsObj.usernameDest = rec.dest; @@ -1149,7 +1149,7 @@ module.exports = { ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid); if (!ris) { - console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest) + console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDestoContoCom) } else { arrris.push(ris._id); } @@ -1163,7 +1163,7 @@ module.exports = { ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid); if (!ris) { - console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest) + console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDestoContoCom) } else { arrris.push(ris._id); } @@ -1199,7 +1199,7 @@ module.exports = { ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid); if (!ris) { - console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest) + console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDestoContoCom) } } @@ -1274,12 +1274,7 @@ module.exports = { if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REQ || cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT || cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE) { - let extrarecorig = { ...extrarec }; - let temp = '' - temp = extrarecorig.groupdest - extrarecorig.groupdest = extrarecorig.grouporig groupOrig = extrarec.grouporig - // extrarecorig.grouporig = temp let arrris = []; let recnotif = null; diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index e97964c..b88ca00 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -514,7 +514,7 @@ module.exports = { CIRCUIT_PARAMS: { SCOPERTO_MIN_GRP: 200, SCOPERTO_MAX_GRP: 500, - SCOPERTO_MIN_CONTO_COMUNITARIO: 1000, + SCOPERTO_MIN_CONTO_COMUNITARIO: 500, SCOPERTO_MAX_CONTO_COMUNITARIO: 1000, },