Grosse Modifiche Completate !
This commit is contained in:
@@ -4,13 +4,17 @@ AGGIORNARE:
|
||||
// ++Todo: DA FARE:
|
||||
|
||||
TESTARE -> inviare il msg anche al Sognatore della Gift Chat
|
||||
- Aggiornare il titolo della Gift Chat (da 5/5 a 12/5)
|
||||
- Aggiornare il testo sulla Placca (Data Inizio e Data Fine Doni)
|
||||
X - Aggiornare il titolo della Gift Chat (da 5/5 a 12/5)
|
||||
X - Aggiornare il testo sulla Placca (Data Inizio e Data Fine Doni)
|
||||
|
||||
|
||||
// ++Todo: SISTEMARE:
|
||||
|
||||
|
||||
|
||||
// ++Todo: TOGLIERE!
|
||||
|
||||
- AGGIONARE AMBIENTE DI TEST
|
||||
x- AGGIONARE AMBIENTE DI TEST
|
||||
- ESEGUIRE LA CONVERSIONE 1 E 2 !
|
||||
|
||||
- CHECK getProssimiInLista
|
||||
@@ -20,10 +24,10 @@ X - CONTROLLARE arrIdTelegramUsers
|
||||
|
||||
- TESTARE AGGIUNGI VIAGGIO
|
||||
|
||||
- Accorpare tutti i sotto account, in 1 unico !
|
||||
- Nel campo note, metterci l'username vecchio.
|
||||
x- Accorpare tutti i sotto account, in 1 unico !
|
||||
x - Nel campo note, metterci l'username vecchio.
|
||||
|
||||
- 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
|
||||
|
||||
-------------
|
||||
@@ -52,3 +56,6 @@ SOSTITUISCI:
|
||||
|
||||
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).
|
||||
|
||||
@@ -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 } });
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -122,6 +122,8 @@ router.post('/getnavi', authenticate, async (req, res) => {
|
||||
|
||||
let arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
|
||||
// let arrnavi = await NavePersistente.find({idapp, date_gift_chat_open: { $gte: tools.IncDateNow(-1000 * 3600 * 24 * 7 ) } }).sort({ riga: 1, col: 1 });
|
||||
|
||||
for (nave of arrnavi) {
|
||||
//nave.rec = await Nave.getNaveByRigaCol(idapp, nave.riga, nave.col);
|
||||
nave._doc.rec = {
|
||||
@@ -153,8 +155,14 @@ router.post('/getnavi', authenticate, async (req, res) => {
|
||||
router.post('/getdoninavi', authenticate, async (req, res) => {
|
||||
const idapp = req.body.idapp;
|
||||
const ricalcola = req.body.ricalcola;
|
||||
const showall = req.body.showall;
|
||||
|
||||
let arrnavi = null;
|
||||
if (showall)
|
||||
arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
else
|
||||
arrnavi = await NavePersistente.find({idapp, date_gift_chat_open: { $gte: tools.IncDateNow(-1000 * 3600 * 24 * 7 ) } }).sort({ riga: 1, col: 1 });
|
||||
|
||||
let arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
let test = false;
|
||||
|
||||
//arrnavi.push({ riga: indriga, col: indcol, rigadon: indriga + 3, coldon: (indcol * 8) - 7 });
|
||||
@@ -168,7 +176,7 @@ router.post('/getdoninavi', authenticate, async (req, res) => {
|
||||
index++;
|
||||
}
|
||||
} else {
|
||||
arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
// arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
for (nave of arrnavi) {
|
||||
if (nave.provvisoria || nave.DoniTotali !== nave.DoniConfermati) {
|
||||
nave._doc.rec = await Nave.getNaveByRigaCol(idapp, nave.riga1don, nave.col1don);
|
||||
|
||||
@@ -315,15 +315,15 @@ async function checkIfSbloccatiRequisiti(idapp, allData, id) {
|
||||
|
||||
// CHECK APORTADOR SOLIDARIO:
|
||||
if (!!allData.useraportador) {
|
||||
/*
|
||||
const is9reqAportador = await User.isUserQualified9(idapp, allData.myuser.aportador_solidario);
|
||||
/*
|
||||
const is9reqAportador = await User.isUserQualified9(idapp, allData.myuser.aportador_solidario);
|
||||
|
||||
if (!allData.precDataAportador.is9req && is9reqAportador) {
|
||||
// ORA HAI I 9 REQUISITI !
|
||||
const msgtext = telegrambot.getCiao(idapp, allData.myuser.aportador_solidario, allData.useraportador.lang) + tools.gettranslate('HAI_I_9_REQUISITI', allData.useraportador.lang);
|
||||
telegrambot.sendMsgTelegram(idapp, allData.myuser.aportador_solidario, msgtext, true); // Anche a STAFF
|
||||
}
|
||||
*/
|
||||
if (!allData.precDataAportador.is9req && is9reqAportador) {
|
||||
// ORA HAI I 9 REQUISITI !
|
||||
const msgtext = telegrambot.getCiao(idapp, allData.myuser.aportador_solidario, allData.useraportador.lang) + tools.gettranslate('HAI_I_9_REQUISITI', allData.useraportador.lang);
|
||||
telegrambot.sendMsgTelegram(idapp, allData.myuser.aportador_solidario, msgtext, true); // Anche a STAFF
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
@@ -405,7 +405,7 @@ router.patch('/chval', authenticate, async (req, res) => {
|
||||
// Send Notification to the BOT
|
||||
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un, mydata.notifBot.txt);
|
||||
addtext = '[Msg Inviato a ' + mydata.notifBot.un + ']:' + '\n' + mydata.notifBot.txt;
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, true);
|
||||
telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, true);
|
||||
}
|
||||
|
||||
if (mydata.table === 'users') {
|
||||
@@ -534,107 +534,137 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
const myuser = await User.findOne({ idapp, username });
|
||||
let myuser = await User.findOne({ idapp, username });
|
||||
|
||||
let rimosso = 0;
|
||||
|
||||
|
||||
if (mydata.myfunc === shared_consts.CallFunz.SOSTITUISCI) { // SOSTITUISCI
|
||||
|
||||
username_da_sostituire = mydata.data.username_da_sostituire;
|
||||
|
||||
mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
|
||||
if (!!mianavedasost) {
|
||||
|
||||
// Sostituisci l'Utente
|
||||
myusernuovo = await User.getUserShortDataByUsername(idapp, mydata.data.username);
|
||||
let navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, mydata.data.riga, mydata.data.col, 0);
|
||||
// Sostituisci l'Utente
|
||||
myusernuovo = await User.getUserShortDataByUsername(idapp, mydata.data.username);
|
||||
let navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, mydata.data.riga, mydata.data.col, 0);
|
||||
|
||||
if (!!myusernuovo) {
|
||||
// Controlla prima se è in una Nave Temporanea, allora lo elimina
|
||||
miaarrnavi = await Nave.find({ idapp, ind_order: myusernuovo.ind_order });
|
||||
if (miaarrnavi) {
|
||||
for (const mianave of miaarrnavi) {
|
||||
let persistente = await NavePersistente.findByRigaColByDonatore(idapp, mianave.riga, mianave.col, 0);
|
||||
if (persistente.provvisoria) {
|
||||
if (!!myusernuovo) {
|
||||
|
||||
if (!mydata.data.AddImbarco && !!mianavedasost && mianavedasost.ind_order > 0) {
|
||||
// Controlla prima se è in una Nave Temporanea, allora lo elimina dalla Nave Temporanea
|
||||
|
||||
miaarrnavi = await Nave.getArrPosizioniByUsername(idapp, username);
|
||||
if (miaarrnavi) {
|
||||
for (const mianave of miaarrnavi) {
|
||||
let persistente = await NavePersistente.findByRigaColByDonatore(idapp, mianave.riga, mianave.col, 0);
|
||||
if (persistente.provvisoria) {
|
||||
fieldsvalue = {
|
||||
ind_order: -1
|
||||
};
|
||||
|
||||
let ris = await Nave.findByIdAndUpdate(mianave.id, { $set: fieldsvalue });
|
||||
if (!!ris) {
|
||||
rimosso++;
|
||||
break; // Rimuovilo solo 1 !
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!!myuser) {
|
||||
if (!!mianavedasost && mianavedasost.ind_order >= 0) {
|
||||
// Metti campo 'delete': true su ListaIngresso
|
||||
olduseringresso = await ListaIngresso.findOne({ idapp, ind_order: mianavedasost.ind_order });
|
||||
if (!!olduseringresso) {
|
||||
let fieldsvalue = {
|
||||
deleted: true
|
||||
};
|
||||
const risul = await ListaIngresso.findByIdAndUpdate(olduseringresso.id, { $set: fieldsvalue }, { new: false });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!!myuser) {
|
||||
if (mydata.data.deleteUser && !!mianavedasost && mianavedasost.ind_order > 0) {
|
||||
// Metti Deleted allo User
|
||||
fieldsvalue = {
|
||||
ind_order: -1
|
||||
deleted: true
|
||||
};
|
||||
|
||||
let ris = await Nave.findByIdAndUpdate(mianave.id, { $set: fieldsvalue });
|
||||
if (!!ris) {
|
||||
rimosso++;
|
||||
}
|
||||
await User.findByIdAndUpdate(myuser.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} )`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!!myuser) {
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CONTROLLARE !!!
|
||||
// ++Todo: Controllare che sia corretto che lo nascondo !!!
|
||||
|
||||
// Metti campo 'delete': true su ListaIngresso
|
||||
olduseringresso = await ListaIngresso.findOne({ idapp, ind_order: old_ind_order });
|
||||
if (!!olduseringresso) {
|
||||
let fieldsvalue = {
|
||||
deleted: true
|
||||
};
|
||||
const risul = await ListaIngresso.findByIdAndUpdate(olduseringresso.id, { $set: fieldsvalue }, { new: false });
|
||||
let ind_order = -1;
|
||||
let myingr = null;
|
||||
// Estrai un ind_order dalla Lista, se era ancora in attesa
|
||||
if (!mydata.data.AddImbarco)
|
||||
myingr = await ListaIngresso.findOne({ idapp, added: false, username: myusernuovo.username });
|
||||
|
||||
if (!!myingr) {
|
||||
ind_order = myingr.ind_order;
|
||||
|
||||
myingr.added = true;
|
||||
await myingr.save();
|
||||
} else {
|
||||
// Crea un nuovo Ingresso
|
||||
myingr = await ListaIngresso.addUserInListaIngresso(idapp, myuser.username, myuser.username, myuser.lang, false, true, null, null, true);
|
||||
ind_order = myingr.ind_order;
|
||||
|
||||
await myingr.save();
|
||||
}
|
||||
}
|
||||
|
||||
if (!!myuser) {
|
||||
// Metti Deleted allo User
|
||||
// Aggiorna la Nave con il Nuovo
|
||||
fieldsvalue = {
|
||||
deleted: true
|
||||
ind_order
|
||||
};
|
||||
await User.findByIdAndUpdate(myuser.id, { $set: fieldsvalue });
|
||||
|
||||
}
|
||||
|
||||
// Aggiorna la Nave con il Nuovo
|
||||
fieldsvalue = {
|
||||
ind_order: myusernuovo.ind_order
|
||||
};
|
||||
|
||||
const dachi = req.user.name + ' ' + req.user.surname;
|
||||
const dachi = req.user.name + ' ' + req.user.surname;
|
||||
|
||||
|
||||
return await Nave.findByIdAndUpdate(mianavedasost.id, { $set: fieldsvalue })
|
||||
.then(async (rec) => {
|
||||
// tools.mylogshow(' REC TO MODIFY: ', rec);
|
||||
if (!rec) {
|
||||
return res.status(404).send();
|
||||
} else {
|
||||
if (mydata.notifBot && !!navepersistente.link_chat) {
|
||||
// Send Notification to the BOT
|
||||
let messaggio = tools.get__('SPOSTATO', req.user.lang);
|
||||
return await Nave.findByIdAndUpdate(mianavedasost.id, { $set: fieldsvalue })
|
||||
.then(async (rec) => {
|
||||
// tools.mylogshow(' REC TO MODIFY: ', rec);
|
||||
if (!rec) {
|
||||
return res.status(404).send();
|
||||
} else {
|
||||
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_start) + tools.ACAPO;
|
||||
}
|
||||
if (!!navepersistente.link_chat) {
|
||||
messaggio += tools.ACAPO + tools.get__('ENTRA_GIFT_CHAT', req.user.lang) + navepersistente.link_chat + tools.ACAPO;
|
||||
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.sendMsgTelegramToTheManagers(idapp, mydata.notifBot.txt + ' ' + myusernuovo.name + ' ' + myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO + 'Inviato messaggio: ' + messaggio);
|
||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, mydata.notifBot.txt);
|
||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
|
||||
}
|
||||
|
||||
const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
|
||||
messaggio += tools.ACAPO + myplacca;
|
||||
|
||||
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username, messaggio);
|
||||
// const nomecognomeprima = myuser.name + ' ' + myuser.surname + '(' + myuser.username + ')';
|
||||
// const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,);
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, mydata.notifBot.txt + ' ' + myusernuovo.name + ' ' + myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO + 'Inviato messaggio: ' + messaggio);
|
||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, mydata.notifBot.txt);
|
||||
await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
|
||||
res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
|
||||
}
|
||||
|
||||
|
||||
// const nomecognomeprima = myuser.name + ' ' + myuser.surname + '(' + myuser.username + ')';
|
||||
// const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,);
|
||||
|
||||
res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
|
||||
}
|
||||
|
||||
}).catch((e) => {
|
||||
tools.mylogserr('Error patch USER: ', e);
|
||||
res.status(400).send();
|
||||
})
|
||||
}).catch((e) => {
|
||||
tools.mylogserr('Error patch USER: ', e);
|
||||
res.status(400).send();
|
||||
})
|
||||
}
|
||||
}
|
||||
} else if (mydata.myfunc === shared_consts.CallFunz.AGGIUNGI_NUOVO_IMBARCO) {
|
||||
// Ottieni il prossimo Numero di Tessitura
|
||||
|
||||
@@ -125,21 +125,6 @@ router.post('/', async (req, res) => {
|
||||
// nomeaportador_corretto = recextra.aportador_solidario_originale_name_surname;
|
||||
// }
|
||||
|
||||
const lastuser = await User.getLastUser(user.idapp);
|
||||
// const lastextra = await ExtraList.getLastUser(user.idapp);
|
||||
let lastindorder = 0;
|
||||
|
||||
if (lastuser) {
|
||||
lastindorder = lastuser.ind_order;
|
||||
}
|
||||
//if (lastextra) {
|
||||
// if (lastextra.ind_order > lastindorder)
|
||||
// lastindorder = lastextra.ind_order;
|
||||
//}
|
||||
|
||||
if (lastindorder > 0)
|
||||
user.ind_order = lastindorder + 1;
|
||||
|
||||
const numero = user.name.slice(-1);
|
||||
if ((numero === '2') || (numero === '3') || (numero === '4') || (numero === '5') || (numero === '6')) {
|
||||
recorig = await User.findByCellAndNameSurname(user.idapp, user.profile.cell, user.name.slice(0, -1), user.surname);
|
||||
@@ -238,7 +223,7 @@ router.post('/', async (req, res) => {
|
||||
recextra.username = user.username;
|
||||
await recextra.save();
|
||||
|
||||
await User.fixUsername(user.idapp, user.ind_order, user.username);
|
||||
// await User.fixUsername(user.idapp, user.ind_order, user.username);
|
||||
}
|
||||
return token;
|
||||
})
|
||||
@@ -646,7 +631,7 @@ router.post('/dbop', authenticate, async (req, res) => {
|
||||
lastrec = await User.find({ idapp }).sort({ _id: -1 }).limit(1);
|
||||
let last = 1;
|
||||
if (lastrec) {
|
||||
last = lastrec[0].ind_order;
|
||||
last = lastrec[0].index;
|
||||
}
|
||||
if (!last) {
|
||||
last = 1;
|
||||
@@ -655,15 +640,15 @@ router.post('/dbop', authenticate, async (req, res) => {
|
||||
for (let ind = 0; ind < 100; ind++) {
|
||||
let myuser = new User();
|
||||
myuser._id = new ObjectID();
|
||||
myuser.ind_order = last + ind + 1;
|
||||
myuser.index = last + ind + 1;
|
||||
myuser.idapp = idapp;
|
||||
myuser.password = "$2a$12$DEaX1h5saTUVC43f7kubyOAlah1xHDgqQTfSIux0.RFDT9WGbyCaG";
|
||||
myuser.lang = 'it';
|
||||
myuser.email = "miaemail@email.it";
|
||||
myuser.name = 'U' + myuser.ind_order;
|
||||
myuser.surname = 'Ar' + myuser.ind_order;
|
||||
myuser.name = 'U' + myuser.index;
|
||||
myuser.surname = 'Ar' + myuser.index;
|
||||
myuser.verified_email = true;
|
||||
if (myuser.ind_order < 2)
|
||||
if (myuser.index < 2)
|
||||
myuser.perm = "3";
|
||||
myuser.username = "Userna_" + myuser.name;
|
||||
myuser.profile.special_req = true;
|
||||
|
||||
@@ -462,7 +462,7 @@ module.exports = {
|
||||
let userdest = mylocalsconf.user.aportador_solidario;
|
||||
let langdest = mylocalsconf.user.lang;
|
||||
let NameFrom = `${mylocalsconf.user.name} ${mylocalsconf.user.surname}`;
|
||||
const ind_order = mylocalsconf.user.ind_order;
|
||||
const index = mylocalsconf.user.index;
|
||||
|
||||
let aportador = '';
|
||||
if (userdest) {
|
||||
@@ -478,7 +478,7 @@ module.exports = {
|
||||
NameFrom = await User.getNameSurnameByUsername(mylocalsconf.idapp, userdest) + aportador;
|
||||
aportador = NameFrom;
|
||||
}
|
||||
text = printf(getstr(langdest, 'MSG_APORTADOR_USER_REGISTERED'), `${mylocalsconf.user.name} ${mylocalsconf.user.surname} (${mylocalsconf.user.username})`, ind_order, aportador);
|
||||
text = printf(getstr(langdest, 'MSG_APORTADOR_USER_REGISTERED'), `${mylocalsconf.user.name} ${mylocalsconf.user.surname} (${mylocalsconf.user.username})`, index, aportador);
|
||||
}
|
||||
|
||||
let addtext = "";
|
||||
@@ -501,7 +501,7 @@ module.exports = {
|
||||
if (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 tools.snooze(300)
|
||||
await tools.snooze(200)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -840,6 +840,10 @@ class Telegram {
|
||||
|
||||
}
|
||||
|
||||
geturlfaq() {
|
||||
return tools.getHostByIdApp(this.idapp) + '/faq'
|
||||
}
|
||||
|
||||
async IsTesto(msg) {
|
||||
|
||||
let risp = '';
|
||||
@@ -855,7 +859,7 @@ class Telegram {
|
||||
const rec = this.getRecInMem(msg);
|
||||
let myname = '';
|
||||
if (rec.user) {
|
||||
myname = rec.user.name + ' ' + rec.user.surname + ' (n.' + rec.user.ind_order + ')';
|
||||
myname = rec.user.name + ' ' + rec.user.surname + ' (n.' + rec.user.index + ')';
|
||||
}
|
||||
|
||||
if (rec.statusmsg === Status.WAITFOR_RISPOSTA) {
|
||||
@@ -917,7 +921,7 @@ class Telegram {
|
||||
|
||||
if (!!rec.user) {
|
||||
const myrec = await User.getUserShortDataByUsername(this.idapp, rec.user.username);
|
||||
risp += '\nSul sito ti sei registrato come:\n\n[N. ' + rec.user.ind_order + ']: ' + rec.user.name + ' ' + rec.user.surname + '\nUsername: ' + rec.user.username + '\n' + 'Email: ' + rec.user.email + '\nLang: ' + rec.user.lang + tools.ACAPO;
|
||||
risp += '\nSul sito ti sei registrato come:\n\n[N. ' + rec.user.index + ']: ' + rec.user.name + ' ' + rec.user.surname + '\nUsername: ' + rec.user.username + '\n' + 'Email: ' + rec.user.email + '\nLang: ' + rec.user.lang + tools.ACAPO;
|
||||
risp += 'Num Invitati: ' + myrec.numinvitati + tools.ACAPO;
|
||||
risp += 'Num Invitati Attivi: ' + myrec.numinvitatiattivi + tools.ACAPO;
|
||||
} else {
|
||||
@@ -986,13 +990,14 @@ class Telegram {
|
||||
risp = emo.JOY + emo.JOY + emo.JOY;
|
||||
} else if (testo.length >= 10) {
|
||||
noanswer = true;
|
||||
risp = 'Questo messaggio è stato inviato alla Chat Help\nIo sono solo un Robot ' + emo.ROBOT_FACE + emo.JOY2 + '\n\nPer AIUTO, contatta la Chat AYNI - HELP';
|
||||
let myfaq = this.geturlfaq();
|
||||
risp = 'Io sono solo un Robot ' + emo.ROBOT_FACE + emo.JOY2 + '\n\nPer AIUTO, clicca qui:\n👉🏻👉🏻<a href="' + myfaq + '">FAQ di AIUTO</a> (risposte alle domande più frequenti)\n\nSe non trovi risposta allora contatta la Chat AYNI - HELP.\nGrazie\nStaff AYNI';
|
||||
// risp += '\nClicca qui per entrare nella Chat AYNI - HELP di Supporto\n' + 'https://t.me/joinchat/AL2qKE80rxDkgbeMGO-0bw' + '\n\nI miei colleghi umani ti aiuteranno a risolvere !';
|
||||
await local_sendMsgTelegramToTheManagers(this.idapp, testo, msg, rec.username_bo);
|
||||
}
|
||||
}
|
||||
|
||||
let keyboard = {};
|
||||
let keyboard = null;
|
||||
|
||||
if (contastiera) {
|
||||
keyboard = {
|
||||
@@ -1250,6 +1255,7 @@ class Telegram {
|
||||
if (!!mystrnave) {
|
||||
mystr += '✨✨✨' + tools.get__('TUE_NAVI', this.getlang(msg)) + ':\n';
|
||||
mystr += mystrnave;
|
||||
|
||||
} else {
|
||||
|
||||
if (!tuttie9) {
|
||||
@@ -1291,7 +1297,7 @@ class Telegram {
|
||||
let index = 1;
|
||||
dashboard.downline.forEach((user) => {
|
||||
mystr += emoji.get('star-struck') + ` ${index}°: `;
|
||||
mystr += (user._doc.qualified) ? emo.CHECK_VERDE : emo.CROSS_ROSSA;
|
||||
mystr += (user.qualified) ? emo.CHECK_VERDE : emo.CROSS_ROSSA;
|
||||
mystr += `${user.name} ${user.surname} (${user.username})\n`;
|
||||
index++;
|
||||
});
|
||||
|
||||
@@ -65,8 +65,8 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': 'COMPLIMENTI!\nHai Completato TUTTI i 9 Passi della Guida! Grazie per Aiutare AYNI ad Espandersi!',
|
||||
'NON_HAI_I_9_REQUISITI': 'Ricqorda che puoi Aiutare a far Crescere ed Espandere il Movimento, Condividendo con chiunque questo nostro viaggio!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Lista dei Passi: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Per completare tutti i requisiti vai sul sito:\n%s\nPer vedere lo stato della tua Nave e dei tuoi invitati, clicca sulle 3 linee in alto a sinistra ed accedi alla voce "Lavagna".\n',
|
||||
'INFO_LAVAGNA_SITO': 'Per vedere in dettaglio lo stato della tua Nave, sul sito AYNI, clicca sulle 3 linee in alto a sinistra ed accedi alla voce "Lavagna".\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Per completare tutti i requisiti vai sul sito:\n%s\nPer vedere lo stato della tua Nave e dei tuoi invitati:\n 👉🏻 <a href="%s">Entra nella tua Lavagna</a>.\n',
|
||||
'INFO_LAVAGNA_SITO': 'Per vedere in dettaglio lo <strong>STATO della tua Nave</strong>, sul sito AYNI\n 👉🏻 <a href="%s">Entra nella tua Lavagna</a>.\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Link da condividere ai tuoi invitati per farli registrare al sito di Ayni:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Link da condividere per partecipare allo Zoom (Conferenza OnLine):\n%s',
|
||||
'ZOOM_CONFERENCE': 'Ecco il programma delle Conferenze (Zoom) aperti a TUTTI:',
|
||||
@@ -91,7 +91,8 @@ textlang = {
|
||||
'SCEGLI_VOCE': 'scegli una voce:',
|
||||
'INVITATI_LISTA': 'I Tuoi Invitati (in verde con almeno i primi 7 Requisiti)',
|
||||
'CIAO': 'Ciao',
|
||||
'ADDED_TOLISTAINGRESSO': '<strong>Complimenti ! Hai completato i 7 Passi!🎊</strong>\nSei stato aggiunto alla Lista delle persone che entreranno nella Lista D\'Imbarco !\nNei prossimi giorni riceverai un messaggio quando la tua Nave partirà.',
|
||||
'ADDED_TOLISTAINGRESSO': '<strong>Complimenti! 🎊</strong>\nSei stato aggiunto alla <strong>Lista D\'Imbarco</strong> !\nNei prossimi giorni riceverai un messaggio qui quando la tua Nave sarà pronta a partire.\nRicorda che per salire di graduatoria, puoi condividere il Movimento con i tuoi amici ❤️.',
|
||||
'REGALATO_INVITANTE': 'da fare.... 😍🎊 Hai ricevuto in Regalo un Invitato {invitato} da parte di {mittente} !',
|
||||
'NO_PROG': 'Attualmente non sei ancora dentro alla Lista d\'Imbarco!',
|
||||
'SEND_LINK_CHAT_DONATORI': 'Ciao %s!\nLa tua NAVE sta finalmente Salpando!\nEntra nella Gift Chat della nave {%s} cliccando qui: %s',
|
||||
'SEND_LINK_CHAT_SOGNATORE': 'Ciao %s!\nOggi Diventi Sognatore !!! 🎊🎊🎊 Entra nella Gift Chat della nave {%s} cliccando qui: %s',
|
||||
@@ -104,8 +105,9 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'NAVE COMPLETATA',
|
||||
'Doni Effettuati': 'Doni Effettuati',
|
||||
'Tutor che affianchèra il Mediatore': 'Tutor che affianchèra il Mediatore',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Apertura GIFT CHAT\n%s Chiusura GIFT CHAT\nNota Bene: Hai tempo 4 giorni dall\'apertura per entrare in Chat ed effettuare il tuo Dono, dopodichè effettueremo la sostituzione.',
|
||||
'Giorno di Apertura GIFT CHAT': 'Giorno di Apertura GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Hai 4 giorni di tempo per inviare il tuo dono. Giorno di Chiusura:',
|
||||
'Giorno in cui Inviare il DONO': 'Hai 4 giorni di tempo per inviare il tuo dono.\nGiorno di Chiusura',
|
||||
'SPOSTATO': 'Sei stato Spostato in una Nuova Nave !',
|
||||
'Note': 'Note',
|
||||
'TEMPORANEA': 'TEMPORANEA',
|
||||
@@ -132,7 +134,7 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': 'ČESTITAMO!\nIzpolnil si VSEH 9 korakov v navodilih! Hvala ker pomagaš k širitvi AYNI !',
|
||||
'NON_HAI_I_9_REQUISITI': 'Zapomni si, če želiš Pomagati Rasti in Širit Gibanje, lahko to storiš z delitvijo med ljudmi!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Seznam Krajev: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Da izpolneš vse zahteve, pojdi na spletno stran:\n%s\nDa pogledaš status svoje Ladje in status svojih povabljencev, klikni na levi strani zgoraj na tri črte in izberi "Tabla".\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Da izpolneš vse zahteve, pojdi na spletno stran:\n%s\nDa pogledaš status svoje Ladje in status svojih povabljencev, klikni na levi strani zgoraj na tri črte in izberi "Tabla".\n👉🏻 <a href="%s">Table</a>',
|
||||
'INFO_LAVAGNA_SITO': 'Da lahko podrobno pogledaš status svoje Ladje,na spletni strani AYNI, klikni, na levi strani zgoraj, na tri črtice in izberi "Tabla".\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Link, ki ga deliš svojim povabljencem, da se lahko registrirajo na spletni strani Ayni:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Link, ki ga deliš za udeležbo na Zoom (Konferenca OnLine):\n%s',
|
||||
@@ -171,8 +173,7 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'LADJE DOSTAVLJEN',
|
||||
'Doni Effettuati': 'Darila narejena',
|
||||
'Tutor che affianchèra il Mediatore': 'Tutor, ki bo podpiral Mediatorja',
|
||||
'Giorno di Apertura GIFT CHAT': 'Dan odpiranja GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Dan za pošiljanje DARILA',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Apertura GIFT CHAT\n%s Zapiranje DARILNEGA KLEPETA\nBodi pozoren: Časa imaš 4 dni od odprtja za vstop v Klepet- ladjico in izpeljati svoje Vplačilo, po tem času bomo izvedli zamenjavo',
|
||||
'SPOSTATO': 'Prestavljen si v Novo Ladjico !',
|
||||
'Note': 'Opombe',
|
||||
'TEMPORANEA': 'ZAČASNA',
|
||||
@@ -197,7 +198,7 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': '¡FELICITACIONES!\n¡Has completado los 9 pasos de la Guía! Gracias por ayudar a AYNI a expandirse!',
|
||||
'NON_HAI_I_9_REQUISITI': 'Recuerda que puedes ayudar a que el Movimiento crezca y se expanda compartiendo nuestro viaje con todos.!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Lista de pasos: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos los requisitos vaya al sitio:\n%s\nPara ver el estado de su nave y sus invitados, haga clic en las 3 líneas de arriba a la izquierda y vaya a "Pizarra".\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos los requisitos vaya al sitio:\n%s\nPara ver el estado de su nave y sus invitados,👉🏻 <a href="%s">Pizarra</a>.\n',
|
||||
'INFO_LAVAGNA_SITO': 'Para ver en detalle el estado de su nave, en el sitio web de AYNI, haga clic en las 3 líneas de la parte superior izquierda y vaya a "Pizarra"..\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Enlaces para compartir con sus invitados para que se registren en el sitio web de Ayni:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Enlaces para compartir para participar en el Zoom (Conferencia en línea):\n%s',
|
||||
@@ -236,8 +237,7 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'NAVE COMPLETADA',
|
||||
'Doni Effettuati': 'Regalos Realizados',
|
||||
'Tutor che affianchèra il Mediatore': 'Tutor de apoyo al Donante',
|
||||
'Giorno di Apertura GIFT CHAT': 'Día de apertura GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Día en el que enviar el REGALO',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Apertura del CHAT DE REGALOS\n%s Cierre del CHAT DE REGALOS\nNota: Tienes 4 días desde la apertura para entrar en el Chat y hacer tu Regalo, después de lo cual haremos el reemplazo',
|
||||
'SPOSTATO': 'Has sido trasladado a una nueva nave !',
|
||||
'Note': 'Notas',
|
||||
'TEMPORANEA': 'TEMPORAL',
|
||||
@@ -259,7 +259,7 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': 'CONGRATULATIONS!\nYou have completed ALL 9 steps of the Guide! Thank you for Helping AYNI Expand!',
|
||||
'NON_HAI_I_9_REQUISITI': 'Remember that you can help the Movement grow and expand by sharing our journey with everyone.!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Step List: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'To complete all the requirements go to the site:%s\nTo see the status of your Ship and your guests, click on the 3 lines at the top left and go to "Dashboard"\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'To complete all the requirements go to the site:%s\nTo see the status of your Ship and your guests\n👉🏻 <a href="%s">Dashboard</a>\n',
|
||||
'INFO_LAVAGNA_SITO': 'To see in detail the status of your ship, on the AYNI website, click on the 3 lines at the top left and go to "Blackboard".\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Links to share with your guests to have them register on Ayni\'s website:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Links to share to participate in Zoom (Online Conference):\n%s',
|
||||
@@ -298,8 +298,7 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'SHIP COMPLETED',
|
||||
'Doni Effettuati': 'Gifts Made',
|
||||
'Tutor che affianchèra il Mediatore': 'Tutor supporting the Mediator',
|
||||
'Giorno di Apertura GIFT CHAT': 'Opening Day GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Day on which to send the Gift',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Opening GIFT CHAT\n%s Closing GIFT CHAT\nNote: You have 4 days from the opening to enter the Chat and make your Gift, after which we will make the replacement.',
|
||||
'SPOSTATO': 'You\'ve been moved to a New Ship !',
|
||||
'Note': 'Note',
|
||||
'TEMPORANEA': 'TEMPORARY',
|
||||
@@ -325,8 +324,8 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': 'FÉLICITATIONS!\n!Vous avez franchi les 9 étapes de la conduite ! Merci d\'avoir aidé AYNI à se développer!',
|
||||
'NON_HAI_I_9_REQUISITI': 'N\'oubliez pas que vous pouvez aider le Mouvement à grandir et à se développer en partageant notre voyage avec tout le monde.!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Liste des étapes: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Pour remplir toutes les conditions, rendez-vous sur le site:\n%s\nPour voir le statut de votre navire et de vos invités, cliquez sur les 3 lignes en haut à gauche et allez sur "Tableau noir".\n',
|
||||
'INFO_LAVAGNA_SITO': 'Pour voir en détail le statut de votre navire, sur le site de l\'AYNI, cliquez sur les 3 lignes en haut à gauche et allez sur "Tableau noir".\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Pour remplir toutes les conditions, rendez-vous sur le site:\n%s\nPour voir le statut de votre navire et de vos invités\n 👉🏻 <a href="%s">Tableau</a>.\n',
|
||||
'INFO_LAVAGNA_SITO': 'Pour voir en détail le statut de votre navire, sur le site de l\'AYNI, cliquez sur les 3 lignes en haut à gauche et allez sur "Tableau".\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Liens à partager avec vos invités pour qu\'ils s\'inscrivent sur le site web d\'Ayni:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Liens à partager pour participer à Zoom (Conférence en ligne):\n%s',
|
||||
'ZOOM_CONFERENCE': 'Vous trouverez ici les dates de programmation sur Zoom:',
|
||||
@@ -364,8 +363,7 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'NAVIRE COMPLÉTÉ',
|
||||
'Doni Effettuati': 'Don effectués',
|
||||
'Tutor che affianchèra il Mediatore': 'Le tuteur qui soutient le Mediateur',
|
||||
'Giorno di Apertura GIFT CHAT': 'Jour d\'ouverture GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Envoyer le jour il DONO',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s : Chat d\'ouverture\n%s Clôture du GIFT CHAT\nNote: Vous avez 4 jours à partir de l\'ouverture pour entrer dans le Chat et faire votre Cadeau, après quoi nous ferons le remplacement',
|
||||
'SPOSTATO': 'Vous avez été transféré sur un nouveau navire !',
|
||||
'Note': 'Notes',
|
||||
'TEMPORANEA': 'TEMPORAIRE',
|
||||
@@ -391,7 +389,7 @@ textlang = {
|
||||
'HAI_I_9_REQUISITI': 'FELICITAÇÕES!\nVocê completou TODAS as 9 etapas da condução! Obrigado por ajudar a AYNI a expandir!',
|
||||
'NON_HAI_I_9_REQUISITI': 'Lembre-se que pode ajudar o Movimento a crescer e expandir-se, partilhando a nossa jornada com todos!',
|
||||
'INFO_LA_MIA_LAVAGNA': '✨ Lista de etapas: ✨ \n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos os requisitos ir para o sitio:\n%s\nPer vedere lo stato della tua Nave e dei tuoi invitati, clicca sulle 3 linee in alto a sinistra ed accedi alla voce "Lavagna".\n',
|
||||
'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos os requisitos ir para o sitio:\n%s\nPara ver o estado do seu navio e dos seus convidados:\n 👉🏻 <a href="%s">Entre no seu Tablero</a>.\n',
|
||||
'INFO_LAVAGNA_SITO': 'Para ver em detalhe o estado do seu navio, no site da AYNI, clique nas 3 linhas no canto superior esquerdo e vá para "DashBoard"..\n',
|
||||
'INFO_LINK_DA_CONDIVIDERE': 'Links para partilhar com os seus convidados para que se registem no website da Ayni:\n\n%s',
|
||||
'INFO_LINK_ZOOM': 'Links para partilhar para participar na Zoom (Conferência Online):\n%s',
|
||||
@@ -430,8 +428,7 @@ textlang = {
|
||||
'NAVE COMPLETATA': 'NAVIO COMPLETADO',
|
||||
'Doni Effettuati': 'Regalo Feitos',
|
||||
'Tutor che affianchèra il Mediatore': 'Tutor que apoia o Mediator',
|
||||
'Giorno di Apertura GIFT CHAT': 'Dia de Abertura GIFT CHAT',
|
||||
'Giorno in cui Inviare il DONO': 'Dia em que enviar o REGALO',
|
||||
'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Abertura do GIFT CHAT\n%s Fechamento GIFT CHAT\nNota: Você tem 4 dias desde a abertura para entrar no Chat e fazer o seu Presente, depois do qual faremos o substituição.',
|
||||
'SPOSTATO': 'Você foi transferido para um novo navio !',
|
||||
'Note': 'Notas',
|
||||
'TEMPORANEA': 'TEMPORÁRIO',
|
||||
@@ -466,10 +463,10 @@ module.exports = {
|
||||
DONATORI: 1,
|
||||
TUTTI: 2,
|
||||
|
||||
STR_SOGNATORE: 'Sognatore',
|
||||
STR_MEDIATORE: 'Mediatore',
|
||||
STR_MEDIATORI: 'Mediatori',
|
||||
STR_DONATORI: 'Donatori',
|
||||
STR_SOGNATORE: '<strong>Sognatore</strong>',
|
||||
STR_MEDIATORE: '<strong>Mediatore</strong>',
|
||||
STR_MEDIATORI: '<strong>Mediatori</strong>',
|
||||
STR_DONATORI: '<strong>Donatori</strong>',
|
||||
SOGNATORE: 'E1 🌈 ',
|
||||
MEDIATORE: 'A1 💦 ',
|
||||
SONOFUOCO: 0,
|
||||
|
||||
Reference in New Issue
Block a user