Modifiche prima di Luglio...

This commit is contained in:
Surya Paolo
2023-08-27 23:55:31 +02:00
parent ba81a33c88
commit ad6b4c2bfa
21 changed files with 1747 additions and 2251 deletions

View File

@@ -418,6 +418,9 @@ AccountSchema.statics.getUserAccounts = async function (idapp, username) {
AccountSchema.statics.getGroupAccounts = async function (idapp, groupname) {
if (!groupname) {
return [];
}
try {
let aggr1 = [
{

View File

@@ -658,7 +658,7 @@ CircuitSchema.statics.sendCoins = async function (onlycheck, idapp, usernameOrig
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_FIDO', usernameOrig);
}
if (accountdestTable.saldo + myqty > accountorigTable.qta_maxConcessa) {
if (accountdestTable.saldo + myqty > accountdestTable.qta_maxConcessa) {
ris.cansend = false;
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_QTAMAX', extrarec.dest);
}
@@ -697,7 +697,8 @@ CircuitSchema.statics.sendCoins = async function (onlycheck, idapp, usernameOrig
let dest = (extrarec.dest ? extrarec.dest : '') + (extrarec.groupdest ? extrarec.groupdest : '') + (extrarec.contoComDest ? extrarec.contoComDest : '');
ris.result = true;
let msg = 'Inviate Monete da ' + orig + ' a ' + dest + ' ' + myqty + ' ' + circuittable.symbol + ' [causale: ' + extrarec.causal + `] [Saldo ${orig}: ` + extrarec.saldoOrig + ' ' + circuittable.symbol + '] ' + ` [Saldo ${dest}: ` + extrarec.saldoDest + ' ' + circuittable.symbol + ']';
let msg = '[<b>' + circuittable.name + '</b>]: Inviate Monete da ' + orig + ' a ' + dest + ' ' + myqty + ' ' + circuittable.symbol + ' [causale: ' + extrarec.causal +
`]\nSaldi:\n${orig}: ` + extrarec.saldoOrig + ' ' + circuittable.symbol + '] ' + `\n${dest}: ` + extrarec.saldoDest + ' ' + circuittable.symbol + ']';
console.log(msg);
ris.useraccounts = await Account.getUserAccounts(idapp, usernameOrig);
@@ -875,6 +876,19 @@ CircuitSchema.statics.AbilitaTuttiCircuiti = async function (idapp) {
return ris;
};
CircuitSchema.statics.AzzeraRegolamentiTuttiCircuiti = async function (idapp) {
ris = await Circuit.updateMany({ idapp },
{
$set:
{
regulation: '',
}
});
return ris;
};
// Imposta a tutti i Conti Personali, i seguenti minimi e massimi
CircuitSchema.statics.SetDefMinMaxPersonali = async function (idapp, valmin, valmax, circuitId) {
@@ -978,12 +992,12 @@ CircuitSchema.statics.getListAdmins = async function (idapp, circuitname) {
let mystr = '';
if (arr) {
for (const admin of arr.admins) {
for (const admin of arr.admins) {
mystr += await tools.getAhref(admin.username, await tools.getLinkUserTelegram(idapp, admin.username)) + ', ';
}
}
return {str: mystr, num: arr ? arr.admins.length : 0};
return { str: mystr, num: arr ? arr.admins.length : 0 };
};
@@ -998,7 +1012,7 @@ CircuitSchema.statics.isAdminCircuit = async function (idapp, circuitname, usern
}, { admins: 1 }).lean();
if (arr) {
for (const admin of arr.admins) {
for (const admin of arr.admins) {
if (admin.username === username)
return true;
}
@@ -1015,11 +1029,26 @@ CircuitSchema.statics.getListCircuitsByUsername = async function (idapp, usernam
const myuser = await User.getUserByUsername(idapp, username);
const useraccounts = await Account.getUserAccounts(idapp, username);
const groupsaccounts = await Account.getGroupAccounts(idapp, groupname);
for (let account of useraccounts) {
if (myuser.profile.mycircuits.find((rec) => (rec.circuitname === account.circuit.name))) {
mystr += '\n👉🏻 ' + account.circuit.name + '\n';
mystr += '[Saldo: ' + account.saldo + ' RIS, ';
if (account.groupname === '') {
mystr += '\n👉🏻 ' + account.circuit.name + '\n';
mystr += ' [Saldo: ' + account.saldo + ' RIS, ';
mystr += ' Fido: ' + account.fidoConcesso + ' RIS, ';
mystr += ' Transato: ' + account.totTransato + ' RIS]';
}
}
}
for (let account of groupsaccounts) {
if (myuser.profile.mycircuits.find((rec) => (rec.circuitname === account.circuit.name))) {
mystr += '\n GRUPPO: 👉🏻 <b>' + account.groupname + '</b> in ' + account.circuit.name + '\n';
mystr += ' [Saldo: ' + account.saldo + ' RIS, ';
mystr += ' Fido: ' + account.fidoConcesso + ' RIS, ';
mystr += ' Transato: ' + account.totTransato + ' RIS]';
}

View File

@@ -98,6 +98,9 @@ const sendNotifSchema = new Schema({
},
textaddTelegram: {
type: String,
},
linkaddTelegram: {
type: String,
}
});
@@ -197,7 +200,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
recnotif.openUrl = shared_consts.getDirectoryByTable(shared_consts.TABLES_MYHOSPS, true) + myidrec;
tag = 'newhosp';
}
recnotif.textaddTelegram = 'Vedi annuncio';
recnotif.linkaddTelegram = 'Vedi annuncio';
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_EVENTS) {
recnotif.openUrl = shared_consts.getDirectoryByTable(shared_consts.TABLES_MYBACHECAS, true) + myidrec;
tag = 'newevent';
@@ -217,7 +220,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
tag = 'attend';
recnotif.openUrl = shared_consts.getDirectoryByTable(recnotif.paramsObj.recObjCreator.table, true) + recnotif.paramsObj.recObjCreator.id;
recnotif.textaddTelegram = 'Vedi post';
recnotif.linkaddTelegram = 'Vedi post';
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_FRIENDS) {
@@ -332,6 +335,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
let username_action = '';
let username_mittente = '';
let circuitname = '';
let numuserincircuit = 0;
try {
username_action = recnotif.paramsObj.username_action
username_mittente = recnotif.paramsObj.sender ? recnotif.paramsObj.sender : username_action
@@ -341,9 +345,13 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
qty = recnotif.paramsObj.extrarec && recnotif.paramsObj.extrarec.qty ? recnotif.paramsObj.extrarec.qty.toString() : '';
symbol = recnotif.paramsObj.extrarec ? recnotif.paramsObj.extrarec.symbol : '';
circuitname = recnotif.paramsObj.circuitnameDest;
numuserincircuit = await User.countUsersInCircuit(recnotif.idapp, circuitname);
} catch (e) {
}
recnotif.textaddTelegram = '';
if (groupOComdest) {
destinatario += ' (' + username_mittente + ')'
}
@@ -408,18 +416,19 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
tag = 'refcircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REQUEST_TO_ENTER) {
aportador_solidario = await User.getAportadorSolidarioByUsername(idapp, sender);
aportador_solidario = await User.getAportadorSolidarioByUsername(recnotif.idapp, sender);
if (recnotif.extrarec.groupname) {
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER_WITH_GROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.singleadmin_username);
numuserincircuit, recnotif.paramsObj.singleadmin_username);
} else {
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', sender, '<strong>' + recnotif.paramsObj.circuitnameDest + '</strong>', aportador_solidario);
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', sender, '<strong>' + recnotif.paramsObj.circuitnameDest + '</strong>', numuserincircuit, aportador_solidario);
const myadmins = await Circuit.getListAdmins(recnotif.idapp, recnotif.paramsObj.circuitnameDest);
newdescr += '\n' + i18n.__('CIRCUIT_ADMINS', myadmins.num, myadmins.str);
newdescr += '\n' + i18n.__('CIRCUIT_WHERE_IS_PRESENT', await Circuit.getListCircuitsByUsername(recnotif.idapp, sender, recnotif.extrarec.groupname));
}
const myadmins = await Circuit.getListAdmins(recnotif.idapp, recnotif.paramsObj.circuitnameDest);
recnotif.textaddTelegram += '\n' + i18n.__('CIRCUIT_ADMINS', myadmins.num, myadmins.str);
recnotif.textaddTelegram += '\n' + i18n.__('CIRCUIT_WHERE_IS_PRESENT', await Circuit.getListCircuitsByUsername(recnotif.idapp, sender, recnotif.extrarec.groupname));
tag = 'reqcircuits';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_DELETE_USER) {
@@ -530,7 +539,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us
tag = 'favorite';
recnotif.openUrl = shared_consts.getDirectoryByTable(recnotif.paramsObj.recObjCreator.table, true) + recnotif.paramsObj.recObjCreator.id;
recnotif.textaddTelegram = 'Vedi post';
recnotif.linkaddTelegram = 'Vedi post';
}
recnotif.tag = recnotif.tag ? recnotif.tag : tag;

View File

@@ -1903,12 +1903,12 @@ UserSchema.statics.removeFromMyGroups = async function (
// Rimuovo il Circuito
UserSchema.statics.removeFromCircuits = async function (idapp, username, circuitname) {
// Elimina la richiesta (se esiste):
update = { $pull: { req_users: { username: { $in: [username] } } } };
await Circuit.updateOne({ idapp, name: circuitname }, update);
return await User.updateOne({ idapp, username },
// Elimina la richiesta (se esiste):
update = { $pull: { req_users: { username: { $in: [username] } } } };
await Circuit.updateOne({ idapp, name: circuitname }, update);
return await User.updateOne({ idapp, username },
{ $pull: { 'profile.mycircuits': { circuitname: { $in: [circuitname] } } } });
};
@@ -2670,6 +2670,9 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn
});
if (value) {
ris = await this.addCircuitToUser(idapp, usernameOrig, circuitname, false, groupname, '');
if (!foundIfAlreadyAskCircuit) {
update = {
$push: {
@@ -2741,6 +2744,10 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn
} else if (cmd === shared_consts.CIRCUITCMD.REMOVE_FROM_MYLIST) {
if (groupname) {
// Elimina la richiesta:
update = { $pull: { req_groups: { groupname: { $in: [groupname] } } } };
await Circuit.updateOne({ idapp, name: circuitname }, update);
outres.result = await MyGroup.removeCircuitFromGroup(idapp, groupname, circuitname); // Rimuovo l'Amicizia da me
} else {
@@ -3426,7 +3433,7 @@ UserSchema.statics.getNameSurnameById = async function (idapp, userId) {
UserSchema.statics.getusersManagers = async function (idapp) {
const User = this;
// Int32 mongodb 6.0
return await User.find({ idapp, 'profile.manage_telegram': true , perm: { $bitsAnySet: 0b010 } },
return await User.find({ idapp, 'profile.manage_telegram': true, perm: { $bitsAnySet: 0b010 } },
{ username: 1, 'profile.teleg_id': 1, perm: 1 }).then((arrrec) => {
return (!!arrrec) ? arrrec : null;
}).catch((e) => {
@@ -3439,7 +3446,7 @@ UserSchema.statics.getusersAdmin = async function (idapp) {
// Int32 mongodb 6.0
return await User.find({ idapp, 'profile.manage_telegram': true, perm: { $bitsAnySet: 0b001 } },
return await User.find({ idapp, 'profile.manage_telegram': true, perm: { $bitsAnySet: 0b001 } },
{ username: 1, 'profile.teleg_id': 1, perm: 1 }).then((arrrec) => {
return (!!arrrec) ? arrrec : null;
}).catch((e) => {