Ora cambiando Settore, la Categoria viene sbiancata su "Nessuno" (anche se ancora rimane visivamente selezionato)

i campi obbligatori non funziona il controllo? (Erano i campi di tipo Array)
Aggiunta Categoria Ecovillaggi / Comunità + AutoProduzione
Aggiunte consulenza, affrancamento, supporto.. su temi di LAVORO
Quando inserisci un nuovo annuncio, prendi di default tutti i filtri visualizzati
Aggiungere bottone "Condividi Pagina" sui gruppi
This commit is contained in:
paoloar77
2022-02-28 03:33:47 +01:00
parent 12d2eff24a
commit 1d7397bafe
4 changed files with 197 additions and 167 deletions

View File

@@ -22,7 +22,7 @@ module.exports = {
},
{
_id: 6,
descr: 'Benessere e Salute',
descr: 'Benessere',
},
{
_id: 7,
@@ -58,7 +58,7 @@ module.exports = {
},
{
_id: 14,
descr: 'Ecovillaggi',
descr: 'Ecovillaggi / Comunità',
},
{
_id: 15,
@@ -68,5 +68,13 @@ module.exports = {
_id: 16,
descr: 'Altro',
},
{
_id: 17,
descr: 'AutoProduzione',
},
{
_id: 18,
descr: 'Salute',
},
],
};

View File

@@ -107,5 +107,8 @@ module.exports = {
{_id: 105, idSector: [12], descr: 'OSS'},
{_id: 106, idSector: [10], descr: 'Badante'},
{_id: 107, idSector: [6], descr: 'Massaggi'},
{_id: 108, idSector: [10], descr: 'Affrancamento'},
{_id: 109, idSector: [10], descr: 'Supporto'},
{_id: 110, idSector: [10], descr: 'Consulenza'},
],
};

View File

@@ -220,8 +220,9 @@ router.post('/testServer', authenticate_noerror, (req, res) => {
let ris = {test};
if (req.user) {
tools.sendNotificationToUser(req.user._id, 'Test Server', 'Test Server OK',
'/', '', 'server', [])
tools.sendNotificationToUser(req.user._id, 'Test Server',
'Test Server OK',
'/', '', 'server', []);
}
return res.send(ris);
@@ -406,7 +407,7 @@ router.post('/setsubrec', authenticate, (req, res) => {
router.post('/gettable', authenticate, (req, res) => {
const params = req.body;
let idapp = req.user.idapp
let idapp = req.user.idapp;
const mytable = globalTables.getTableByTableName(params.table);
// console.log('mytable', mytable);
if (!mytable) {
@@ -423,8 +424,9 @@ router.post('/gettable', authenticate, (req, res) => {
console.error('gettable: ' + e.message);
res.status(400).send(e);
});
}catch (e) {
console.error(`ERROR gettable ${params.table}: `, e.message, 'params', params);
} catch (e) {
console.error(`ERROR gettable ${params.table}: `, e.message, 'params',
params);
res.status(500).send(e);
}
@@ -432,7 +434,7 @@ router.post('/gettable', authenticate, (req, res) => {
router.post('/pickup', authenticate, (req, res) => {
const params = req.body;
let idapp = req.user.idapp
let idapp = req.user.idapp;
let mytable = globalTables.getTableByTableName(params.table);
// console.log('mytable', mytable);
if (!mytable) {
@@ -496,188 +498,203 @@ router.patch('/chval', authenticate, async (req, res) => {
const idapp = req.user.idapp;
const mydata = req.body.data;
const mytable = globalTables.getTableByTableName(mydata.table);
const fieldsvalue = mydata.fieldsvalue;
const unset = mydata.unset;
try {
const mytable = globalTables.getTableByTableName(mydata.table);
const fieldsvalue = mydata.fieldsvalue;
const unset = mydata.unset;
// tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
// tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
// If I change my record...
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) &&
!User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) &&
(req.user._id.toString() !== id) &&
!tools.ModificheConsentite(mydata.table, fieldsvalue)) {
// If without permissions, exit
return res.status(404).
send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''});
}
const camporequisiti = UserCost.FIELDS_REQUISITI.includes(
Object.keys(fieldsvalue)[0]);
let allData = {};
if (mydata.table === 'users') {
if (camporequisiti) {
allData = {};
allData.myuser = await User.getUserById(idapp, id);
if (!!allData.myuser)
allData.precDataUser = await User.getInfoUser(idapp,
allData.myuser.username);
else
allData.precDataUser = null;
// allData.useraportador = await ListaIngresso.getUserByInvitante_Username(idapp, allData.myuser.aportador_solidario);
// allData.precDataAportador = await getInfoUser(idapp, allData.myuser.aportador_solidario);
// If I change my record...
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) &&
!User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) &&
(req.user._id.toString() !== id) &&
!tools.ModificheConsentite(mydata.table, fieldsvalue)) {
// If without permissions, exit
return res.status(404).
send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''});
}
}
let index = 0;
const camporequisiti = UserCost.FIELDS_REQUISITI.includes(
Object.keys(fieldsvalue)[0]);
let recoldnave = null;
let myuser = null;
let mydatamsg = {};
let flotta = null;
let strflotta = '';
if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(mydata.table)) {
fieldsvalue.date_updated = new Date();
}
const numobj = tools.getNumObj(fieldsvalue);
if (numobj === 1 && fieldsvalue['_id']) {
const myrec = await mytable.findById(id);
const myidDel = myrec['_id'];
myrec['_id'] = fieldsvalue['_id'];
return await mytable.insertMany(myrec).then((ris) => {
if (ris) {
return mytable.deleteMany({_id: myidDel}).then((risdel) => {
return res.send({code: server_constants.RIS_CODE_OK, msg: ''});
});
} else {
return res.status(404).send();
let allData = {};
if (mydata.table === 'users') {
if (camporequisiti) {
allData = {};
allData.myuser = await User.getUserById(idapp, id);
if (!!allData.myuser)
allData.precDataUser = await User.getInfoUser(idapp,
allData.myuser.username);
else
allData.precDataUser = null;
// allData.useraportador = await ListaIngresso.getUserByInvitante_Username(idapp, allData.myuser.aportador_solidario);
// allData.precDataAportador = await getInfoUser(idapp, allData.myuser.aportador_solidario);
}
});
}
tools.refreshAllTablesInMem(idapp, mydata.table);
if (mydata.table === shared_consts.TAB_SETTINGS) {
if (shared_consts.KEY_TO_CRYPTED.includes(fieldsvalue.key)) {
fieldsvalue.crypted = true;
fieldsvalue.value_str = tools.cryptdata(fieldsvalue.value_str);
}
}
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]);
}
}
let index = 0;
let recoldnave = null;
await mytable.findByIdAndUpdate(id, {$set: fieldsvalue}).then(async (rec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) {
return res.status(404).send();
} else {
let addmsg = '';
let myuser = null;
let mydatamsg = {};
if (mydata.notifBot) {
// Send Notification to the BOT
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un,
mydata.notifBot.txt);
if (!!addmsg)
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un, addmsg);
let addtext = '[Msg Inviato a ' + mydata.notifBot.un + ']:' + '\n' +
mydata.notifBot.txt;
telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, true);
let flotta = null;
let strflotta = '';
if (!!flotta)
tools.writeFlottaLog(idapp, addtext, flotta.riga, flotta.col_prima);
}
if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(mydata.table)) {
fieldsvalue.date_updated = new Date();
}
if (mydata.table === 'users') {
if (camporequisiti) {
await User.checkIfSbloccatiRequisiti(idapp, allData, id);
const numobj = tools.getNumObj(fieldsvalue);
if (numobj === 1 && fieldsvalue['_id']) {
const myrec = await mytable.findById(id);
const myidDel = myrec['_id'];
myrec['_id'] = fieldsvalue['_id'];
return await mytable.insertMany(myrec).then((ris) => {
if (ris) {
return mytable.deleteMany({_id: myidDel}).then((risdel) => {
return res.send({code: server_constants.RIS_CODE_OK, msg: ''});
});
} else {
return res.status(404).send();
}
});
}
if ('aportador_solidario' in fieldsvalue) {
let ind_order_ingr = mydata.ind_order_ingr;
// SERVE SE CI METTO LE MINUSCOLE/MAIUSCOLE SBAGLIATE in invitante_username!
const myuserfound = await User.findByUsername(idapp,
fieldsvalue.aportador_solidario, false);
if (!!myuserfound) {
if (!!myuserfound._id && !myuserfound.deleted) {
const aportador = await User.getUsernameById(idapp,
myuserfound._id);
fieldsvalue.aportador_solidario = aportador;
//Aggiorna record !
await mytable.findByIdAndUpdate(id, {$set: fieldsvalue});
tools.refreshAllTablesInMem(idapp, mydata.table);
}
if (mydata.table === shared_consts.TAB_SETTINGS) {
if (shared_consts.KEY_TO_CRYPTED.includes(fieldsvalue.key)) {
fieldsvalue.crypted = true;
fieldsvalue.value_str = tools.cryptdata(fieldsvalue.value_str);
}
}
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]);
}
}
await mytable.findByIdAndUpdate(id, {$set: fieldsvalue}).
then(async (rec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) {
return res.status(404).send();
} else {
res.send(
{code: server_constants.RIS_CODE_ERR, msg: 'Non aggiornato'});
res.status(400).send();
return false;
}
} else if ('deleted' in fieldsvalue) {
let msg = '';
if (fieldsvalue.deleted)
msg = 'cancellato (nascosto)';
else
msg = 'Ripristinato';
let addmsg = '';
await telegrambot.sendMsgTelegramToTheManagers(idapp,
`L\'utente ` + tools.getNomeCognomeEUserNameByUser(rec) +
` è stato ${msg} da ` +
tools.getNomeCognomeEUserNameByUser(req.user));
}
}
if (mydata.notifBot) {
// Send Notification to the BOT
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un,
mydata.notifBot.txt);
if (!!addmsg)
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un,
addmsg);
let addtext = '[Msg Inviato a ' + mydata.notifBot.un + ']:' +
'\n' +
mydata.notifBot.txt;
telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, true);
if (tools.ModificheConsentite(mydata.table, fieldsvalue)) {
let msg = '';
if (mydata.table === 'users') {
if ('aportador_solidario' in fieldsvalue) {
const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,
fieldsvalue.aportador_solidario);
const nomecognomeas = await User.getNameSurnameByUsername(idapp,
rec.aportador_solidario);
msg = `Variato l'invitante di ` +
tools.getNomeCognomeEUserNameByUser(rec) +
'\nmodificato da ' +
tools.getNomeCognomeEUserNameByUser(req.user) +
' \n' +
'Prima: ' + nomecognomeas + ' (' + rec.aportador_solidario +
')\n' +
'Dopo: ' + nomecognomenuovo + ' (' +
fieldsvalue.aportador_solidario + ') ]';
// Metti l'iniziale
if (!await User.AportadorOrig(id)) {
await mytable.findByIdAndUpdate(id,
{$set: {aportador_iniziale: fieldsvalue.aportador_solidario}},
{new: false});
if (!!flotta)
tools.writeFlottaLog(idapp, addtext, flotta.riga,
flotta.col_prima);
}
if (mydata.table === 'users') {
if (camporequisiti) {
await User.checkIfSbloccatiRequisiti(idapp, allData, id);
}
if ('aportador_solidario' in fieldsvalue) {
let ind_order_ingr = mydata.ind_order_ingr;
// SERVE SE CI METTO LE MINUSCOLE/MAIUSCOLE SBAGLIATE in invitante_username!
const myuserfound = await User.findByUsername(idapp,
fieldsvalue.aportador_solidario, false);
if (!!myuserfound) {
if (!!myuserfound._id && !myuserfound.deleted) {
const aportador = await User.getUsernameById(idapp,
myuserfound._id);
fieldsvalue.aportador_solidario = aportador;
//Aggiorna record !
await mytable.findByIdAndUpdate(id, {$set: fieldsvalue});
}
} else {
res.send(
{
code: server_constants.RIS_CODE_ERR,
msg: 'Non aggiornato',
});
res.status(400).send();
return false;
}
} else if ('deleted' in fieldsvalue) {
let msg = '';
if (fieldsvalue.deleted)
msg = 'cancellato (nascosto)';
else
msg = 'Ripristinato';
await telegrambot.sendMsgTelegramToTheManagers(idapp,
`L\'utente ` + tools.getNomeCognomeEUserNameByUser(rec) +
` è stato ${msg} da ` +
tools.getNomeCognomeEUserNameByUser(req.user));
}
}
if (tools.ModificheConsentite(mydata.table, fieldsvalue)) {
let msg = '';
if (mydata.table === 'users') {
if ('aportador_solidario' in fieldsvalue) {
const nomecognomenuovo = await User.getNameSurnameByUsername(
idapp,
fieldsvalue.aportador_solidario);
const nomecognomeas = await User.getNameSurnameByUsername(
idapp,
rec.aportador_solidario);
msg = `Variato l'invitante di ` +
tools.getNomeCognomeEUserNameByUser(rec) +
'\nmodificato da ' +
tools.getNomeCognomeEUserNameByUser(req.user) +
' \n' +
'Prima: ' + nomecognomeas + ' (' +
rec.aportador_solidario +
')\n' +
'Dopo: ' + nomecognomenuovo + ' (' +
fieldsvalue.aportador_solidario + ') ]';
// Metti l'iniziale
if (!await User.AportadorOrig(id)) {
await mytable.findByIdAndUpdate(id,
{$set: {aportador_iniziale: fieldsvalue.aportador_solidario}},
{new: false});
}
}
}
if (msg !== '')
telegrambot.sendMsgTelegramToTheManagers(idapp, msg);
}
res.send({code: server_constants.RIS_CODE_OK, msg: ''});
}
}
if (msg !== '')
telegrambot.sendMsgTelegramToTheManagers(idapp, msg);
}
res.send({code: server_constants.RIS_CODE_OK, msg: ''});
}
}).catch((e) => {
tools.mylogserr('Error patch USER: ', e.message);
}).
catch((e) => {
tools.mylogserr('Error patch USER: ', e.message);
res.status(400).send();
});
} catch (e) {
tools.mylogserr('Error chval: ', e.message);
res.status(400).send();
});
}
});

View File

@@ -939,6 +939,7 @@ async function eseguiDbOp(idapp, mydata, locale) {
const {AdType} = require('../models/adtype');
const {AdTypeGood} = require('../models/adtypegood');
const {StatusSkill} = require('../models/statusSkill');
const {CatGrp} = require('../models/catgrp');
await Sector.deleteMany({});
await SectorGood.deleteMany({});
@@ -949,6 +950,7 @@ async function eseguiDbOp(idapp, mydata, locale) {
await AdType.deleteMany({});
await AdTypeGood.deleteMany({});
await StatusSkill.deleteMany({});
await CatGrp.deleteMany({});
ris = await populate.popolaTabelleNuove();