- Add New Record directly by the QSelect

This commit is contained in:
paoloar77
2022-01-28 00:57:39 +01:00
parent 842a041fe5
commit fd79893ddc
7 changed files with 133 additions and 83 deletions

View File

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