Grosse Modifiche Completate !

This commit is contained in:
Paolo Arena
2020-05-11 22:43:14 +02:00
parent ae77637d33
commit db12375935
10 changed files with 269 additions and 229 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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;