diff --git a/src/server/models/circuit.js b/src/server/models/circuit.js index f10dce5..2786522 100755 --- a/src/server/models/circuit.js +++ b/src/server/models/circuit.js @@ -861,18 +861,6 @@ CircuitSchema.statics.setstrProvByIdCityCircuits = async function (idapp) { }; -CircuitSchema.statics.SetDefMinMaxCollettivi = async function (idapp, valmin, valmax) { - - ris = await Circuit.updateMany({ idapp, contocom: { "$nin": [null, ""] } }, - { - $set: - { - fido_scoperto_default: valmin, - qta_max_default: valmax, - } - }); - -}; CircuitSchema.statics.AbilitaTuttiCircuiti = async function (idapp) { @@ -884,20 +872,32 @@ CircuitSchema.statics.AbilitaTuttiCircuiti = async function (idapp) { } }); - return ris; + return ris; }; // Imposta a tutti i Conti Personali, i seguenti minimi e massimi -CircuitSchema.statics.SetDefMinMaxPersonali = async function (idapp, valmin, valmax) { +CircuitSchema.statics.SetDefMinMaxPersonali = async function (idapp, valmin, valmax, circuitId) { - ris = await Circuit.updateMany({ idapp }, - { - $set: + if (circuitId) { + ris = await Circuit.updateOne({ _id: circuitId }, { - fido_scoperto_default: valmin, - qta_max_default: valmax, - } - }); + $set: + { + fido_scoperto_default: valmin, + qta_max_default: valmax, + } + }); + } else { + + ris = await Circuit.updateMany({ idapp }, + { + $set: + { + fido_scoperto_default: valmin, + qta_max_default: valmax, + } + }); + } }; @@ -991,16 +991,27 @@ CircuitSchema.statics.getListCircuitsByUsername = async function (idapp, usernam }; -CircuitSchema.statics.SetDefMinMaxCollettivi = async function (idapp, valmin, valmax) { +CircuitSchema.statics.SetDefMinMaxCollettivi = async function (idapp, valmin, valmax, circuitId) { - ris = await Circuit.updateMany({ idapp }, - { - $set: + if (circuitId) { + ris = await Circuit.updateOne({ _id: circuitId }, { - fido_scoperto_default_grp: valmin, - qta_max_default_grp: valmax, - } - }); + $set: + { + fido_scoperto_default_grp: valmin, + qta_max_default_grp: valmax, + } + }); + } else { + ris = await Circuit.updateMany({ idapp }, + { + $set: + { + fido_scoperto_default_grp: valmin, + qta_max_default_grp: valmax, + } + }); + } }; diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index 0b6d93c..22327a6 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -413,6 +413,19 @@ router.post('/settable', authenticate, async (req, res) => { resolve(mytablerec._id && mytable.findById(mytablerec._id)) }); + // Controlla se esiste giĆ  questo record: + if (shared_consts.TABLES_FIELDS_DESCR_AND_CITY_AND_USER.includes(params.table)) { + if (mytablerec.isNew) { + const trovatoDuplicato = await mytable.findOne({idapp: mytablerec.idapp, descr: mytablerec.descr, idCity: mytablerec.idCity, userId: mytablerec.userId }).lean(); + if (trovatoDuplicato) { + // trovatoDuplicato + return res.status(200).send({ code: server_constants.RIS_CODE_REC_DUPLICATED_DESCR_CITY_USER, msg: '' }); + + + } + } + } + return await myPromise .then(async (doupdate) => { if (doupdate) diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index 3c3c1a7..c1d0494 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -1309,11 +1309,11 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) { } else if (mydata.dbop === 'ImpostaDefMinMaxPersonali') { - await Circuit.SetDefMinMaxPersonali(idapp, mydata.valmin, mydata.valmax); + await Circuit.SetDefMinMaxPersonali(idapp, mydata.valmin, mydata.valmax, mydata.circuitId); } else if (mydata.dbop === 'ImpostaDefMinMaxCollettivi') { - await Circuit.SetDefMinMaxCollettivi(idapp, mydata.valmin, mydata.valmax); + await Circuit.SetDefMinMaxCollettivi(idapp, mydata.valmin, mydata.valmax, mydata.circuitId); } else if (mydata.dbop === 'AbilitaTuttiCircuiti') { diff --git a/src/server/tools/server_constants.js b/src/server/tools/server_constants.js index 16148ba..9eb620b 100755 --- a/src/server/tools/server_constants.js +++ b/src/server/tools/server_constants.js @@ -6,6 +6,7 @@ module.exports = Object.freeze({ RIS_CODE_EMAIL_ALREADY_VERIFIED: -5, RIS_CODE_EMAIL_VERIFIED: 1, + RIS_CODE_REC_DUPLICATED_DESCR_CITY_USER: -110, RIS_CODE_REC_ALREADY_EXIST_SYMBOL: -102, RIS_CODE_REC_ALREADY_EXIST_CODE: -101, RIS_CODE_REC_ALREADY_EXIST_NAME: -100, diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index c42fd0c..77460ea 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -206,6 +206,8 @@ module.exports = { TABLES_CREATEDBY: ['mygroups', 'circuits'], TABLES_UPDATE_LASTMODIFIED: ['myskills', 'mybachecas', 'myhosps', 'mygoods', 'bots', 'mygroups', 'circuits'], + TABLES_FIELDS_DESCR_AND_CITY_AND_USER: ['myskills', 'mybachecas', 'myhosps', 'mygoods'], + TABLES_PERM_CHANGE_FOR_USERS: ['myskills', 'mybachecas', 'myhosps', 'mygoods'], TABLES_POPULATE_DATA: [