diff --git a/src/server/locales/it.json b/src/server/locales/it.json
index 9dd725d..cac4965 100644
--- a/src/server/locales/it.json
+++ b/src/server/locales/it.json
@@ -58,8 +58,15 @@
"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": "il conto comunitario '%s' sta inviando %s %s a %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.",
"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).",
+ "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]",
"ID_CIRCUIT_COINS_ACCEPTED_TO_ME": "%s %s sono stati accettati da %s.",
diff --git a/src/server/models/movement.js b/src/server/models/movement.js
index 3b9ce3a..0beec11 100755
--- a/src/server/models/movement.js
+++ b/src/server/models/movement.js
@@ -173,6 +173,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
},
{$unwind: '$userfrom'},
+ {
+ $lookup: {
+ from: 'mygroups',
+ let: {groupname: '$accfrom.groupname', idapp: '$accfrom.idapp'},
+ pipeline: [
+ {
+ $match:
+ {
+ $expr:
+ {
+ $and:
+ [
+ {$eq: ['$$groupname', '$groupname']},
+ {$eq: ['$$idapp', '$idapp']},
+ ],
+ },
+ },
+ },
+ ],
+ as: 'groupfrom',
+ },
+ },
+ {$unwind: '$groupfrom'},
{
$lookup: {
from: 'accounts',
@@ -183,26 +206,26 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
{$unwind: '$accto'},
{
- '$lookup': {
- 'from': 'circuits',
- 'localField': 'accfrom.circuitId',
- 'foreignField': '_id',
- 'as': 'circuitfrom',
+ $lookup: {
+ from: 'circuits',
+ localField: 'accfrom.circuitId',
+ foreignField: '_id',
+ as: 'circuitfrom',
},
},
{
- '$unwind': '$circuitfrom',
+ $unwind: '$circuitfrom',
},
{
- '$lookup': {
- 'from': 'circuits',
- 'localField': 'accto.circuitId',
- 'foreignField': '_id',
- 'as': 'circuitto',
+ $lookup: {
+ from: 'circuits',
+ localField: 'accto.circuitId',
+ foreignField: '_id',
+ as: 'circuitto',
},
},
{
- '$unwind': '$circuitto',
+ $unwind: '$circuitto',
},
{
$lookup: {
@@ -227,6 +250,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
},
{$unwind: '$userto'},
+ {
+ $lookup: {
+ from: 'mygroups',
+ let: {groupname: '$accto.groupname', idapp: '$accto.idapp'},
+ pipeline: [
+ {
+ $match:
+ {
+ $expr:
+ {
+ $and:
+ [
+ {$eq: ['$$groupname', '$groupname']},
+ {$eq: ['$$idapp', '$idapp']},
+ ],
+ },
+ },
+ },
+ ],
+ as: 'groupto',
+ },
+ },
+ {$unwind: '$groupto'},
{
$project:
{
@@ -240,6 +286,8 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
'userfrom.profile.img': 1,
'userto.username': 1,
'userto.profile.img': 1,
+ 'groupfrom.groupname': 1,
+ 'groupto.groupname': 1,
},
},
@@ -304,6 +352,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
preserveNullAndEmptyArrays: true,
},
},
+ {
+ $lookup: {
+ from: 'mygroups',
+ let: {groupname: '$accfrom.groupname', idapp: '$accfrom.idapp'},
+ pipeline: [
+ {
+ $match:
+ {
+ $expr:
+ {
+ $and:
+ [
+ {$eq: ['$$groupname', '$groupname']},
+ {$eq: ['$$idapp', '$idapp']},
+ ],
+ },
+ },
+ },
+ ],
+ as: 'groupfrom',
+ },
+ },
+ {
+ $unwind: {
+ path: '$groupfrom',
+ preserveNullAndEmptyArrays: true,
+ },
+ },
{
$lookup: {
from: 'accounts',
@@ -377,6 +453,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
preserveNullAndEmptyArrays: true,
},
},
+ {
+ $lookup: {
+ from: 'mygroups',
+ let: {groupname: '$accto.groupname', idapp: '$accto.idapp'},
+ pipeline: [
+ {
+ $match:
+ {
+ $expr:
+ {
+ $and:
+ [
+ {$eq: ['$$groupname', '$groupname']},
+ {$eq: ['$$idapp', '$idapp']},
+ ],
+ },
+ },
+ },
+ ],
+ as: 'groupto',
+ },
+ },
+ {
+ $unwind: {
+ path: '$groupto',
+ preserveNullAndEmptyArrays: true,
+ },
+ },
{
$project:
{
@@ -390,7 +494,9 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
'userfrom.profile.img': 1,
'userto.username': 1,
'userto.profile.img': 1,
- },
+ 'groupfrom.groupname': 1,
+ 'groupto.groupname': 1,
+ },
},
];
diff --git a/src/server/models/prova.htm b/src/server/models/prova.htm
new file mode 100644
index 0000000..3e80c02
--- /dev/null
+++ b/src/server/models/prova.htm
@@ -0,0 +1 @@
+
Come posso sostenere il progetto Riso.app?
- π±Condividendo la APP a tutti coloro che vogliono far parte insieme della crescita e sviluppo di una Nuova Era.
- π₯ Aiutando a creare Gruppi Territoriali nella vostra cittΓ , impegnandosi a realizzare progetti per il Bene Comune, in onore ai principi Amorevoli e di condivisione.
- π± Sostenendo le persone attorno a voi, e rispettando la nostra vera Casa: Madre Natura e Tutti gli Esseri Viventi. β€οΈ
- π¨π»βπ» Con una piccola donazione per le spese dei Server, manutenzione e per i continui sviluppi e miglioramenti.
1) Tramite
Paypal2) Tramite
SatispayIn alternativa scegli tu una forma di scambio (auto-produzioni di cibo) da donare (per info:
Surya Paolo)
β€ Grazie Mille per l'Aiuto ed il Supporto
\ No newline at end of file
diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js
index 9b91854..182961e 100755
--- a/src/server/models/sendnotif.js
+++ b/src/server/models/sendnotif.js
@@ -39,6 +39,9 @@ const sendNotifSchema = new Schema({
type: String,
default: '',
},
+ descr: {
+ type: String,
+ },
sendergroup: { // mittente
type: String,
default: '',
@@ -50,9 +53,6 @@ const sendNotifSchema = new Schema({
title: {
type: String,
},
- descr: {
- type: String,
- },
openUrl: {
type: String,
},
@@ -142,6 +142,9 @@ sendNotifSchema.statics.getRecNotif = function (id) {
sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, lastdataread, idapp) {
const SendNotif = this;
+ if (!lastdataread)
+ lastdataread = 0;
+
return SendNotif.find({
$and: [
{ idapp },
@@ -159,13 +162,13 @@ sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, l
};
-sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
+sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, userorig) {
const numchars = 80;
let newdescr = '';
let mydescr = '';
let myidrec = '';
- let userorig = recnotif.sender;
+ let sender = recnotif.sender;
let tag = '';
try {
@@ -185,18 +188,18 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
tag = 'newservice';
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_FRIENDS) {
- recnotif.openUrl = '/my/' + userorig;
+ recnotif.openUrl = '/my/' + sender;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_NEW_REC) {
- newdescr = i18n.__('%s asked you for Friendship', userorig, mydescr);
+ newdescr = i18n.__('%s asked you for Friendship', sender, mydescr);
tag = 'newfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED) {
- newdescr = i18n.__('%s accepted your Friendship', userorig, mydescr);
+ newdescr = i18n.__('%s accepted your Friendship', sender, mydescr);
tag = 'acceptedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST) {
- newdescr = i18n.__('β
You have accepted %s\' Friendship request!', userorig, mydescr);
+ newdescr = i18n.__('β
You have accepted %s\' Friendship request!', sender, mydescr);
tag = 'acceptedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REFUSED) {
- newdescr = i18n.__('%s refused your Friendship', userorig, mydescr);
+ newdescr = i18n.__('%s refused your Friendship', sender, mydescr);
tag = 'refusedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REPORTED) {
tag = 'reportuser';
@@ -204,7 +207,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
newdescr = i18n.__('FRIEND_REPORTED_YOU', recnotif.paramsObj.username_worked);
recnotif.openUrl = '/my/' + recnotif.paramsObj.username_worked;
} else if (recnotif.paramsObj.isAdmin) {
- newdescr = i18n.__('FRIEND_REPORTED', recnotif.paramsObj.usernameDest, userorig);
+ newdescr = i18n.__('FRIEND_REPORTED', recnotif.paramsObj.usernameDest, sender);
recnotif.openUrl = '/my/' + recnotif.paramsObj.usernameDest;
} else {
recnotif.openUrl = '/my/' + recnotif.paramsObj.username_action;
@@ -212,66 +215,66 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
}
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_HANDSHAKE) {
- recnotif.openUrl = '/my/' + userorig;
+ recnotif.openUrl = '/my/' + sender;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_HANDSHAKE_ACCEPTED) {
- newdescr = i18n.__('HANDSHAKE_SET', userorig, mydescr);
+ newdescr = i18n.__('HANDSHAKE_SET', sender, mydescr);
tag = 'acceptedhandshake';
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_GROUPS) {
tag = 'group';
recnotif.openUrl = '/grp/' + recnotif.paramsObj.groupnameDest;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_NEW_REC) {
- newdescr = i18n.__('GROUP_CREATED', userorig, recnotif.paramsObj.groupnameDest);
+ newdescr = i18n.__('GROUP_CREATED', sender, recnotif.paramsObj.groupnameDest);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_ACCEPTED) {
if (recnotif.paramsObj.isAdmin) {
- newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
- recnotif.openUrl = '/my/' + userorig;
+ newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
+ recnotif.openUrl = '/my/' + sender;
} else {
newdescr = i18n.__('GROUPS_ACCEPTED', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
}
tag = 'addgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REMOVED) {
- if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && userorig === recnotif.paramsObj.usernameDest) {
+ if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_EXIT_USER_TO_ME', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
- } else if (userorig === recnotif.paramsObj.usernameDest) {
+ } else if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_REMOVED_TO_ME', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
- } else if (userorig === recnotif.paramsObj.username_action) {
- newdescr = i18n.__('GROUPS_EXIT_USER', userorig, recnotif.paramsObj.groupnameDest);
- recnotif.openUrl = '/my/' + userorig;
+ } else if (sender === recnotif.paramsObj.username_action) {
+ newdescr = i18n.__('GROUPS_EXIT_USER', sender, recnotif.paramsObj.groupnameDest);
+ recnotif.openUrl = '/my/' + sender;
} else {
- newdescr = i18n.__('GROUPS_REMOVED', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('GROUPS_REMOVED', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
}
tag = 'remgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REFUSED) {
- newdescr = i18n.__('GROUPS_REFUSED', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('GROUPS_REFUSED', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
tag = 'refgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REQUEST_TO_ENTER) {
- newdescr = i18n.__('GROUP_REQUEST_TO_ENTER', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
+ newdescr = i18n.__('GROUP_REQUEST_TO_ENTER', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
tag = 'reqgroups';
// sendnotifPush = false; // non lo rimandare 2 volte !
// telegrambot.askConfirmationUser(idapp, shared_consts.CallFunz.RICHIESTA_GRUPPO, myuser, singleadmin.username, groupname, group._id);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_BLOCK_USER) {
- newdescr = i18n.__('RICHIESTA_BLOCCO_GRUPPO', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
+ newdescr = i18n.__('RICHIESTA_BLOCCO_GRUPPO', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
tag = 'blockgroups';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_DELETE_USER) {
- newdescr = i18n.__('GRUPPO_ELIMINATO', userorig, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('GRUPPO_ELIMINATO', sender, recnotif.paramsObj.username_action);
tag = 'deletegroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_ADDED_ADMIN_OFMYGROUP) {
- if (userorig === recnotif.paramsObj.usernameDest) {
+ if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP_YOU', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else {
- newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
- recnotif.openUrl = '/my/' + userorig;
+ newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
+ recnotif.openUrl = '/my/' + sender;
}
tag = 'addadmingrp';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REMOVED_ADMIN_OFMYGROUP) {
- if (userorig === recnotif.paramsObj.usernameDest) {
+ if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP_YOU', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else {
- newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
- recnotif.openUrl = '/my/' + userorig;
+ newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
+ recnotif.openUrl = '/my/' + sender;
}
tag = 'removeadmingrp';
}
@@ -279,20 +282,20 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
tag = 'circuit';
recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_NEW_REC) {
- newdescr = i18n.__('CIRCUIT_CREATED', userorig, recnotif.paramsObj.circuitnameDest);
+ newdescr = i18n.__('CIRCUIT_CREATED', sender, recnotif.paramsObj.circuitnameDest);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ACCEPTED) {
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);
} else {
- newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT', userorig, recnotif.paramsObj.circuitnameDest,
+ newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT', sender, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.username_action);
}
- recnotif.openUrl = '/my/' + userorig;
+ recnotif.openUrl = '/my/' + sender;
} else {
- if (userorig === recnotif.paramsObj.usernameDest) {
+ if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_ACCEPTED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest, tools.getHostByIdApp(recnotif.idapp) + recnotif.openUrl);
} else {
newdescr = i18n.__('CIRCUIT_ACCEPTED_YOU', recnotif.paramsObj.usernameDest, recnotif.paramsObj.circuitnameDest);
@@ -300,21 +303,21 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
}
tag = 'addcircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED) {
- if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && userorig === recnotif.paramsObj.usernameDest) {
+ 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);
- } else if (userorig === recnotif.paramsObj.usernameDest) {
+ } else if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_REMOVED_TO_ME', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
- } else if (userorig === recnotif.paramsObj.username_action) {
- newdescr = i18n.__('CIRCUIT_EXIT_USER', userorig, recnotif.paramsObj.circuitnameDest);
- recnotif.openUrl = '/my/' + userorig;
+ } else if (sender === recnotif.paramsObj.username_action) {
+ newdescr = i18n.__('CIRCUIT_EXIT_USER', sender, recnotif.paramsObj.circuitnameDest);
+ recnotif.openUrl = '/my/' + sender;
} else {
- newdescr = i18n.__('CIRCUIT_REMOVED', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('CIRCUIT_REMOVED', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
}
tag = 'remcircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REFUSED) {
if (recnotif.paramsObj.isAdmin) {
- newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('CIRCUIT_REFUSED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest);
}
@@ -324,36 +327,38 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER_WITH_GROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.singleadmin_username);
} else {
- newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', userorig, recnotif.paramsObj.circuitnameDest,
+ newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', sender, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.singleadmin_username);
}
tag = 'reqcircuits';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_DELETE_USER) {
- newdescr = i18n.__('CIRCUIT_ELIMINATO', userorig, recnotif.paramsObj.username_action);
+ newdescr = i18n.__('CIRCUIT_ELIMINATO', sender, recnotif.paramsObj.username_action);
tag = 'deletecircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ADDED_ADMIN) {
- if (userorig === recnotif.paramsObj.usernameDest) {
+ if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_ADDED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
- newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
- recnotif.openUrl = '/my/' + userorig;
+ newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
+ recnotif.openUrl = '/my/' + sender;
}
tag = 'addadmingrp';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED_ADMIN) {
- if (userorig === recnotif.paramsObj.usernameDest) {
+ if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
- newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
- recnotif.openUrl = '/my/' + userorig;
+ newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
+ recnotif.openUrl = '/my/' + sender;
}
tag = 'removeadmincircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
if (recnotif.paramsObj.extrarec.groupdest) {
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', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.usernameDest);
+ 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);
} 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);
@@ -363,20 +368,60 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
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);
+ } else {
+ newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', myorig, recnotif.paramsObj.extrarec.qty.toString(),
+ recnotif.paramsObj.extrarec.symbol, mydest);
+ }
+ } else {
+ if (recnotif.paramsObj.extrarec.groupdest) {
+ newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(),
+ recnotif.paramsObj.extrarec.symbol, mydest);
+ } else {
+ newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(),
+ recnotif.paramsObj.extrarec.symbol, mydest);
+ }
+ }
- newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(),
- recnotif.paramsObj.extrarec.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
- );
+ 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);
+ } else {
+ newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU', 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) {
+ 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);
+ } 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);
+ }
+ }
+
tag = 'sendcoin';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED_SENT) {
- const destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
-
+ let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
+ if (!destinatario) {
+ destinatario = recnotif.paramsObj.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);
@@ -386,10 +431,10 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
recnotif.paramsObj.username_action);
tag = 'sendcoin';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) {
- const destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
-
+ 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);
+ destinatario);
tag = 'sendcoin';
}
}
@@ -461,7 +506,7 @@ sendNotifSchema.statics.saveAndSendNotif = async function (myrecnotif, req, res,
check = tools.checkUserOk(myrecnotif.sendergroup, user ? myrecnotif.sendergroup : req.user.username, res);
if (check.exit) return check.ret;
- const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, false);
+ const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, false, req.user.username);
if (!myrecout)
return null;
@@ -491,13 +536,13 @@ sendNotifSchema.statics.saveAndSendNotif = async function (myrecnotif, req, res,
};
-sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlysave) {
+sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlysave, userorig) {
const SendNotif = this;
try {
if (!myrecnotif.openUrl) {
// If not exist, then I set openUrl and description
- myrecnotif = await this.getDescrAndLinkByRecNotif(myrecnotif);
+ myrecnotif = await this.getDescrAndLinkByRecNotif(myrecnotif, userorig);
}
let newstatus = 0;
@@ -568,17 +613,23 @@ sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlys
typeidsearch = shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('notifIdToUpdate'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.notifIdToUpdate;
+ if (myrecnotif.paramsObj.extrarec.hasOwnProperty('idStatusToSent'))
+ idnotiftosearch = myrecnotif.paramsObj.extrarec.idStatusToSent;
+
newstatus = shared_consts.CircuitsNotif.STATUS_COINS_ACCEPTED_SENT;
} else if (myrecnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) {
typeidsearch = shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('notifIdToUpdate'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.notifIdToUpdate;
+ if (myrecnotif.paramsObj.extrarec.hasOwnProperty('idStatusToSent'))
+ idnotiftosearch = myrecnotif.paramsObj.extrarec.idStatusToSent;
+
newstatus = shared_consts.CircuitsNotif.STATUS_COINS_REFUSED_SENT;
}
}
if (newstatus) {
- const fields_to_update = {
+ let fields_to_update = {
status: newstatus,
read: false,
descr: myrecnotif.descr,
@@ -603,17 +654,26 @@ sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlys
_id: idnotiftosearch,
status: 0,
};
+
+ fields_to_update = {
+ status: newstatus,
+ read: false,
+ descr: myrecnotif.descr,
+ datenotif: new Date(),
+ };
+
+
+ // Cerca il record e se lo trova lo aggiorna
+ const myrec = await SendNotif.findOneAndUpdate(query, { $set: fields_to_update }, {
+ new: false,
+ returnNewDocument: true,
+ });
+
+ if (myrec) {
+ return { myrecout: myrec, save: true };
+ }
}
- // Cerca il record e se lo trova lo aggiorna
- const myrec = await SendNotif.findOneAndUpdate(query, { $set: fields_to_update }, {
- new: true,
- returnNewDocument: true,
- });
-
- if (myrec) {
- return { myrecout: myrec, save: false };
- }
}
// myrecnotif._id = new ObjectID();
@@ -661,11 +721,11 @@ sendNotifSchema.statics.checkIfCoinsAlreadySent = async function (notifId) {
};
-sendNotifSchema.statics.saveNotif = async function (myrecnotif) {
+sendNotifSchema.statics.saveNotif = async function (myrecnotif, req) {
const SendNotif = this;
- const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, true);
+ const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, true, req.user.username);
if (!myrecout)
return null;
@@ -818,7 +878,7 @@ sendNotifSchema.statics.sendToTheDestinations = async function (myrecnotifpass,
myrecnotifpass.myrectableorig = myrectableorig;
}
- myrecnotifpass = await this.getDescrAndLinkByRecNotif(myrecnotifpass);
+ myrecnotifpass = await this.getDescrAndLinkByRecNotif(myrecnotifpass, req.user.username);
delete myrecnotifpass._doc['_id'];
for (const user of userlist) {
@@ -886,7 +946,7 @@ sendNotifSchema.statics.sendToSingleUserDest = async function (myrecnotif, req,
: myrecnotif.dest;
if (onlysave) {
- return await SendNotif.saveNotif(myrecnotif);
+ return await SendNotif.saveNotif(myrecnotif, req);
} else {
return await SendNotif.saveAndSendNotif(myrecnotif, req, res, null);
}
diff --git a/src/server/models/user.js b/src/server/models/user.js
index 6e3d397..0f3b2ff 100755
--- a/src/server/models/user.js
+++ b/src/server/models/user.js
@@ -2608,6 +2608,7 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn
}
outres.recnotif = await SendNotif.getRecNotif(extrarec.notifId);
+ outres.arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username_action, extrarec.lastdr, idapp);
} else {
outres.cansend = false;
diff --git a/src/server/tools/general.js b/src/server/tools/general.js
index 4f72632..5d6b1bf 100755
--- a/src/server/tools/general.js
+++ b/src/server/tools/general.js
@@ -867,13 +867,14 @@ module.exports = {
},
- getReqByPar(idapp, usernameOrig) {
+ getReqByPar(idapp, usernameOrig, groupOrig) {
return {
body: {
idapp: idapp,
},
user: {
username: usernameOrig,
+ groupOrig,
},
};
},
@@ -1034,7 +1035,7 @@ module.exports = {
},
sendNotifCircuitByUsername: async function (
- cmd, idapp, usernameOrig, usernameDest, username_action,
+ cmd, idapp, usernameOrig, groupOrig, usernameDest, groupDest, username_action,
circuitname, path, myreccircuit, isAdmin, username_worked, extrarec) {
const { SendNotif } = require('../models/sendnotif');
@@ -1042,7 +1043,9 @@ module.exports = {
const telegrambot = require('../telegram/telegrambot');
const { MyGroup } = require('../models/mygroup');
- const req = this.getReqByPar(idapp, usernameOrig);
+ const req = this.getReqByPar(idapp, usernameOrig, groupOrig);
+
+ let arrris = [];
const user = await User.findOne({ idapp, username: usernameDest },
{ _id: 1, lang: 1 });
@@ -1051,6 +1054,7 @@ module.exports = {
if (user) {
lang = user.lang;
}
+ let ris = null;
try {
let paramsObj = {
@@ -1114,25 +1118,99 @@ module.exports = {
if (sendnotif && typeid > 0) {
// Check if is group:
- if (extrarec.groupdest) {
+ if (groupDest && (
+ (cmd !== shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT_SENT) &&
+ (cmd !== shared_consts.CIRCUITCMD.SENDCOINS_REFUSE_SENT)
+ )) {
- let arrusers = await MyGroup.getListAdminsByGroupName(idapp, extrarec.groupdest);
+ let arrusers = await MyGroup.getListAdminsByGroupName(idapp, groupDest);
- let ris = null;
+ 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;
+ if ((cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) || (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE)) {
+ try {
+ paramsObj.extrarec.notifId = rec._id;
+ } catch (e) {
+ }
+ }
+
+ ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
+ if (!ris) {
+ console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest)
+ } else {
+ arrris.push(ris._id);
+ }
- for (let i = 0; i < arrusers.length; i++) {
- paramsObj.usernameDest = arrusers[i].username;
- ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
- if (!ris) {
- console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", extrarec.groupdest)
}
+
+ } else {
+
+ for (let i = 0; i < arrusers.length; i++) {
+ paramsObj.usernameDest = arrusers[i].username;
+
+ ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
+ if (!ris) {
+ console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest)
+ } else {
+ arrris.push(ris._id);
+ }
+ }
+
}
} else {
// CREATE NOTIFICATION IN TABLE SENDNOTIF
- return await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
+ ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
+
+ if ((cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) ||
+ (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE)) {
+
+ if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) {
+ typeid = shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED_SENT;
+ } else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE) {
+ typeid = shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT;
+ }
+
+ let notiftoUpdate = '';
+ let findrecnotif = await SendNotif.findOne({ _id: paramsObj.extrarec.notifId }).lean();
+ notiftoUpdate = findrecnotif ? findrecnotif.extrarec.notifIdToUpdate : '';
+ arrnotiftoUpdate = findrecnotif ? findrecnotif.extrarec.arrnotifIdToUpdate : '';
+ if (findrecnotif && notiftoUpdate && arrnotiftoUpdate) {
+
+ for (let myid of arrnotiftoUpdate) {
+ let rec = await SendNotif.findOne({ _id: myid }).lean();
+ if (rec && rec.status === 0) {
+ paramsObj.usernameDest = rec.dest;
+ paramsObj.extrarec.idStatusToSent = rec._id;
+
+
+ ris = await SendNotif.createNewNotifToSingleUser(req, null, paramsObj, onlysave, typedir, typeid);
+ if (!ris) {
+ console.error('Errore createNewNotifToSingleUser! ', paramsObj.usernameDest, "dest ->", groupDest)
+ }
+ }
+
+ }
+ }
+
+ }
}
}
+
+ return { recnotif: ris, arrris };
} catch (e) {
console.log(e.message);
}
@@ -1179,6 +1257,7 @@ module.exports = {
sendNotificationByCircuit: async function (idapp, usernameOrig, circuitname, cmd, value, telegram, username_action, extrarec) {
const { Circuit } = require('../models/circuit');
+ const { SendNotif } = require('../models/sendnotif');
const circuit = await Circuit.findOne({ idapp, name: circuitname }, { _id: 1, admins: 1, createdBy: 1, path: 1 }).lean();
if (!circuit)
@@ -1195,41 +1274,75 @@ 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;
+
if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REQ) {
- recnotif = await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_REQ_SENT, idapp, extrarec.dest, usernameOrig,
+ // msg al Mittente (o mittenti del 'groupOrig') "Stai inviando X RIS"
+ let res = await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_REQ_SENT, idapp, extrarec.dest, extrarec.groupdest, usernameOrig, groupOrig,
username_action, circuitname, circuit.path, null,
false, '', extrarec);
+
+ if (res) {
+ recnotif = res.recnotif;
+ arrris = res.arrris;
+ }
} else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) {
- await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT_SENT, idapp, extrarec.dest, usernameOrig,
+ // msg ai MITTENTI: "X RIS sono stati accettati da Destinatario"
+ await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT_SENT, idapp, extrarec.dest, extrarec.groupdest, usernameOrig, groupOrig,
username_action, circuitname, circuit.path, null,
false, '', extrarec);
} else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE) {
- await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_REFUSE_SENT, idapp, extrarec.dest, usernameOrig,
+ await this.sendNotifCircuitByUsername(shared_consts.CIRCUITCMD.SENDCOINS_REFUSE_SENT, idapp, extrarec.dest, extrarec.groupdest, usernameOrig, groupOrig,
username_action, circuitname, circuit.path, null,
false, '', extrarec);
}
if (recnotif)
extrarec.notifIdToUpdate = recnotif._id;
+ if (arrris)
+ extrarec.arrnotifIdToUpdate = arrris;
- ris = await this.sendNotifCircuitByUsername(cmd, idapp, usernameOrig, extrarec.dest, username_action, circuitname, circuit.path,
+ let usernametoOrigUse = usernameOrig
+ if (extrarec.groupname) {
+ usernametoOrigUse = ''
+ }
+ ris = await this.sendNotifCircuitByUsername(cmd, idapp, usernametoOrigUse, groupOrig, extrarec.dest, extrarec.groupdest, username_action, circuitname, circuit.path,
null, false, '', extrarec);
+ if (arrris && ris && ris.recnotif) {
+ for (const rec of arrris) {
+ let obj = {
+ 'extrarec.notifIdToUpdate': ris.recnotif._id
+ };
+
+ await SendNotif.findOneAndUpdate({ _id: rec._id }, { $set: obj }, { new: false });
+ }
+ }
+
extrarec.notifIdToUpdate = '';
- if (ris)
+ if (ris.recnotif)
inviato = true;
// ++Todo: Inviare anche agli Admin ?!
} else {
+ const groupOrig = '' //++Todo: extrarec.groupOrig
+
for (const singleadmin of circuit.admins) {
try {
if (singleadmin.username) {
if (usernameOrig === singleadmin.username)
giainviato = true;
- await this.sendNotifCircuitByUsername(cmd, idapp, usernameOrig, singleadmin.username, username_action, circuitname,
+ await this.sendNotifCircuitByUsername(cmd, idapp, usernameOrig, groupOrig, singleadmin.username, '', username_action, circuitname,
circuit.path, circuit, true, '', extrarec);
inviato = true;
}
@@ -1240,15 +1353,15 @@ module.exports = {
if (!giainviato && cmd !== shared_consts.CIRCUITCMD.REQ) {
// SEND TO THE USER DEST THE NOTIFICATION
- ris = await this.sendNotifCircuitByUsername(cmd, idapp, usernameOrig, usernameOrig, username_action, circuitname, circuit.path,
+ ris = await this.sendNotifCircuitByUsername(cmd, idapp, usernameOrig, groupOrig, usernameOrig, '', username_action, circuitname, circuit.path,
null,
false, '', extrarec);
- if (ris)
+ if (ris.recnotif)
inviato = true;
}
}
- return { ris, inviato };
+ return { ris: ris.recnotif, inviato };
} catch (e) {
console.error('sendNotificationByCircuit: ', e);
diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js
index 5743a2e..d8816ec 100755
--- a/src/server/tools/shared_nodejs.js
+++ b/src/server/tools/shared_nodejs.js
@@ -355,6 +355,7 @@ module.exports = {
},
CircuitsNotif: {
+ STATUS_NONE: 0,
STATUS_NEW: 51,
STATUS_ACCEPTED: 53,
STATUS_REFUSED: 54,