- Gruppi
This commit is contained in:
@@ -15,7 +15,7 @@ const {authenticate, authenticate_noerror} = require(
|
||||
'../middleware/authenticate');
|
||||
|
||||
const {ObjectID} = require('mongodb');
|
||||
const {ListaIngresso} = require('../models/listaingresso');
|
||||
// const {ListaIngresso} = require('../models/listaingresso');
|
||||
const {Graduatoria} = require('../models/graduatoria');
|
||||
|
||||
const mongoose = require('mongoose').set('debug', false);
|
||||
@@ -34,9 +34,7 @@ if (!fs.existsSync(folder)) {
|
||||
const _ = require('lodash');
|
||||
|
||||
const {User} = require('../models/user');
|
||||
const {Nave} = require('../models/nave');
|
||||
const {Flotta} = require('../models/flotta');
|
||||
const {NavePersistente} = require('../models/navepersistente');
|
||||
const {MyGroup} = require('../models/mygroup');
|
||||
// const { ExtraList } = require('../models/extralist');
|
||||
const {Booking} = require('../models/booking');
|
||||
const {Operator} = require('../models/operator');
|
||||
@@ -103,7 +101,6 @@ const UserCost = {
|
||||
'profile.paymenttypes'],
|
||||
};
|
||||
|
||||
|
||||
router.post(process.env.LINKVERIF_REG, (req, res) => {
|
||||
const body = _.pick(req.body, ['idapp', 'idlink']);
|
||||
const idapp = body.idapp;
|
||||
@@ -222,6 +219,8 @@ function getTableByTableName(tablename) {
|
||||
let mytable = '';
|
||||
if (tablename === 'users')
|
||||
mytable = User;
|
||||
else if (tablename === 'mygroups')
|
||||
mytable = MyGroup;
|
||||
else if (tablename === 'tessitura')
|
||||
mytable = Tessitura;
|
||||
// else if (tablename === 'extralist')
|
||||
@@ -294,16 +293,12 @@ function getTableByTableName(tablename) {
|
||||
mytable = Permission;
|
||||
else if (tablename === 'mailinglist')
|
||||
mytable = MailingList;
|
||||
else if (tablename === 'navi')
|
||||
mytable = Nave;
|
||||
else if (tablename === 'flotte')
|
||||
mytable = Flotta;
|
||||
else if (tablename === 'msg_templates')
|
||||
mytable = MsgTemplate;
|
||||
else if (tablename === 'navepersistente')
|
||||
mytable = NavePersistente;
|
||||
else if (tablename === 'listaingressos')
|
||||
mytable = ListaIngresso;
|
||||
// else if (tablename === 'listaingressos')
|
||||
// mytable = ListaIngresso;
|
||||
else if (tablename === 'graduatorias')
|
||||
mytable = Graduatoria;
|
||||
else if (tablename === 'skills')
|
||||
@@ -365,6 +360,23 @@ router.post('/settable', authenticate, (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
if (shared_consts.TABLES_USER_INCLUDE_MY.includes(params.table)) {
|
||||
if (!mydata.admins) {
|
||||
mydata.admins = [];
|
||||
} else {
|
||||
const arrnew = [];
|
||||
for (const username of mydata.admins) {
|
||||
arrnew.push({username});
|
||||
}
|
||||
mydata.admins = arrnew;
|
||||
}
|
||||
const indfind = mydata.admins.findIndex((rec) => (rec.username === req.user.username));
|
||||
|
||||
if (indfind < 0) {
|
||||
mydata.admins.push({_id: new ObjectID(), username: req.user.username});
|
||||
}
|
||||
}
|
||||
|
||||
delete mydata['__v'];
|
||||
delete mydata['__proto__'];
|
||||
|
||||
@@ -411,7 +423,7 @@ router.post('/settable', authenticate, (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
}catch (e) {
|
||||
} catch (e) {
|
||||
return res.status(400).send(e);
|
||||
}
|
||||
|
||||
@@ -627,7 +639,8 @@ router.patch('/chval', authenticate, async (req, res) => {
|
||||
|
||||
if (mydata.table === shared_consts.TAB_SITES) {
|
||||
if (shared_consts.SITES_KEY_TO_CRYPTED in fieldsvalue) {
|
||||
fieldsvalue[shared_consts.SITES_KEY_TO_CRYPTED] = tools.cryptdata(fieldsvalue[shared_consts.SITES_KEY_TO_CRYPTED]);
|
||||
fieldsvalue[shared_consts.SITES_KEY_TO_CRYPTED] = tools.cryptdata(
|
||||
fieldsvalue[shared_consts.SITES_KEY_TO_CRYPTED]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -810,272 +823,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
|
||||
|
||||
let fieldsvalue = {};
|
||||
|
||||
if (mydata.myfunc === shared_consts.CallFunz.SOSTITUISCI) { // SOSTITUISCI
|
||||
|
||||
let username_da_sostituire = mydata.data.username_da_sostituire;
|
||||
|
||||
let myuservecchio = await User.findOne(
|
||||
{idapp, username: username_da_sostituire});
|
||||
|
||||
let mianavedasost = await Nave.findOne(
|
||||
{idapp, riga: mydata.data.riga, col: mydata.data.col});
|
||||
if (!!mianavedasost) {
|
||||
|
||||
// Sostituisci l'Utente
|
||||
let myusernuovo = await User.getUserShortDataByUsername(idapp,
|
||||
mydata.data.username);
|
||||
let navepersistente = await NavePersistente.findByRigaColByDonatore(
|
||||
idapp, mydata.data.riga, mydata.data.col, 0);
|
||||
|
||||
if (myusernuovo) {
|
||||
|
||||
if (!mydata.data.AddImbarco && mianavedasost.ind_order > 0) {
|
||||
|
||||
// Controlla prima se è in una Nave Temporanea, allora lo elimina dall'ultima Nave Temporanea
|
||||
|
||||
let miaarrnavi = await Nave.getArrPosizioniByUsername(idapp,
|
||||
username);
|
||||
if (miaarrnavi) {
|
||||
miaarrnavi = miaarrnavi.reverse(); // parto dall'ultima
|
||||
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 (mianavedasost.ind_order >= 0) {
|
||||
|
||||
// ELIMINO LA LISTAINGRESSO CHE STO SOSTITUENDO (SOLO SE NON VIENE USATA DA ALTRA NAVE!)
|
||||
let eliminatoingr = await ListaIngresso.eliminaListaIngresso(idapp,
|
||||
mianavedasost.ind_order, req, mianavedasost.num_tess);
|
||||
|
||||
if (!eliminatoingr) {
|
||||
return res.send({
|
||||
code: server_constants.RIS_CODE_ERR,
|
||||
msg: 'La Sostituzione non può avvenire ! Contattare Paolo. (ind_order=' +
|
||||
mianavedasost.ind_order + ')',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (!!myuservecchio) {
|
||||
if (mydata.data.notifBot) {
|
||||
|
||||
const mydatamsg = {
|
||||
tipomsg: tools.TipoMsg.SEND_MSG_A_UTENTE_SOSTITUITO,
|
||||
navemediatore: {
|
||||
riga: navepersistente.riga,
|
||||
col: navepersistente.col,
|
||||
},
|
||||
};
|
||||
|
||||
mydatamsg.flotta = await Flotta.getFlottaByNavePersistente(idapp,
|
||||
navepersistente);
|
||||
|
||||
const rismsg = await telegrambot.getMsgByTipoMsg(mydatamsg,
|
||||
myuservecchio.lang, myuservecchio, false);
|
||||
|
||||
if (!!rismsg) {
|
||||
let messaggio = rismsg.body;
|
||||
// let mytitle = rismsg.title;
|
||||
if (!!messaggio) {
|
||||
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username,
|
||||
messaggio);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Se ha gia delle altre navi, non cancellarlo!
|
||||
if (!await Nave.checkIfMadeGift(idapp, myuservecchio.username)) {
|
||||
|
||||
if (mydata.data.deleteUser && mianavedasost.ind_order > 0) {
|
||||
// Metti Deleted allo User
|
||||
fieldsvalue = {
|
||||
deleted: true,
|
||||
date_deleted: new Date(),
|
||||
};
|
||||
|
||||
await User.findByIdAndUpdate(myuservecchio.id,
|
||||
{$set: fieldsvalue});
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp,
|
||||
`L\'utente ${myuservecchio.name} ${myuservecchio.surname} (${myuservecchio.username}) è stato cancellato (nascosto) perchè sostituito (da ${req.user.name} ${req.user.surname} )`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
// Togliolo dalla Graduatoria!
|
||||
await Graduatoria.findOneAndUpdate({
|
||||
idapp,
|
||||
idListaIngresso: myingr._id,
|
||||
}, {$set: {ind_order: -1}}, {new: false});
|
||||
|
||||
// Aggiorna la Nave con il Nuovo
|
||||
fieldsvalue = {
|
||||
ind_order,
|
||||
};
|
||||
|
||||
const dachi = req.user.name + ' ' + req.user.surname;
|
||||
|
||||
return await Nave.findByIdAndUpdate(mianavedasost.id,
|
||||
{$set: fieldsvalue}).then(async (nave) => {
|
||||
// tools.mylogshow(' REC TO MODIFY: ', rec);
|
||||
if (!nave) {
|
||||
return res.status(404).send();
|
||||
} else {
|
||||
|
||||
const mydatamsg = {
|
||||
tipomsg: tools.TipoMsg.SEND_MSG_EFFETTUA_IL_DONO,
|
||||
navemediatore: {
|
||||
riga: navepersistente.riga,
|
||||
col: navepersistente.col,
|
||||
},
|
||||
};
|
||||
|
||||
mydatamsg.flotta = await Flotta.getFlottaByNavePersistente(idapp,
|
||||
navepersistente);
|
||||
|
||||
const rismsg = await telegrambot.getMsgByTipoMsg(mydatamsg,
|
||||
myusernuovo.lang, myusernuovo, false);
|
||||
|
||||
let messaggio = rismsg.body;
|
||||
let mytitle = rismsg.title;
|
||||
|
||||
// const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
|
||||
// messaggio += tools.ACAPO + myplacca;
|
||||
|
||||
let testostaff = '';
|
||||
if (mydata.notifBot)
|
||||
testostaff = mydata.notifBot.txt;
|
||||
|
||||
const mymsg = testostaff + ' ' + myusernuovo.name + ' ' +
|
||||
myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO +
|
||||
'Inviato messaggio: ' + messaggio;
|
||||
|
||||
if (mydata.data.notifBot) {
|
||||
|
||||
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username,
|
||||
messaggio);
|
||||
|
||||
if (mydata.data.inviaemail) {
|
||||
await sendemail.sendEmail_ByText(myusernuovo.lang,
|
||||
myusernuovo.email, myusernuovo, idapp, {
|
||||
emailbody: messaggio,
|
||||
emailtitle: mytitle,
|
||||
});
|
||||
}
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp,
|
||||
testostaff);
|
||||
await telegrambot.sendMsgTelegram(idapp, req.user.username,
|
||||
testostaff);
|
||||
// await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
|
||||
} else {
|
||||
tools.writeManagersLog(mymsg);
|
||||
}
|
||||
|
||||
const msgsost = '[NAVE ' + navepersistente.riga + '.' +
|
||||
navepersistente.col + '] Sostituito ' +
|
||||
myuservecchio.username + ' (' + myuservecchio.name + ' ' +
|
||||
myuservecchio.surname + ') ' + ' con -> ' +
|
||||
myusernuovo.username + ' (' + myusernuovo.name + ' ' +
|
||||
myusernuovo.surname + '' +
|
||||
') [Posiz. ' + nave.riga + '.' + nave.col + ' ind_order=' +
|
||||
nave.ind_order + '] ' + ' [da ' + dachi + ']';
|
||||
tools.writeSostituzioniLog(msgsost);
|
||||
tools.writeFlottaLog(idapp, msgsost, mydatamsg.flotta.riga,
|
||||
mydatamsg.flotta.col_prima);
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, msgsost,
|
||||
false);
|
||||
|
||||
// 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.message);
|
||||
res.status(400).send();
|
||||
});
|
||||
}
|
||||
}
|
||||
} else if (mydata.myfunc ===
|
||||
shared_consts.CallFunz.AGGIUNGI_NUOVO_IMBARCO) {
|
||||
// Ottieni il prossimo Numero di Tessitura
|
||||
//let num_tess = await Nave.getNextNumTess(idapp, ind_order);
|
||||
// const num_tess = 1;
|
||||
|
||||
/*
|
||||
let listaingr = await ListaIngresso.find({ idapp, ind_order }).sort({ num_tess: 1 });
|
||||
const trovato = listaingr.find((rec) => rec.num_tess === num_tess);
|
||||
if (trovato) {
|
||||
num_tess = listaingr.slice(-1)[0].num_tess + 2;
|
||||
}
|
||||
*/
|
||||
|
||||
// metti l'invitante inizialmente a Te stesso !
|
||||
const invitante_username = req.body.data.invitante_username;
|
||||
|
||||
await ListaIngresso.addUserInListaIngresso(idapp, username,
|
||||
invitante_username, myuser.lang, true, true);
|
||||
|
||||
let arrimbarchi = await ListaIngresso.findAllByUsername(idapp, username);
|
||||
return res.send({code: server_constants.RIS_CODE_OK, arrimbarchi});
|
||||
|
||||
} else if (mydata.myfunc === shared_consts.CallFunz.CANCELLA_IMBARCO) {
|
||||
|
||||
const myrec = await ListaIngresso.getIngrEUserByFilter(idapp,
|
||||
{idapp, _id: ObjectID(mydata.data.id)});
|
||||
|
||||
if (!!myrec) {
|
||||
await ListaIngresso.find({_id: mydata.data.id});
|
||||
|
||||
const risdel = await ListaIngresso.eliminaListaIngresso(idapp,
|
||||
mydata.ind_order, req, mydata.data.num_tess);
|
||||
|
||||
if (risdel) {
|
||||
return res.send({code: server_constants.RIS_CODE_OK, msg: ''});
|
||||
}
|
||||
}
|
||||
|
||||
} else if (mydata.myfunc === shared_consts.CallFunz.ZOOM_GIA_PARTECIPATO) {
|
||||
if (mydata.myfunc === shared_consts.CallFunz.ZOOM_GIA_PARTECIPATO) {
|
||||
|
||||
if (!!myuser.username) {
|
||||
let FormDaMostrare = telegrambot.getFormDaMostrare(idapp, mydata.myfunc,
|
||||
@@ -1152,7 +900,8 @@ router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
|
||||
|
||||
let cancellato = false;
|
||||
|
||||
// tools.NotifyIfDelRecord(tablename);
|
||||
//++Tools: Notify...
|
||||
tools.NotifyIfDelRecord(tablename);
|
||||
|
||||
if (!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm)) {
|
||||
if (tablename === 'users') {
|
||||
@@ -1276,7 +1025,8 @@ function load(req, res, version) {
|
||||
|
||||
let gestoredelSito = '0';
|
||||
if (!!req.user) {
|
||||
gestoredelSito = (User.isAdmin(req.user.perm) || User.isManager(req.user.perm) ||
|
||||
gestoredelSito = (User.isAdmin(req.user.perm) ||
|
||||
User.isManager(req.user.perm) ||
|
||||
User.isEditor(req.user.perm)) ? '1' : '0';
|
||||
}
|
||||
|
||||
@@ -1284,7 +1034,6 @@ function load(req, res, version) {
|
||||
|
||||
// tools.mylog('loadsite : ', req.params);
|
||||
|
||||
|
||||
let bookedevent = [];
|
||||
// let msgs = [];
|
||||
|
||||
@@ -1295,7 +1044,8 @@ function load(req, res, version) {
|
||||
|
||||
if (userId !== '0') {
|
||||
// LOGGED WITH USERID
|
||||
bookedevent = Booking.findAllByUserIdAndIdApp(userId, idapp, gestoredelSito);
|
||||
bookedevent = Booking.findAllByUserIdAndIdApp(userId, idapp,
|
||||
gestoredelSito);
|
||||
}
|
||||
|
||||
// Extract all the todos of the userId only
|
||||
@@ -1357,7 +1107,7 @@ function load(req, res, version) {
|
||||
orderscart = OrdersCart.getOrdersCartByUserId(req.user.id, idapp, 0);
|
||||
}
|
||||
}
|
||||
let askedfriends = []
|
||||
let askedfriends = [];
|
||||
let myuserextra = null;
|
||||
if (req.user) {
|
||||
// askedfriends = User.getAskedFriendsByUsername(idapp, req.user.username);
|
||||
@@ -1506,7 +1256,6 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => {
|
||||
if (User.isAdmin(req.user.perm) || User.isEditor(req.user.perm) ||
|
||||
User.isManager(req.user.perm)) {
|
||||
|
||||
|
||||
// Send UsersList
|
||||
usersList = User.getUsersList(req.user.idapp);
|
||||
// usersList = null;
|
||||
@@ -1621,7 +1370,8 @@ function uploadFile(req, res, version) {
|
||||
form.on('file', async function(name, file) {
|
||||
try {
|
||||
console.log('Uploaded ' + file.name);
|
||||
const mydir = tools.getdirByIdApp(idapp) + dirmain + server_constants.DIR_UPLOAD + '/' + dir;
|
||||
const mydir = tools.getdirByIdApp(idapp) + dirmain +
|
||||
server_constants.DIR_UPLOAD + '/' + dir;
|
||||
|
||||
// Create Dir if doesn't exist:
|
||||
tools.mkdirpath(mydir);
|
||||
@@ -1634,7 +1384,7 @@ function uploadFile(req, res, version) {
|
||||
// filename = uuidv4() + ext;
|
||||
//}
|
||||
|
||||
file.name = filename
|
||||
file.name = filename;
|
||||
let newname = mydir + '/' + file.name;
|
||||
let resized_img = mydir + '/' + server_constants.PREFIX_IMG + filename;
|
||||
|
||||
@@ -1643,7 +1393,7 @@ function uploadFile(req, res, version) {
|
||||
// For local: ... resolve this... sending through the static folder...
|
||||
// res.sendFile(path.resolve(filename));
|
||||
|
||||
oldpath = file.path
|
||||
oldpath = file.path;
|
||||
file.path = newname;
|
||||
|
||||
// Move in the folder application !
|
||||
@@ -1675,13 +1425,13 @@ function uploadFile(req, res, version) {
|
||||
const ris = await resizer(newname, setup_image_compress);
|
||||
|
||||
if (ris) {
|
||||
tools.delete(newname, false, () => {})
|
||||
tools.delete(newname, false, () => {});
|
||||
|
||||
tools.move(resized_img, newname, (err) => {
|
||||
|
||||
})
|
||||
});
|
||||
}
|
||||
}catch (e) {
|
||||
} catch (e) {
|
||||
console.error('newname', e);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user