Modifiche ultimate: Grafica Navi , Prenota un Altro Viaggio.
This commit is contained in:
@@ -9,23 +9,19 @@ X - Aggiornare il testo sulla Placca (Data Inizio e Data Fine Doni)
|
|||||||
|
|
||||||
|
|
||||||
// ++Todo: SISTEMARE:
|
// ++Todo: SISTEMARE:
|
||||||
|
X - Devo comparire come mio invitato se aggiungo un nuovo Viaggio.
|
||||||
|
X - Fare la lista delle Navi (in alto alla Lavagna) con il loro tragitto.
|
||||||
|
X- Nel campo note, metterci il Sogno
|
||||||
|
X - Se nave Temporanea, mettere Info.
|
||||||
|
X- Mettere flag se si vuole spostare l'Utente oppure Aggiungerlo...
|
||||||
|
|
||||||
|
- Mettere Sfondo immagine su ogni nave
|
||||||
|
- Mettere il tragitto anche sul BOT.
|
||||||
|
|
||||||
|
|
||||||
// ++Todo: TOGLIERE!
|
|
||||||
|
|
||||||
x- AGGIONARE AMBIENTE DI TEST
|
x- AGGIONARE AMBIENTE DI TEST
|
||||||
- ESEGUIRE LA CONVERSIONE 1 E 2 !
|
- ESEGUIRE LA CONVERSIONE 1 E 2 !
|
||||||
|
|
||||||
- CHECK getProssimiInLista
|
|
||||||
X - CONTROLLARE arrIdTelegramUsers
|
|
||||||
|
|
||||||
- TESTARE SOSTITUISCI UTENTE DA NAVE
|
|
||||||
|
|
||||||
- TESTARE AGGIUNGI VIAGGIO
|
|
||||||
|
|
||||||
x- Accorpare tutti i sotto account, in 1 unico !
|
|
||||||
x - Nel campo note, metterci l'username vecchio.
|
|
||||||
|
|
||||||
x - Sistemare le navi con num_tess === 4 : indorder=0 e 46 :
|
x - Sistemare le navi con num_tess === 4 : indorder=0 e 46 :
|
||||||
Prendere quelli del num_tess === 3 e SOSTITUISCI ind_order del num_Tess = 4 con ind_order di num_tess = 3
|
Prendere quelli del num_tess === 3 e SOSTITUISCI ind_order del num_Tess = 4 con ind_order di num_tess = 3
|
||||||
@@ -41,7 +37,6 @@ x - Sistemare le navi con num_tess === 4 : indorder=0 e 46 :
|
|||||||
|
|
||||||
|
|
||||||
SOSTITUISCI:
|
SOSTITUISCI:
|
||||||
- Mettere flag se si vuole spostare l'Utente oppure Aggiungerlo...
|
|
||||||
|
|
||||||
|
|
||||||
- Sistemare che in Edit Pagina, se è troppo grande, va oltre l'altezza della finestra.
|
- Sistemare che in Edit Pagina, se è troppo grande, va oltre l'altezza della finestra.
|
||||||
@@ -55,7 +50,5 @@ SOSTITUISCI:
|
|||||||
|
|
||||||
|
|
||||||
TRADURRE:
|
TRADURRE:
|
||||||
'Giorno in cui Inviare il DONO': 'Hai 4 giorni di tempo per inviare il tuo dono. Giorno di Chiusura:',
|
|
||||||
|
|
||||||
|
|
||||||
- Mettere le bandierine nella lista Zoom (su AYNI BOT).
|
- Mettere le bandierine nella lista Zoom (su AYNI BOT).
|
||||||
|
|||||||
@@ -171,6 +171,12 @@ ListaIngressoSchema.statics.deleteUserInListaIngresso = async function (idapp, u
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ListaIngressoSchema.statics.getNumDaImbarcare = async function (idapp) {
|
||||||
|
const ListaIngresso = this;
|
||||||
|
|
||||||
|
return await ListaIngresso.count({ idapp, added: false, deleted: false })
|
||||||
|
|
||||||
|
};
|
||||||
ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, username, invitante_username, lang, addednowreal, nuovo, dateins, note, added, opt) {
|
ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, username, invitante_username, lang, addednowreal, nuovo, dateins, note, added, opt) {
|
||||||
const ListaIngresso = this;
|
const ListaIngresso = this;
|
||||||
|
|
||||||
@@ -212,8 +218,19 @@ ListaIngressoSchema.statics.addUserInListaIngresso = async function (idapp, user
|
|||||||
if (addednowreal) {
|
if (addednowreal) {
|
||||||
if (!!ris) {
|
if (!!ris) {
|
||||||
const nome = await User.getNameSurnameByUsername(idapp, username);
|
const nome = await User.getNameSurnameByUsername(idapp, username);
|
||||||
msgtext = '🔵 ' + nome + ' (' + username + ') ' + tools.gettranslate('ADDED_TOLISTAINGRESSO', lang);
|
const numimbarcare = await ListaIngresso.getNumDaImbarcare(idapp);
|
||||||
await telegrambot.sendMsgTelegram(idapp, username, msgtext, true); // Anche a STAFF
|
let msgtext = '🛳 ';
|
||||||
|
msgtext += nome + ' (' + username + ') ' + tools.gettranslate('ADDED_TOLISTAINGRESSO', lang);
|
||||||
|
await telegrambot.sendMsgTelegram(idapp, username, msgtext, false);
|
||||||
|
|
||||||
|
msgtext = '🛳 ';
|
||||||
|
if (nuovo) {
|
||||||
|
msgtext += '🌠 ';
|
||||||
|
}
|
||||||
|
|
||||||
|
const msgadd = msgtext + ' [' + numimbarcare + '] Imbarcare ' + nome + ' (' + username + ') ';
|
||||||
|
|
||||||
|
await telegrambot.sendMsgTelegramToTheManagers(idapp, msgadd, false); // Anche a STAFF
|
||||||
|
|
||||||
if (!!opt) {
|
if (!!opt) {
|
||||||
if (!!opt.sendmsgtoinvitante) {
|
if (!!opt.sendmsgtoinvitante) {
|
||||||
@@ -458,6 +475,22 @@ ListaIngressoSchema.statics.getProssimiInLista = async function (idapp, solonuov
|
|||||||
return arrrec;
|
return arrrec;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ListaIngressoSchema.statics.eliminaListeIngressoNascoste = async function (idapp) {
|
||||||
|
const ListaIngresso = this;
|
||||||
|
|
||||||
|
const { User } = require('./user');
|
||||||
|
|
||||||
|
const arrIngr = await ListaIngresso.find({ idapp, deleted: true });
|
||||||
|
|
||||||
|
for (const ingr of arrIngr) {
|
||||||
|
const user = await User.findOne({ idapp, old_order: ingr.ind_order });
|
||||||
|
if (!user) {
|
||||||
|
await ListaIngresso.deleteOne({ _id: ingr._id })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
||||||
const ListaIngresso = this;
|
const ListaIngresso = this;
|
||||||
|
|
||||||
@@ -501,6 +534,7 @@ ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
|||||||
.then((mynave) => {
|
.then((mynave) => {
|
||||||
if (!!mynave) {
|
if (!!mynave) {
|
||||||
ingr.date_added = mynave.created;
|
ingr.date_added = mynave.created;
|
||||||
|
ingr.deleted = false;
|
||||||
ingr.added = true;
|
ingr.added = true;
|
||||||
}
|
}
|
||||||
return !!mynave;
|
return !!mynave;
|
||||||
@@ -580,7 +614,7 @@ ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
|||||||
for (const myuser of arrIdTelegramUsers) {
|
for (const myuser of arrIdTelegramUsers) {
|
||||||
|
|
||||||
// Crea 1 record listaingresso per ogni record aggiuntivo ! escludendo il primo!
|
// Crea 1 record listaingresso per ogni record aggiuntivo ! escludendo il primo!
|
||||||
if (teleg_id !== myuser.profile.teleg_id) {
|
if (teleg_id !== myuser.profile.teleg_id && myuser.old_order > 0) {
|
||||||
index = 0;
|
index = 0;
|
||||||
teleg_id = myuser.profile.teleg_id;
|
teleg_id = myuser.profile.teleg_id;
|
||||||
username = myuser.username;
|
username = myuser.username;
|
||||||
@@ -605,7 +639,7 @@ ListaIngressoSchema.statics.creaTessituraeConv = async function (idapp) {
|
|||||||
}
|
}
|
||||||
}, { new: false });
|
}, { new: false });
|
||||||
|
|
||||||
await Nave.updateMany({idapp, ind_order}, {
|
await Nave.updateMany({ idapp, ind_order }, {
|
||||||
$set: {
|
$set: {
|
||||||
note: findlistaingresso.username,
|
note: findlistaingresso.username,
|
||||||
}
|
}
|
||||||
@@ -666,17 +700,21 @@ ListaIngressoSchema.statics.getarray = async function (idapp, filtri, myobjField
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
ListaIngressoSchema.statics.getInvitati = async function (idapp, username, myobjField) {
|
ListaIngressoSchema.statics.getInvitati = async function (idapp, username, includemyself, myobjField) {
|
||||||
const ListaIngresso = this;
|
const ListaIngresso = this;
|
||||||
|
|
||||||
return ListaIngresso.getarray(idapp,
|
let myq = {
|
||||||
{
|
idapp,
|
||||||
idapp,
|
deleted: false,
|
||||||
deleted: false,
|
invitante_username: username,
|
||||||
invitante_username: username,
|
};
|
||||||
username: { $ne: username },
|
|
||||||
},
|
if (!includemyself) {
|
||||||
myobjField);
|
myq = { ...myq, username: { $ne: username } }
|
||||||
|
}
|
||||||
|
|
||||||
|
return ListaIngresso.getarray(idapp, myq, myobjField);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -708,7 +746,7 @@ ListaIngressoSchema.statics.getnumInvitati = async function (idapp, username) {
|
|||||||
idapp,
|
idapp,
|
||||||
invitante_username: username,
|
invitante_username: username,
|
||||||
deleted: false,
|
deleted: false,
|
||||||
username: { $ne: username },
|
// username: { $ne: username },
|
||||||
}, { username: 1 });
|
}, { username: 1 });
|
||||||
|
|
||||||
const { User } = require('./user');
|
const { User } = require('./user');
|
||||||
@@ -720,10 +758,10 @@ ListaIngressoSchema.statics.getnumInvitati = async function (idapp, username) {
|
|||||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }]
|
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }]
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const inv of arrinv) {
|
/*for (const inv of arrinv) {
|
||||||
if (!arrlistainv.find((rec) => rec.username === inv.username))
|
if (!arrlistainv.find((rec) => rec.username === inv.username))
|
||||||
arrlistainv.push(inv);
|
arrlistainv.push(inv);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (!!arrlistainv)
|
if (!!arrlistainv)
|
||||||
return arrlistainv.length;
|
return arrlistainv.length;
|
||||||
@@ -745,7 +783,7 @@ ListaIngressoSchema.statics.getnumInvitatiAttivi = async function (idapp, userna
|
|||||||
let myquery = getQueryProj({
|
let myquery = getQueryProj({
|
||||||
idapp,
|
idapp,
|
||||||
invitante_username: username,
|
invitante_username: username,
|
||||||
username: { $ne: username },
|
// username: { $ne: username },
|
||||||
deleted: false,
|
deleted: false,
|
||||||
},
|
},
|
||||||
{ username: 1, ind_order: 1 },
|
{ username: 1, ind_order: 1 },
|
||||||
@@ -764,10 +802,11 @@ ListaIngressoSchema.statics.getnumInvitatiAttivi = async function (idapp, userna
|
|||||||
$and: User.getQueryQualified()
|
$and: User.getQueryQualified()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
for (const inv of arrinv) {
|
for (const inv of arrinv) {
|
||||||
if (!arrlistainv.find((rec) => rec.username === inv.username))
|
if (!arrlistainv.find((rec) => rec.username === inv.username))
|
||||||
arrlistainv.push(inv);
|
arrlistainv.push(inv);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (!!arrlistainv)
|
if (!!arrlistainv)
|
||||||
return arrlistainv.length;
|
return arrlistainv.length;
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ NaveSchema.statics.findById = function (idapp, id) {
|
|||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}catch (e) {
|
} catch (e) {
|
||||||
console.error(e.message);
|
console.error(e.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -453,13 +453,13 @@ function getQueryProj(myfilter) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
$replaceRoot: { newRoot: { $mergeObjects: [ { $arrayElemAt: [ "$mylista", 0 ] }, "$$ROOT" ] } }
|
$replaceRoot: { newRoot: { $mergeObjects: [{ $arrayElemAt: ["$mylista", 0] }, "$$ROOT"] } }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
$lookup: {
|
$lookup: {
|
||||||
from: "users",
|
from: "users",
|
||||||
as: "user",
|
as: "user",
|
||||||
let: {username: '$username' },
|
let: { username: '$username' },
|
||||||
pipeline: [
|
pipeline: [
|
||||||
{
|
{
|
||||||
$match: {
|
$match: {
|
||||||
@@ -723,13 +723,22 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
|||||||
let recnavepersistente = await NavePersistente.findByRigaCol(idapp, riga, col, 0);
|
let recnavepersistente = await NavePersistente.findByRigaCol(idapp, riga, col, 0);
|
||||||
|
|
||||||
|
|
||||||
mystr = '🌈' + tools.get__('SOGNATORE', lang) + ': ';
|
mystr = '7️⃣° 🌈 <strong>' + tools.get__('SOGNATORE', lang) + ': ';
|
||||||
for (let indsogn = 0; indsogn < recsognatori.length; indsogn++) {
|
mystr += '' + await getusertextbyrec(recsognatori[0], '', '', riga, col, '') + '</strong>' + tools.ACAPO;
|
||||||
mystr += 'A' + (3 - indsogn) + await getusertextbyrec(recsognatori[indsogn], '', '', riga, col, '') + tools.ACAPO;
|
for (let indsogn = 1; indsogn < recsognatori.length; indsogn++) {
|
||||||
|
if (indsogn === 1)
|
||||||
|
mystr += '6️⃣°';
|
||||||
|
else
|
||||||
|
mystr += '5️⃣°';
|
||||||
|
|
||||||
|
mystr += ' ' + tools.get__('INTERMEDIO', lang) + ': ';
|
||||||
|
|
||||||
|
mystr += await getusertextbyrec(recsognatori[indsogn], '', '', riga, col, '') + tools.ACAPO;
|
||||||
}
|
}
|
||||||
|
|
||||||
mystr += tools.ACAPO + '🌀 ' + tools.get__('MEDIATORE', lang) + ':' + await getusertextbyrec(recmediatore, '', '', riga, col, '') + tools.ACAPO + tools.ACAPO;
|
mystr += tools.ACAPO + '4️⃣° 🌀 ' + tools.get__('MEDIATORE', lang) + ':' + await getusertextbyrec(recmediatore, '', '', riga, col, '') + tools.ACAPO + tools.ACAPO;
|
||||||
|
|
||||||
|
mystr += '3️⃣° ' + tools.get__('INTERMEDIO', lang) +':' + tools.ACAPO;
|
||||||
for (let indterra = 1; indterra <= 2; indterra++) {
|
for (let indterra = 1; indterra <= 2; indterra++) {
|
||||||
miacol = calcval(riga, col, 2) + (indterra);
|
miacol = calcval(riga, col, 2) + (indterra);
|
||||||
miariga = riga + 1;
|
miariga = riga + 1;
|
||||||
@@ -739,6 +748,7 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
|||||||
|
|
||||||
mystr += tools.ACAPO;
|
mystr += tools.ACAPO;
|
||||||
|
|
||||||
|
mystr += '2️⃣° ' + tools.get__('INTERMEDIO', lang) + ':' + tools.ACAPO;
|
||||||
for (let indaria = 1; indaria <= 4; indaria++) {
|
for (let indaria = 1; indaria <= 4; indaria++) {
|
||||||
miacol = calcval(riga, col, 4) + (indaria);
|
miacol = calcval(riga, col, 4) + (indaria);
|
||||||
miariga = riga + 2;
|
miariga = riga + 2;
|
||||||
@@ -750,7 +760,7 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
|||||||
|
|
||||||
let primofuoco = null;
|
let primofuoco = null;
|
||||||
|
|
||||||
mystr += '🎁 ' + tools.get__('DONATORI', lang) + ':' + tools.ACAPO;
|
mystr += '1️⃣° 🎁 ' + tools.get__('DONATORI', lang) + ':' + tools.ACAPO;
|
||||||
let donitotali = 0;
|
let donitotali = 0;
|
||||||
let donifatti = 0;
|
let donifatti = 0;
|
||||||
|
|
||||||
@@ -794,7 +804,7 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord, in
|
|||||||
if (!!recnavepersistente.tutor_namesurname)
|
if (!!recnavepersistente.tutor_namesurname)
|
||||||
data += '👤 ' + tools.get__('Tutor che affianchèra il Mediatore', lang) + ': "' + recnavepersistente.tutor_namesurname + '"' + tools.ACAPO;
|
data += '👤 ' + tools.get__('Tutor che affianchèra il Mediatore', lang) + ': "' + recnavepersistente.tutor_namesurname + '"' + 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 += '💬 ' + 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 di Apertura GIFT CHAT', lang) + ': ' + tools.getstrDateLong(recnavepersistente.date_gift_chat_open, lang) + tools.ACAPO;
|
// data += '💬 ' + tools.get__('Giorno di Apertura GIFT CHAT', lang) + ': ' + tools.getstrDateLong(recnavepersistente.date_gift_chat_open, lang) + tools.ACAPO;
|
||||||
@@ -1398,7 +1408,7 @@ NaveSchema.statics.getnumNaviByUsername = async function (idapp, username) {
|
|||||||
// Get array di ind_order
|
// Get array di ind_order
|
||||||
const arrind_order = await ListaIngresso.find({ idapp, username }).distinct('ind_order');
|
const arrind_order = await ListaIngresso.find({ idapp, username }).distinct('ind_order');
|
||||||
|
|
||||||
const arrrec = await Nave.find({ idapp, ind_order: arrind_order, num_tess: { $mod: [ 2 , 1] } }, {
|
const arrrec = await Nave.find({ idapp, ind_order: arrind_order, num_tess: { $mod: [2, 1] } }, {
|
||||||
riga: 1,
|
riga: 1,
|
||||||
col: 1,
|
col: 1,
|
||||||
ind_order: 1
|
ind_order: 1
|
||||||
@@ -1409,7 +1419,7 @@ NaveSchema.statics.getnumNaviByUsername = async function (idapp, username) {
|
|||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}catch (e) {
|
} catch (e) {
|
||||||
console.error(e.message);
|
console.error(e.message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1435,7 +1445,6 @@ NaveSchema.statics.getSognatoreByRigaColMediatore = async function (idapp, navem
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const Nave = mongoose.model('Nave', NaveSchema);
|
const Nave = mongoose.model('Nave', NaveSchema);
|
||||||
|
|
||||||
module.exports = { Nave };
|
module.exports = { Nave };
|
||||||
|
|||||||
@@ -445,12 +445,12 @@ UserSchema.statics.getUserShortDataByUsername = async function (idapp, username)
|
|||||||
return myrec
|
return myrec
|
||||||
};
|
};
|
||||||
|
|
||||||
UserSchema.statics.getDownlineByUsername = async function (idapp, username) {
|
UserSchema.statics.getDownlineByUsername = async function (idapp, username, includemyself) {
|
||||||
|
|
||||||
if (username === undefined)
|
if (username === undefined)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
const arrrec = await ListaIngresso.getInvitati(idapp, username,
|
const arrrec = await ListaIngresso.getInvitati(idapp, username, includemyself,
|
||||||
{
|
{
|
||||||
index: 1,
|
index: 1,
|
||||||
lang: 1,
|
lang: 1,
|
||||||
@@ -474,12 +474,18 @@ UserSchema.statics.getDownlineByUsername = async function (idapp, username) {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// Ottieni gli invitati che ancora non hanno un'imbarco
|
let myq = {
|
||||||
const arrinv = await User.find({
|
|
||||||
idapp,
|
idapp,
|
||||||
aportador_solidario: username,
|
aportador_solidario: username,
|
||||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }]
|
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }]
|
||||||
});
|
};
|
||||||
|
|
||||||
|
if (!includemyself) {
|
||||||
|
myq = { ...myq, username: {$ne: username} }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ottieni gli invitati che ancora non hanno un'imbarco
|
||||||
|
const arrinv = await User.find(myq);
|
||||||
|
|
||||||
for (const inv of arrinv) {
|
for (const inv of arrinv) {
|
||||||
if (!arrrec.find((rec) => rec.username === inv.username))
|
if (!arrrec.find((rec) => rec.username === inv.username))
|
||||||
@@ -1153,16 +1159,16 @@ UserSchema.statics.getDashboard = async function (idapp, aportador_solidario, us
|
|||||||
if (!!arrap)
|
if (!!arrap)
|
||||||
dashboard.numpeople_aportador = arrap.length;
|
dashboard.numpeople_aportador = arrap.length;
|
||||||
|
|
||||||
dashboard.downline = await User.getDownlineByUsername(idapp, username);
|
dashboard.downline = await User.getDownlineByUsername(idapp, username, true);
|
||||||
// dashboard.downnotreg = await ExtraList.getDownlineNotRegisteredByNameSurname(idapp, dashboard.myself.name + ' ' + dashboard.myself.surname);
|
// dashboard.downnotreg = await ExtraList.getDownlineNotRegisteredByNameSurname(idapp, dashboard.myself.name + ' ' + dashboard.myself.surname);
|
||||||
|
|
||||||
dashboard.downbyuser = {};
|
dashboard.downbyuser = {};
|
||||||
|
|
||||||
for (const down of dashboard.downline) {
|
for (const down of dashboard.downline) {
|
||||||
dashboard.downbyuser[down.username] = await User.getDownlineByUsername(idapp, down.username);
|
dashboard.downbyuser[down.username] = await User.getDownlineByUsername(idapp, down.username, false);
|
||||||
|
|
||||||
for (const down2 of dashboard.downbyuser[down.username]) {
|
for (const down2 of dashboard.downbyuser[down.username]) {
|
||||||
dashboard.downbyuser[down2.username] = await User.getDownlineByUsername(idapp, down2.username);
|
dashboard.downbyuser[down2.username] = await User.getDownlineByUsername(idapp, down2.username, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -543,6 +543,8 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
|||||||
|
|
||||||
username_da_sostituire = mydata.data.username_da_sostituire;
|
username_da_sostituire = mydata.data.username_da_sostituire;
|
||||||
|
|
||||||
|
let myuservecchio = await User.findOne({ idapp, username: username_da_sostituire });
|
||||||
|
|
||||||
mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
|
mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
|
||||||
if (!!mianavedasost) {
|
if (!!mianavedasost) {
|
||||||
|
|
||||||
@@ -574,8 +576,9 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!!myuser) {
|
if (!!myusernuovo) {
|
||||||
if (!!mianavedasost && mianavedasost.ind_order >= 0) {
|
if (!!mianavedasost && mianavedasost.ind_order >= 0) {
|
||||||
|
|
||||||
// Metti campo 'delete': true su ListaIngresso
|
// Metti campo 'delete': true su ListaIngresso
|
||||||
olduseringresso = await ListaIngresso.findOne({ idapp, ind_order: mianavedasost.ind_order });
|
olduseringresso = await ListaIngresso.findOne({ idapp, ind_order: mianavedasost.ind_order });
|
||||||
if (!!olduseringresso) {
|
if (!!olduseringresso) {
|
||||||
@@ -587,14 +590,14 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!!myuser) {
|
if (!!myuservecchio) {
|
||||||
if (mydata.data.deleteUser && !!mianavedasost && mianavedasost.ind_order > 0) {
|
if (mydata.data.deleteUser && !!mianavedasost && mianavedasost.ind_order > 0) {
|
||||||
// Metti Deleted allo User
|
// Metti Deleted allo User
|
||||||
fieldsvalue = {
|
fieldsvalue = {
|
||||||
deleted: true
|
deleted: true
|
||||||
};
|
};
|
||||||
await User.findByIdAndUpdate(myuser.id, { $set: fieldsvalue });
|
await User.findByIdAndUpdate(myuservecchio.id, { $set: fieldsvalue });
|
||||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, `L\'utente ${myuser.name} ${myuser.surname} (${myuser.username}) è stato cancellato (nascosto) perchè sostituito (da ${req.user.name} ${req.user.surname} )`);
|
await telegrambot.sendMsgTelegramToTheManagers(idapp, `L\'utente ${myuservecchio.name} ${myuservecchio.surname} (${myuservecchio.username}) è stato cancellato (nascosto) perchè sostituito (da ${req.user.name} ${req.user.surname} )`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -632,27 +635,31 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
|||||||
if (!rec) {
|
if (!rec) {
|
||||||
return res.status(404).send();
|
return res.status(404).send();
|
||||||
} else {
|
} else {
|
||||||
|
// Send Notification to the BOT
|
||||||
|
let messaggio = tools.get__('SPOSTATO', req.user.lang);
|
||||||
|
|
||||||
|
if (!!navepersistente.date_start) {
|
||||||
|
messaggio += tools.ACAPO + tools.get__('DATA_PART_NAVE', req.user.lang) + tools.getstrDateLong(navepersistente.date_gift_chat_open) + tools.ACAPO;
|
||||||
|
}
|
||||||
|
if (!!navepersistente.link_chat) {
|
||||||
|
messaggio += tools.ACAPO + '👉🏻👉🏻 <strong><a href="' + navepersistente.link_chat + '">' + tools.get__('ENTRA_GIFT_CHAT', req.user.lang) + '</a></strong> ' + tools.ACAPO;
|
||||||
|
}
|
||||||
|
|
||||||
|
const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
|
||||||
|
messaggio += tools.ACAPO + myplacca;
|
||||||
|
|
||||||
|
const mymsg = mydata.notifBot.txt + ' ' + myusernuovo.name + ' ' + myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO + 'Inviato messaggio: ' + messaggio;
|
||||||
|
|
||||||
if (mydata.data.notifBot && !!navepersistente.link_chat) {
|
if (mydata.data.notifBot && !!navepersistente.link_chat) {
|
||||||
// Send Notification to the BOT
|
|
||||||
let messaggio = tools.get__('SPOSTATO', req.user.lang);
|
|
||||||
|
|
||||||
if (!!navepersistente.date_start) {
|
|
||||||
messaggio += tools.ACAPO + tools.get__('DATA_PART_NAVE', req.user.lang) + tools.getstrDateLong(navepersistente.date_gift_chat_open) + tools.ACAPO;
|
|
||||||
}
|
|
||||||
if (!!navepersistente.link_chat) {
|
|
||||||
messaggio += tools.ACAPO + '👉🏻👉🏻 <strong><a href="' + navepersistente.link_chat + '">' + tools.get__('ENTRA_GIFT_CHAT', req.user.lang) + '</a></strong> ' + tools.ACAPO;
|
|
||||||
}
|
|
||||||
|
|
||||||
const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
|
|
||||||
messaggio += tools.ACAPO + myplacca;
|
|
||||||
|
|
||||||
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username, messaggio);
|
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username, messaggio);
|
||||||
|
|
||||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, mydata.notifBot.txt + ' ' + myusernuovo.name + ' ' + myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO + 'Inviato messaggio: ' + messaggio);
|
await telegrambot.sendMsgTelegramToTheManagers(idapp, mymsg);
|
||||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, mydata.notifBot.txt);
|
await telegrambot.sendMsgTelegram(idapp, req.user.username, mydata.notifBot.txt);
|
||||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
|
await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tools.writeManagersLog(mymsg);
|
||||||
|
|
||||||
// const nomecognomeprima = myuser.name + ' ' + myuser.surname + '(' + myuser.username + ')';
|
// const nomecognomeprima = myuser.name + ' ' + myuser.surname + '(' + myuser.username + ')';
|
||||||
// const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,);
|
// const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,);
|
||||||
|
|||||||
@@ -474,6 +474,9 @@ router.post('/dbop', authenticate, async (req, res) => {
|
|||||||
} else if (mydata.dbop === 'creaTessituraeConv') {
|
} else if (mydata.dbop === 'creaTessituraeConv') {
|
||||||
ris = await ListaIngresso.creaTessituraeConv(idapp);
|
ris = await ListaIngresso.creaTessituraeConv(idapp);
|
||||||
ris = { mystr };
|
ris = { mystr };
|
||||||
|
} else if (mydata.dbop === 'eliminaListeIngressoNascoste') {
|
||||||
|
ris = await ListaIngresso.eliminaListeIngressoNascoste(idapp);
|
||||||
|
ris = { mystr };
|
||||||
} else if (mydata.dbop === 'convNaviTessinListaIngressoRec') {
|
} else if (mydata.dbop === 'convNaviTessinListaIngressoRec') {
|
||||||
let num = 0;
|
let num = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ module.exports = {
|
|||||||
const usersmanagers = await User.getusersManagers(idapp);
|
const usersmanagers = await User.getusersManagers(idapp);
|
||||||
if (usersmanagers) {
|
if (usersmanagers) {
|
||||||
for (const rec of usersmanagers) {
|
for (const rec of usersmanagers) {
|
||||||
await this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, emo.ROBOT_FACE + '[BOT-STAFF]' + emo.ADMIN + ': ' + text, undefined, undefined, true);
|
await this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, emo.ROBOT_FACE + ': ' + text, undefined, undefined, true);
|
||||||
await tools.snooze(200)
|
await tools.snooze(200)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -732,7 +732,7 @@ async function local_sendMsgTelegramToTheManagers(idapp, text, msg, username_bo)
|
|||||||
if (username_bo)
|
if (username_bo)
|
||||||
username = username_bo;
|
username = username_bo;
|
||||||
|
|
||||||
text = emo.ROBOT_FACE + '[BOT-STAFF]' + emo.ADMIN + ': Da ' + msg.chat.first_name + ' ' + msg.chat.last_name + ' (' + username + '): \n' + text;
|
text = emo.ROBOT_FACE + ': Da ' + msg.chat.first_name + ' ' + msg.chat.last_name + ' (' + username + '): \n' + text;
|
||||||
tools.writeEventsLog(text);
|
tools.writeEventsLog(text);
|
||||||
|
|
||||||
if (usersmanagers) {
|
if (usersmanagers) {
|
||||||
@@ -2145,7 +2145,14 @@ class Telegram {
|
|||||||
|
|
||||||
async sendMsg(id, text, menu, form, msg_id, chat_id, ripr_menuPrec) {
|
async sendMsg(id, text, menu, form, msg_id, chat_id, ripr_menuPrec) {
|
||||||
|
|
||||||
return await this._inviaMsg(id, text, form, menu, msg_id, chat_id, ripr_menuPrec);
|
if (text.length > 4096) {
|
||||||
|
let text1 = text.slice(0, 4096);
|
||||||
|
let text2 = text.slice(4096, text.length);
|
||||||
|
await this._inviaMsg(id, text1, form, menu, msg_id, chat_id, ripr_menuPrec);
|
||||||
|
return await this._inviaMsg(id, text2, form, menu, msg_id, chat_id, ripr_menuPrec);
|
||||||
|
}else {
|
||||||
|
return await this._inviaMsg(id, text, form, menu, msg_id, chat_id, ripr_menuPrec);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Entra nella Gift Chat',
|
'ENTRA_GIFT_CHAT': 'Entra nella Gift Chat',
|
||||||
'DATA_PART_NAVE': 'data di Partenza della Nave:',
|
'DATA_PART_NAVE': 'data di Partenza della Nave:',
|
||||||
'SOGNATORE': 'SOGNATORE',
|
'SOGNATORE': 'SOGNATORE',
|
||||||
|
'INTERMEDIO': 'Intermedio',
|
||||||
'MEDIATORE': 'MEDIATORE',
|
'MEDIATORE': 'MEDIATORE',
|
||||||
'DONATORI': 'DONATORI',
|
'DONATORI': 'DONATORI',
|
||||||
'RITESSITURA': 'RITESSITURA',
|
'RITESSITURA': 'RITESSITURA',
|
||||||
@@ -167,6 +168,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Vstopi v Darilni Klepet',
|
'ENTRA_GIFT_CHAT': 'Vstopi v Darilni Klepet',
|
||||||
'DATA_PART_NAVE': 'Datum odhoda ladje:',
|
'DATA_PART_NAVE': 'Datum odhoda ladje:',
|
||||||
'SOGNATORE': 'Sanjača',
|
'SOGNATORE': 'Sanjača',
|
||||||
|
'INTERMEDIO': 'POTNIK',
|
||||||
'MEDIATORE': 'MEDIATOR',
|
'MEDIATORE': 'MEDIATOR',
|
||||||
'DONATORI': 'DONATOR',
|
'DONATORI': 'DONATOR',
|
||||||
'RITESSITURA': 'Avtomatičen Vpis',
|
'RITESSITURA': 'Avtomatičen Vpis',
|
||||||
@@ -231,6 +233,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Entre en el Chat de Regalos',
|
'ENTRA_GIFT_CHAT': 'Entre en el Chat de Regalos',
|
||||||
'DATA_PART_NAVE': 'fecha de salida de la nave:',
|
'DATA_PART_NAVE': 'fecha de salida de la nave:',
|
||||||
'SOGNATORE': 'SOÑADOR',
|
'SOGNATORE': 'SOÑADOR',
|
||||||
|
'INTERMEDIO': 'Intermedio',
|
||||||
'MEDIATORE': 'MEDIATOR',
|
'MEDIATORE': 'MEDIATOR',
|
||||||
'DONATORI': 'DONANTES',
|
'DONATORI': 'DONANTES',
|
||||||
'RITESSITURA': 'RETEJIDO',
|
'RITESSITURA': 'RETEJIDO',
|
||||||
@@ -292,6 +295,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Enter the ship\'s Gift Chat',
|
'ENTRA_GIFT_CHAT': 'Enter the ship\'s Gift Chat',
|
||||||
'DATA_PART_NAVE': 'date of departure of the ship:',
|
'DATA_PART_NAVE': 'date of departure of the ship:',
|
||||||
'SOGNATORE': 'DREAMER',
|
'SOGNATORE': 'DREAMER',
|
||||||
|
'INTERMEDIO': 'Intermediate',
|
||||||
'MEDIATORE': 'MEDIATOR',
|
'MEDIATORE': 'MEDIATOR',
|
||||||
'DONATORI': 'DONOR',
|
'DONATORI': 'DONOR',
|
||||||
'RITESSITURA': 'RE-ENTER',
|
'RITESSITURA': 'RE-ENTER',
|
||||||
@@ -357,6 +361,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Entrez dans le chat des cadeaux',
|
'ENTRA_GIFT_CHAT': 'Entrez dans le chat des cadeaux',
|
||||||
'DATA_PART_NAVE': 'la date de départ du navire:',
|
'DATA_PART_NAVE': 'la date de départ du navire:',
|
||||||
'SOGNATORE': 'Rêveur',
|
'SOGNATORE': 'Rêveur',
|
||||||
|
'INTERMEDIO': 'Intermediaire',
|
||||||
'MEDIATORE': 'Médiateur',
|
'MEDIATORE': 'Médiateur',
|
||||||
'DONATORI': 'DONATEUR',
|
'DONATORI': 'DONATEUR',
|
||||||
'RITESSITURA': 'RETESSITURA',
|
'RITESSITURA': 'RETESSITURA',
|
||||||
@@ -422,6 +427,7 @@ textlang = {
|
|||||||
'ENTRA_GIFT_CHAT': 'Entre no Gift Chat do navio',
|
'ENTRA_GIFT_CHAT': 'Entre no Gift Chat do navio',
|
||||||
'DATA_PART_NAVE': 'data de partida do navio:',
|
'DATA_PART_NAVE': 'data de partida do navio:',
|
||||||
'SOGNATORE': 'SONHEIROS',
|
'SOGNATORE': 'SONHEIROS',
|
||||||
|
'INTERMEDIO': 'Intermediar',
|
||||||
'MEDIATORE': 'MEDIATOR',
|
'MEDIATORE': 'MEDIATOR',
|
||||||
'DONATORI': 'DONATORES',
|
'DONATORI': 'DONATORES',
|
||||||
'RITESSITURA': 'ENTRE EM',
|
'RITESSITURA': 'ENTRE EM',
|
||||||
|
|||||||
Reference in New Issue
Block a user