diff --git a/src/server/models/myskill.js b/src/server/models/myskill.js index 5ea2b9a..d44326f 100755 --- a/src/server/models/myskill.js +++ b/src/server/models/myskill.js @@ -22,6 +22,9 @@ const MySkillSchema = new Schema({ required: true, }, userId: {type: Schema.Types.ObjectId, ref: 'User'}, + idSector: { + type: Number, + }, idSkill: { type: Number, default: 0, @@ -65,6 +68,9 @@ const MySkillSchema = new Schema({ subTitle: { type: String, }, + descr: { + type: String, + }, date_created: { type: Date, default: Date.now, @@ -209,6 +215,7 @@ MySkillSchema.statics.getMySkillByIdkill = function (idapp, idSkill) { "$project": { "recSkill": 1, "sector": 1, + "idSector": 1, "idSkill": 1, "idSubSkill": 1, "idStatusSkill": 1, @@ -257,6 +264,7 @@ MySkillSchema.statics.getMySkillByIdkill = function (idapp, idSkill) { "$project": { "recSkill": 1, "sector": 1, + "idSector": 1, "idSkill": 1, "idSubSkill": 1, "idStatusSkill": 1, @@ -305,6 +313,7 @@ MySkillSchema.statics.getMySkillByIdkill = function (idapp, idSkill) { "$project": { "recSkill": 1, "sector": 1, + "idSector": 1, "idSkill": 1, "idSubSkill": 1, "idStatusSkill": 1, @@ -353,6 +362,7 @@ MySkillSchema.statics.getMySkillByIdkill = function (idapp, idSkill) { "$project": { "recSkill": 1, "sector": 1, + "idSector": 1, "idSkill": 1, "idSubSkill": 1, "idStatusSkill": 1, @@ -401,6 +411,7 @@ MySkillSchema.statics.getMySkillByIdkill = function (idapp, idSkill) { "$project": { "recSkill": 1, "sector": 1, + "idSector": 1, "idSkill": 1, "idSubSkill": 1, "idStatusSkill": 1, diff --git a/src/server/populate/contribtypes.js b/src/server/populate/contribtypes.js index e07e9bd..5a7ad26 100644 --- a/src/server/populate/contribtypes.js +++ b/src/server/populate/contribtypes.js @@ -41,12 +41,6 @@ module.exports = { "__v" : 0, "label" : "Scambio di Lavoro" }, - { - "_id" : ObjectID("61cae7da4c7b5931a5f367c9"), - "idapp" : "1", - "__v" : 0, - "label" : "Sardex" - }, { "_id" : ObjectID("615a353c002c8298f4495bf7"), "idapp" : "12", @@ -86,11 +80,5 @@ module.exports = { "__v" : 0, "label" : "Scambio di Lavoro" }, - { - "_id" : ObjectID("61cae7da4c7b5931a5f36712"), - "idapp" : "12", - "__v" : 0, - "label" : "Sardex" - }, ] } diff --git a/src/server/populate/populate.js b/src/server/populate/populate.js index cbf1118..6a4255a 100644 --- a/src/server/populate/populate.js +++ b/src/server/populate/populate.js @@ -25,7 +25,8 @@ module.exports = { }, popolaTabelleNuove() { - const abilita = false; + const abilita = true; + const scrivi_citta = false; let ris = null; if (abilita) { @@ -41,13 +42,15 @@ module.exports = { const { SubSkill } = require('../models/subskill'); this.insertIntoDb('subskills', SubSkill) - // Cities - const {City} = require('../models/city'); - this.insertIntoDb('cities', City) + if (scrivi_citta) { + // Cities + const {City} = require('../models/city'); + this.insertIntoDb('cities', City) - // Province - const { Province } = require('../models/province'); - this.insertIntoDb('provinces', Province) + // Province + const {Province} = require('../models/province'); + this.insertIntoDb('provinces', Province) + } // Contribtypes const { Contribtype } = require('../models/contribtype'); diff --git a/src/server/populate/sectors.js b/src/server/populate/sectors.js index 0fa7d9b..f53e6d9 100644 --- a/src/server/populate/sectors.js +++ b/src/server/populate/sectors.js @@ -6,31 +6,51 @@ module.exports = { }, { _id: 2, + descr: "Arte", + }, + { + _id: 3, descr: "Alimentazione", }, { - _id: 1, + _id: 4, + descr: "Artigianato", + }, + { + _id: 5, + descr: "Assistenza Legale", + }, + { + _id: 6, + descr: "Benessere e Salute", + }, + { + _id: 7, descr: "Gruppi Locali", }, { - _id: 1, + _id: 8, descr: "Istruzione", }, { - _id: 1, + _id: 9, descr: "Mobilità", }, { - _id: 1, - descr: "Salute", - }, - { - _id: 1, + _id: 10, descr: "Sport", }, { - _id: 1, + _id: 11, + descr: "Servizi", + }, + { + _id: 12, descr: "Tecnologia", }, + { + _id: 13, + descr: "Turismo", + }, ] } diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index c3d5666..ba57c9b 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -339,63 +339,81 @@ router.post('/settable', authenticate, (req, res) => { mydata.idapp = req.user.idapp; - if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && - !User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) && - !tools.ModificheConsentite(params.table, fieldsvalue)) { - // If without permissions, exit - return res.status(404). - send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''}); - } + let consentito = false; - if (shared_consts.TABLES_USER_ID.includes(params.table)) { - mydata.userId = req.user._id; - } - - delete mydata['__v']; - delete mydata['__proto__']; - - let mytablerec = new mytable(mydata); - // console.log('mytablerec', mytablerec); - - const mytablestrutt = getTableByTableName(params.table); - - if (mydata['_id'] !== undefined && mydata['_id'] !== 0) { - mytablerec.isNew = false; - } - - if (shared_consts.TABLES_ID_NUMBER.includes(params.table)) { - } else if (params.table === 'hours') { - - } else { - if (mydata['_id'] === undefined) { - mydata._id = new ObjectID(); + try { + if (User.isAdmin(req.user.perm) || User.isManager(req.user.perm) || + User.isEditor(req.user.perm) || User.isTutor(req.user.perm)) { + consentito = true; } - } - return mytablerec.save().then(rec => { - // tools.mylog('rec', rec); - return res.send(rec); + if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && + !User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) && + !tools.ModificheConsentite(params.table, fieldsvalue)) { + // If without permissions, exit + return res.status(404). + send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''}); + } - }).catch((e) => { - if (e.code === 11000) { - const id = mytablerec._id; - delete mytablerec._doc['_id']; - const myfields = mytablerec._doc; - if (!myfields.userId) { - myfields.userId = req.user._id.toString(); + if (shared_consts.TABLES_USER_ID.includes(params.table)) { + mydata.userId = req.user._id; + } + + if (shared_consts.TABLES_PERM_NEWREC.includes(params.table)) { + if (!consentito) { + mydata.verifyrec = false; } - return mytablestrutt.findByIdAndUpdate(id, {$set: myfields}). - then(async (rec) => { - return res.send(rec); - }). - catch((err) => { - tools.mylog('error: ', err.message); - return res.status(400).send(err); - }); - } else { - console.log(e.message); } - }); + + delete mydata['__v']; + delete mydata['__proto__']; + + let mytablerec = new mytable(mydata); + // console.log('mytablerec', mytablerec); + + const mytablestrutt = getTableByTableName(params.table); + + if (mydata['_id'] !== undefined && mydata['_id'] !== 0) { + mytablerec.isNew = false; + } + + if (shared_consts.TABLES_ID_NUMBER.includes(params.table)) { + } else if (params.table === 'hours') { + + } else { + if (mydata['_id'] === undefined) { + mydata._id = new ObjectID(); + } + } + + return mytablerec.save().then(rec => { + // tools.mylog('rec', rec); + return res.send(rec); + + }).catch((e) => { + if (e.code === 11000) { + const id = mytablerec._id; + delete mytablerec._doc['_id']; + const myfields = mytablerec._doc; + if (!myfields.userId) { + myfields.userId = req.user._id.toString(); + } + return mytablestrutt.findByIdAndUpdate(id, {$set: myfields}). + then(async (rec) => { + return res.send(rec); + }). + catch((err) => { + tools.mylog('error: ', err.message); + return res.status(400).send(err); + }); + } else { + console.log(e.message); + } + }); + + }catch (e) { + return res.status(400).send(e); + } }); @@ -1653,13 +1671,19 @@ function uploadFile(req, res, version) { // Salva le immagini in formato compresso (async () => { - await resizer(newname, setup_image_compress); + try { + const ris = await resizer(newname, setup_image_compress); - tools.delete(newname, false, () => {}) + if (ris) { + tools.delete(newname, false, () => {}) - tools.move(resized_img, newname, (err) => { + tools.move(resized_img, newname, (err) => { - }) + }) + } + }catch (e) { + console.error('newname', e); + } })(); res.end(); diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 92821c2..b3f76f0 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -2090,6 +2090,9 @@ module.exports = { if (shared_consts.TABLES_PERM_CHANGE_FOR_USERS.includes(table)) { return true; } + if (shared_consts.TABLES_PERM_NEWREC.includes(table)) { + return true; + } return false; }, diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index c34c8ee..d0ed632 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -73,6 +73,7 @@ module.exports = { TABLES_UPDATE_LASTMODIFIED: ['myskills', 'mybots'], TABLES_PERM_CHANGE_FOR_USERS: ['myskills'], + TABLES_PERM_NEWREC: ['skills', 'subskills'], VISIB_ALL: 0, VISIB_ONLYIF_VERIFIED: 1,