Grosse Modifiche Completate !
This commit is contained in:
@@ -171,7 +171,7 @@ ListaIngressoSchema.statics.deleteUserInListaIngresso = async function (idapp, u
|
||||
|
||||
};
|
||||
|
||||
ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, username, invitante_username, lang, addednowreal, nuovo, dateins, note, added) {
|
||||
ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, username, invitante_username, lang, addednowreal, nuovo, dateins, note, added, opt) {
|
||||
const ListaIngresso = this;
|
||||
|
||||
const { User } = require('./user');
|
||||
@@ -214,6 +214,16 @@ ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, user
|
||||
const nome = await User.getNameSurnameByUsername(idapp, username);
|
||||
msgtext = '🔵 ' + nome + ' (' + username + ') ' + tools.gettranslate('ADDED_TOLISTAINGRESSO', lang);
|
||||
await telegrambot.sendMsgTelegram(idapp, username, msgtext, true); // Anche a STAFF
|
||||
|
||||
if (!!opt) {
|
||||
if (!!opt.sendmsgtoinvitante) {
|
||||
if (opt.sendmsgtoinvitante) {
|
||||
const nome = await User.getNameSurnameByUsername(idapp, invitante_username);
|
||||
// msgtext = '🔵 ' + nome + ' (' + username + ') ' + tools.gettranslate('ADDED_TOLISTAINGRESSO', lang);
|
||||
// await telegrambot.sendMsgTelegram(idapp, username, msgtext, true); // Anche a STAFF
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ris;
|
||||
@@ -405,8 +415,7 @@ ListaIngressoSchema.statics.getProssimiInLista = async function (idapp, solonuov
|
||||
|
||||
for (const rec of arrlista) {
|
||||
|
||||
// ++Todo: TOGLIERE!
|
||||
if (false) {
|
||||
if (true) {
|
||||
rec.numNaviEntrato = await Nave.getnumNaviByUsername(idapp, rec.username);
|
||||
|
||||
rec.numinvitati = await ListaIngresso.getnumInvitati(idapp, rec.username);
|
||||
@@ -602,10 +611,6 @@ ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
||||
}
|
||||
}, { new: false });
|
||||
|
||||
|
||||
// Crea Record ListaIngresso
|
||||
// const newrecingr = await ListaIngresso.addUserInListaIngresso(idapp, myuser.username, invitante_username, myuser.lang, false, true, myuser.date_reg, note, added);
|
||||
|
||||
// Assegna l'Invitante agli Invitati ! trova tutti gli invitati che hanno questo username
|
||||
const arrinvitati = await User.find({ idapp, aportador_solidario: myuser.username }, { username: 1 });
|
||||
for (const invitato of arrinvitati) {
|
||||
|
||||
@@ -10,6 +10,8 @@ const { User } = require('./user');
|
||||
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
const printf = require('util').format;
|
||||
|
||||
const shared_consts = require('../tools/shared_nodejs');
|
||||
|
||||
mongoose.Promise = global.Promise;
|
||||
@@ -81,6 +83,7 @@ NaveSchema.statics.getTotInLista = async function (idapp) {
|
||||
NaveSchema.statics.findByIndOrder = function (idapp, ind_order) {
|
||||
const Nave = this;
|
||||
|
||||
|
||||
try {
|
||||
return Nave.findOne({
|
||||
'idapp': idapp,
|
||||
@@ -297,7 +300,6 @@ NaveSchema.statics.findRecByRigaColParent = async function (idapp, riga, col, nu
|
||||
myrigacol.riga = lastrec.riga;
|
||||
myrigacol.col = lastrec.col;
|
||||
} else {
|
||||
//lastrec = await User.findByIndOrder(idapp, 0);
|
||||
lastrec = await Nave.findGeneric({ idapp, riga: 0, col: 0 });
|
||||
break;
|
||||
}
|
||||
@@ -306,7 +308,6 @@ NaveSchema.statics.findRecByRigaColParent = async function (idapp, riga, col, nu
|
||||
}
|
||||
|
||||
if (!lastrec) {
|
||||
// return await User.findByIndOrder(idapp, 0);
|
||||
return await Nave.findGeneric({ idapp, riga: 0, col: 0 });
|
||||
}
|
||||
|
||||
@@ -452,13 +453,13 @@ function getQueryProj(myfilter) {
|
||||
}
|
||||
},
|
||||
{
|
||||
$unwind: "$mylista"
|
||||
$replaceRoot: { newRoot: { $mergeObjects: [ { $arrayElemAt: [ "$mylista", 0 ] }, "$$ROOT" ] } }
|
||||
},
|
||||
{
|
||||
$lookup: {
|
||||
from: "users",
|
||||
as: "user",
|
||||
let: {username: '$mylista.username' },
|
||||
let: {username: '$username' },
|
||||
pipeline: [
|
||||
{
|
||||
$match: {
|
||||
@@ -793,19 +794,22 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
||||
if (!!recnavepersistente.tutor_namesurname)
|
||||
data += '👤 ' + tools.get__('Tutor che affianchèra il Mediatore', lang) + ': "' + recnavepersistente.tutor_namesurname + '"' + tools.ACAPO;
|
||||
|
||||
data += '💬 ' + tools.get__('Giorno di Apertura GIFT CHAT', lang) + ': ' + tools.getstrDateLong(recnavepersistente.date_gift_chat_open, lang) + tools.ACAPO;
|
||||
data += '💬 ' + printf(tools.get__('APERTURA_CHIUSURA_GIFT_CHAT', lang), tools.getstrDateLong(recnavepersistente.date_gift_chat_open, lang), tools.getstrDateLong(recnavepersistente.date_start, lang)) + tools.ACAPO;
|
||||
|
||||
data += '🎁 ' + tools.get__('Giorno in cui Inviare il DONO', lang) + ' : ' + tools.getstrDateLong(recnavepersistente.date_start, lang) + tools.ACAPO;
|
||||
|
||||
// data += '💬 ' + tools.get__('Giorno di Apertura GIFT CHAT', lang) + ': ' + tools.getstrDateLong(recnavepersistente.date_gift_chat_open, lang) + tools.ACAPO;
|
||||
|
||||
// data += '🎁 ' + tools.get__('Giorno in cui Inviare il DONO', lang) + ' : ' + tools.getstrDateLong(recnavepersistente.date_start, lang) + tools.ACAPO;
|
||||
if (!!recnavepersistente.note_bot)
|
||||
data += tools.get__('Note', lang) + ": " + recnavepersistente.note_bot + tools.ACAPO;
|
||||
|
||||
if (recnavepersistente.provvisoria)
|
||||
mystrtemp = tools.get__('TEMPORANEA', lang) + ' ';
|
||||
mystrtemp = '' + tools.get__('TEMPORANEA', lang) + ' ';
|
||||
} else
|
||||
data = "";
|
||||
|
||||
|
||||
mystr = tools.ACAPO + tools.get__('NAVE', lang) + ' ' + '[' + riga + '.' + col + '] ' + mystrtemp + tools.ACAPO + data + tools.ACAPO + mystr;
|
||||
mystr = tools.ACAPO + '⛵️ ' + tools.get__('NAVE', lang) + ' ' + '[' + riga + '.' + col + '] ' + mystrtemp + tools.ACAPO + data + tools.ACAPO + mystr;
|
||||
|
||||
return mystr;
|
||||
} catch (e) {
|
||||
@@ -815,36 +819,6 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
||||
|
||||
};
|
||||
|
||||
// async function Fuochi8Completati(idapp, params) {
|
||||
// // Inviare un msg al Mediatore che può aprire la Chat con gli 8 fuochi
|
||||
// const telegrambot = require('../telegram/telegrambot');
|
||||
//
|
||||
// let text = '\nCompletata NAVE [riga=' + params.riga + ',col=' + params.col + ', ind_order=' + params.ind_order + ']';
|
||||
// console.log(text);
|
||||
// tools.writeNaveLog(text);
|
||||
//
|
||||
// const { User } = require('./user');
|
||||
//
|
||||
// const rec = await User.findByIndOrder(idapp, params.ind_order);
|
||||
//
|
||||
// text = await Nave.getNaveByUser(idapp, params.ind_order, rec.lang, true);
|
||||
//
|
||||
// // Inviare un msg a questi 8 Fuochi, che la loro placca è Pronta !
|
||||
//
|
||||
// if (tools.isAbilitaNave(idapp)) {
|
||||
// // .............
|
||||
// }
|
||||
//
|
||||
// if (false) {
|
||||
// await telegrambot.sendMsgTelegram(idapp, rec.username, text, true);
|
||||
// } else {
|
||||
// await telegrambot.sendMsgTelegramToTheAdmin(idapp, text);
|
||||
// }
|
||||
//
|
||||
// // Inviare la placca a Managers
|
||||
// // await telegrambot.sendMsgTelegramToTheManagers(idapp, txt);
|
||||
// }
|
||||
|
||||
NaveSchema.statics.getArrPosizioniByIndOrder = async function (idapp, ind_order) {
|
||||
const Nave = this;
|
||||
|
||||
@@ -911,7 +885,7 @@ NaveSchema.statics.showListaOrd = async function (idapp) {
|
||||
for (const rec of arrrec) {
|
||||
let recnavepersistente = await NavePersistente.findByRigaColByDonatore(idapp, rec.riga, rec.col, 0);
|
||||
if (!!recnavepersistente) {
|
||||
mystr += '[' + conta + '] [' + rec.riga + '.' + rec.col + '] ' + rec.ind_order + ' ' + rec.name + ' ' + rec.surname + ' (' + tools.getstrDateShort(recnavepersistente.date_start) + ')';
|
||||
mystr += '[' + conta + '] [' + rec.riga + '.' + rec.col + '] ' + rec.ind_order + ' ' + rec.name + ' ' + rec.surname + ' (' + tools.getstrDateShort(recnavepersistente.date_gift_chat_open) + ')';
|
||||
mystr += ' num_tess = ' + rec.num_tess;
|
||||
mystr += '\n';
|
||||
}
|
||||
@@ -1097,7 +1071,7 @@ NaveSchema.statics.addUserFromListaIngresso_IntoNave = async function (init, ida
|
||||
}
|
||||
if ((params.riga === 4 + 3) && (params.col === (8 * 2) + 3)) {
|
||||
// Si ritesse il Fondo AYNI nella Nave 3.3
|
||||
const userFondo = await User.findByIndOrder(idapp, 0);
|
||||
const userFondo = await User.findByIndex(idapp, 0);
|
||||
params.ind_order = userFondo.ind_order;
|
||||
params.id = userFondo._id;
|
||||
params.num_tess = userFondo.num_tess;
|
||||
@@ -1129,6 +1103,8 @@ NaveSchema.statics.generaNave = async function (idapp, mydata) {
|
||||
numpersone: mydata.numpersone,
|
||||
};
|
||||
|
||||
//++Todo: date_gift_chat_open e date_start : Ricalcolarle in Automatico...
|
||||
|
||||
params.primavolta = (params.riga === 1) && (params.col === 1);
|
||||
// params.primavolta = false;
|
||||
|
||||
@@ -1141,7 +1117,7 @@ NaveSchema.statics.generaNave = async function (idapp, mydata) {
|
||||
|
||||
await NavePersistente.addRecordNavePersistenteByParams({ idapp, riga: 0, col: 0, riga1don: 0, col1don: 0 });
|
||||
|
||||
const userFondo = await User.findByIndOrder(idapp, 0);
|
||||
const userFondo = await User.findByIndex(idapp, 0);
|
||||
if (!userFondo || userFondo === undefined) {
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(idapp, 'Devi creare l\'utente FONDO , con ind_order = 0 ! ');
|
||||
}
|
||||
@@ -1270,7 +1246,7 @@ NaveSchema.statics.getNaveByUser = async function (idapp, username, lang, fuoco)
|
||||
if (persistente.provvisoria) {
|
||||
mystr += tools.ACAPO + tools.get__('NAVE', lang) + ' ' + '[' + mypos.riga + '.' + mypos.col + '] - ' + tools.get__('TEMPORANEA', lang) + tools.ACAPO + tools.ACAPO;
|
||||
} else {
|
||||
mystr += await Nave.getNavePos(idapp, mypos.riga, mypos.col, false, ind_order);
|
||||
mystr += await Nave.getNavePos(idapp, mypos.riga, mypos.col, false, pos.ind_order);
|
||||
}
|
||||
}
|
||||
// mystr += await Nave.getPlaccaPerDonatore(idapp, pos.riga, pos.col, false, rec);
|
||||
|
||||
@@ -125,13 +125,13 @@ function getQueryProj(myfilter) {
|
||||
}
|
||||
},
|
||||
{
|
||||
$unwind: "$mylista"
|
||||
$replaceRoot: { newRoot: { $mergeObjects: [ { $arrayElemAt: [ "$mylista", 0 ] }, "$$ROOT" ] } }
|
||||
},
|
||||
{
|
||||
$lookup: {
|
||||
from: "users",
|
||||
as: "user",
|
||||
let: {username: '$mylista.username' },
|
||||
let: {username: '$username' },
|
||||
pipeline: [
|
||||
{
|
||||
$match: {
|
||||
@@ -196,6 +196,7 @@ NavePersistenteSchema.statics.getListaNavi = function (idapp) {
|
||||
col: 1,
|
||||
riga1don: 1,
|
||||
col1don: 1,
|
||||
date_gift_chat_open: 1,
|
||||
date_start: 1,
|
||||
provvisoria: 1,
|
||||
DoniConfermati: 1,
|
||||
@@ -252,6 +253,10 @@ NavePersistenteSchema.statics.getLastRigaCol = async function (idapp) {
|
||||
return NavePersistente.findOne({ idapp }).sort({ _id: -1 });
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.getLastRigaColDefinitiva = async function (idapp) {
|
||||
return NavePersistente.findOne({ idapp, provvisoria: false }).sort({ riga: -1, col: -1 });
|
||||
};
|
||||
|
||||
NavePersistenteSchema.pre('save', async function (next) {
|
||||
if (this.isNew) {
|
||||
const myrec = await NavePersistente.findOne().limit(1).sort({ _id: -1 });
|
||||
|
||||
@@ -405,6 +405,7 @@ UserSchema.statics.getUserShortDataByUsername = async function (idapp, username)
|
||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }],
|
||||
}, {
|
||||
lang: 1,
|
||||
index: 1,
|
||||
ind_order: 1,
|
||||
username: 1,
|
||||
aportador_solidario: 1,
|
||||
@@ -647,17 +648,24 @@ UserSchema.statics.getLastUser = function (idapp) {
|
||||
return User.findOne({
|
||||
idapp,
|
||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }],
|
||||
}).sort({ ind_order: -1 })
|
||||
}).sort({ index: -1 })
|
||||
};
|
||||
|
||||
UserSchema.statics.findByIndOrder = function (idapp, ind_order) {
|
||||
const User = this;
|
||||
|
||||
return User.getRecByIndOrder(idapp, ind_order);
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.findByIndex = function (idapp, index) {
|
||||
const User = this;
|
||||
|
||||
try {
|
||||
// ++Todo: non mettere tutti i campi !!
|
||||
return User.findOne({
|
||||
idapp,
|
||||
ind_order,
|
||||
index,
|
||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }],
|
||||
});
|
||||
} catch (e) {
|
||||
@@ -711,7 +719,7 @@ UserSchema.pre('save', async function (next) {
|
||||
*/
|
||||
|
||||
next();
|
||||
}catch (e) {
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
}
|
||||
});
|
||||
@@ -855,12 +863,9 @@ UserSchema.statics.SetTelegramIdSuccess = async function (idapp, id, teleg_id) {
|
||||
UserSchema.statics.getLangByIndOrder = async function (idapp, ind_order) {
|
||||
const User = this;
|
||||
|
||||
return await User.findOne({ idapp, ind_order }, { lang: 1 })
|
||||
.then((rec) => {
|
||||
return (!!rec) ? rec.lang : '';
|
||||
}).catch((e) => {
|
||||
return 'it';
|
||||
});
|
||||
const rec = await User.getSmallRecByIndOrder(idapp, ind_order);
|
||||
return (!!rec) ? rec.lang : '';
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -921,10 +926,14 @@ UserSchema.statics.getSmallRecByIndOrder = async function (idapp, ind_order) {
|
||||
},
|
||||
{
|
||||
idapp: 1,
|
||||
index: 1,
|
||||
ind_order: 1,
|
||||
old_order: 1,
|
||||
username: 1,
|
||||
name: 1,
|
||||
surname: 1
|
||||
lang: 1,
|
||||
surname: 1,
|
||||
'profile.teleg_id': 1,
|
||||
});
|
||||
|
||||
if (!!rec)
|
||||
@@ -938,6 +947,27 @@ UserSchema.statics.getSmallRecByIndOrder = async function (idapp, ind_order) {
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.getRecByIndOrder = async function (idapp, ind_order) {
|
||||
|
||||
try {
|
||||
const rec = await ListaIngresso.getarray(idapp,
|
||||
{
|
||||
idapp,
|
||||
ind_order,
|
||||
deleted: false,
|
||||
});
|
||||
|
||||
if (!!rec)
|
||||
return rec[0];
|
||||
|
||||
return null;
|
||||
|
||||
} catch (e) {
|
||||
console.error('getRecByIndOrder', e);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
UserSchema.statics.getusersManagers = async function (idapp) {
|
||||
const User = this;
|
||||
@@ -1142,7 +1172,10 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us
|
||||
|
||||
dashboard.arrposizioni = await Nave.getArrPosizioniByUsername(idapp, username);
|
||||
|
||||
const arrrec = await ListaIngresso.getProssimiInLista(idapp, true);
|
||||
let arrrec = [];
|
||||
if (dashboard.arrimbarchi.length > 0) {
|
||||
arrrec = await ListaIngresso.getProssimiInLista(idapp, true);
|
||||
}
|
||||
|
||||
for (let myimbarco of dashboard.arrimbarchi) {
|
||||
if (!!myimbarco.invitante_username)
|
||||
@@ -1158,6 +1191,7 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us
|
||||
mypos._doc.nave_partenza = await NavePersistente.findByRigaColByDonatore(idapp, mypos.riga, mypos.col, 0);
|
||||
}
|
||||
|
||||
|
||||
//for (let indriga = 0; indriga < 10; indriga++) {
|
||||
// dashboard.navi_partenza.push(await Nave.getPrimaNaveByRiga(idapp, indriga));
|
||||
//}
|
||||
@@ -1196,7 +1230,7 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us
|
||||
|
||||
myrec.nave_partenza = await NavePersistente.findByRigaColByDonatore(idapp, myrec.riga, myrec.col, 0);
|
||||
|
||||
arrnew.push(myrec);
|
||||
arrnew.push(myrec);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1212,6 +1246,7 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
UserSchema.statics.fixUsername = async function (idapp, aportador_solidario_ind_order, username) {
|
||||
const User = this;
|
||||
|
||||
@@ -1229,6 +1264,7 @@ UserSchema.statics.fixUsername = async function (idapp, aportador_solidario_ind_
|
||||
|
||||
|
||||
};
|
||||
*/
|
||||
|
||||
UserSchema.statics.findByCellAndNameSurname = function (idapp, cell, name, surname) {
|
||||
const User = this;
|
||||
@@ -1371,7 +1407,7 @@ UserSchema.statics.visuUtentiNonInNavi = async function (idapp) {
|
||||
visualizza = true;
|
||||
|
||||
if (visualizza) {
|
||||
mystr += user.username + ' ' + user.name + ' ' + user.surname + ' [' + user.ind_order + '] [inv=' + user.numinvitati + ']'
|
||||
mystr += user.username + ' ' + user.name + ' ' + user.surname + ' [' + user.index + '] [inv=' + user.numinvitati + ']'
|
||||
trovato = true;
|
||||
}
|
||||
|
||||
@@ -1524,7 +1560,7 @@ UserSchema.statics.getLastUsers = async function (idapp) {
|
||||
name: 1,
|
||||
surname: 1,
|
||||
date_reg: 1,
|
||||
ind_order: 1,
|
||||
index: 1,
|
||||
'profile.nationality': 1,
|
||||
}).sort({ date_reg: -1 }).limit(lastn).then((arr) => {
|
||||
//return JSON.stringify(arr)
|
||||
@@ -1717,26 +1753,10 @@ async function addUtentiInLista(idapp, mode, arrusers) {
|
||||
|
||||
}
|
||||
|
||||
UserSchema.statics.deveRitessersi = async function (idapp, ind_order) {
|
||||
|
||||
const myrec = await User.findOne({
|
||||
'idapp': idapp,
|
||||
'ind_order': ind_order,
|
||||
"profile.vuole_ritessersi": true
|
||||
});
|
||||
|
||||
return (!!myrec)
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.getUsernameByIndOrder = async function (idapp, ind_order) {
|
||||
|
||||
const myrec = await User.findOne({
|
||||
'idapp': idapp,
|
||||
'ind_order': ind_order,
|
||||
}, { username: 1 });
|
||||
|
||||
return (!!myrec) ? myrec.username : ''
|
||||
const myrec = await User.getSmallRecByIndOrder(idapp, ind_order);
|
||||
return (!!myrec) ? myrec.username : '';
|
||||
|
||||
};
|
||||
|
||||
@@ -1755,7 +1775,7 @@ UserSchema.statics.ricalcolaIndex = async function (idapp) {
|
||||
const User = this;
|
||||
|
||||
const arrusers = await User.find({ idapp }).sort({ ind_order: 1 });
|
||||
let index = 1;
|
||||
let index = 0;
|
||||
try {
|
||||
for (const user of arrusers) {
|
||||
let field = {
|
||||
@@ -1766,7 +1786,7 @@ UserSchema.statics.ricalcolaIndex = async function (idapp) {
|
||||
|
||||
const ris = await User.findOneAndUpdate({ _id: user._id }, { $set: field }, { new: false });
|
||||
}
|
||||
}catch (e) {
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
}
|
||||
|
||||
@@ -1799,7 +1819,8 @@ UserSchema.statics.changeInvitante = async function (idapp, username, invitante_
|
||||
// **
|
||||
const rec_ingr = await ListaIngresso.findOne({ idapp, username: username });
|
||||
if (!!rec_ingr) {
|
||||
await ListaIngresso.findByIdAndUpdate(rec_ingr._id, { $set: { invitante_username, ind_order: ind_order_ingr } });
|
||||
// await ListaIngresso.findByIdAndUpdate(rec_ingr._id, { $set: { invitante_username, ind_order: ind_order_ingr } });
|
||||
await ListaIngresso.findByIdAndUpdate(rec_ingr._id, { $set: { invitante_username } });
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user