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, _id: 6,
descr: 'Benessere e Salute', descr: 'Benessere',
}, },
{ {
_id: 7, _id: 7,
@@ -58,7 +58,7 @@ module.exports = {
}, },
{ {
_id: 14, _id: 14,
descr: 'Ecovillaggi', descr: 'Ecovillaggi / Comunità',
}, },
{ {
_id: 15, _id: 15,
@@ -68,5 +68,13 @@ module.exports = {
_id: 16, _id: 16,
descr: 'Altro', 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: 105, idSector: [12], descr: 'OSS'},
{_id: 106, idSector: [10], descr: 'Badante'}, {_id: 106, idSector: [10], descr: 'Badante'},
{_id: 107, idSector: [6], descr: 'Massaggi'}, {_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}; let ris = {test};
if (req.user) { if (req.user) {
tools.sendNotificationToUser(req.user._id, 'Test Server', 'Test Server OK', tools.sendNotificationToUser(req.user._id, 'Test Server',
'/', '', 'server', []) 'Test Server OK',
'/', '', 'server', []);
} }
return res.send(ris); return res.send(ris);
@@ -406,7 +407,7 @@ router.post('/setsubrec', authenticate, (req, res) => {
router.post('/gettable', authenticate, (req, res) => { router.post('/gettable', authenticate, (req, res) => {
const params = req.body; const params = req.body;
let idapp = req.user.idapp let idapp = req.user.idapp;
const mytable = globalTables.getTableByTableName(params.table); const mytable = globalTables.getTableByTableName(params.table);
// console.log('mytable', mytable); // console.log('mytable', mytable);
if (!mytable) { if (!mytable) {
@@ -423,8 +424,9 @@ router.post('/gettable', authenticate, (req, res) => {
console.error('gettable: ' + e.message); console.error('gettable: ' + e.message);
res.status(400).send(e); res.status(400).send(e);
}); });
}catch (e) { } catch (e) {
console.error(`ERROR gettable ${params.table}: `, e.message, 'params', params); console.error(`ERROR gettable ${params.table}: `, e.message, 'params',
params);
res.status(500).send(e); res.status(500).send(e);
} }
@@ -432,7 +434,7 @@ router.post('/gettable', authenticate, (req, res) => {
router.post('/pickup', authenticate, (req, res) => { router.post('/pickup', authenticate, (req, res) => {
const params = req.body; const params = req.body;
let idapp = req.user.idapp let idapp = req.user.idapp;
let mytable = globalTables.getTableByTableName(params.table); let mytable = globalTables.getTableByTableName(params.table);
// console.log('mytable', mytable); // console.log('mytable', mytable);
if (!mytable) { if (!mytable) {
@@ -496,188 +498,203 @@ router.patch('/chval', authenticate, async (req, res) => {
const idapp = req.user.idapp; const idapp = req.user.idapp;
const mydata = req.body.data; const mydata = req.body.data;
const mytable = globalTables.getTableByTableName(mydata.table); try {
const fieldsvalue = mydata.fieldsvalue; const mytable = globalTables.getTableByTableName(mydata.table);
const unset = mydata.unset; 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 I change my record...
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) &&
!User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) && !User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) &&
(req.user._id.toString() !== id) && (req.user._id.toString() !== id) &&
!tools.ModificheConsentite(mydata.table, fieldsvalue)) { !tools.ModificheConsentite(mydata.table, fieldsvalue)) {
// If without permissions, exit // If without permissions, exit
return res.status(404). return res.status(404).
send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''}); 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);
} }
}
let index = 0; const camporequisiti = UserCost.FIELDS_REQUISITI.includes(
Object.keys(fieldsvalue)[0]);
let recoldnave = null; let allData = {};
if (mydata.table === 'users') {
let myuser = null; if (camporequisiti) {
let mydatamsg = {}; allData = {};
allData.myuser = await User.getUserById(idapp, id);
let flotta = null; if (!!allData.myuser)
let strflotta = ''; allData.precDataUser = await User.getInfoUser(idapp,
allData.myuser.username);
if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(mydata.table)) { else
fieldsvalue.date_updated = new Date(); allData.precDataUser = null;
} // allData.useraportador = await ListaIngresso.getUserByInvitante_Username(idapp, allData.myuser.aportador_solidario);
// allData.precDataAportador = await getInfoUser(idapp, allData.myuser.aportador_solidario);
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();
} }
});
}
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) => { let myuser = null;
// tools.mylogshow(' REC TO MODIFY: ', rec); let mydatamsg = {};
if (!rec) {
return res.status(404).send();
} else {
let addmsg = '';
if (mydata.notifBot) { let flotta = null;
// Send Notification to the BOT let strflotta = '';
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 (!!flotta) if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(mydata.table)) {
tools.writeFlottaLog(idapp, addtext, flotta.riga, flotta.col_prima); fieldsvalue.date_updated = new Date();
} }
if (mydata.table === 'users') { const numobj = tools.getNumObj(fieldsvalue);
if (camporequisiti) { if (numobj === 1 && fieldsvalue['_id']) {
await User.checkIfSbloccatiRequisiti(idapp, allData, 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) { tools.refreshAllTablesInMem(idapp, mydata.table);
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});
} 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 { } else {
res.send( let addmsg = '';
{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, if (mydata.notifBot) {
`L\'utente ` + tools.getNomeCognomeEUserNameByUser(rec) + // Send Notification to the BOT
` è stato ${msg} da ` + await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un,
tools.getNomeCognomeEUserNameByUser(req.user)); 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)) { if (!!flotta)
let msg = ''; tools.writeFlottaLog(idapp, addtext, flotta.riga,
if (mydata.table === 'users') { flotta.col_prima);
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 (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: ''});
} }
} }).
catch((e) => {
if (msg !== '') tools.mylogserr('Error patch USER: ', e.message);
telegrambot.sendMsgTelegramToTheManagers(idapp, msg); res.status(400).send();
} });
} catch (e) {
res.send({code: server_constants.RIS_CODE_OK, msg: ''}); tools.mylogserr('Error chval: ', e.message);
}
}).catch((e) => {
tools.mylogserr('Error patch USER: ', e.message);
res.status(400).send(); res.status(400).send();
}); }
}); });

View File

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