diff --git a/db/changes/232801/00-fix_editCredit.sql b/db/changes/232801/00-fix_editCredit.sql index 40571ddb5..ff0d9e2b3 100644 --- a/db/changes/232801/00-fix_editCredit.sql +++ b/db/changes/232801/00-fix_editCredit.sql @@ -4,4 +4,10 @@ UPDATE `salix`.`ACL` model = 'Client' AND property = 'editCredit'; +UPDATE `salix`.`ACL` + SET property='zeroCreditEditor' + WHERE + model = 'Client' + AND property = 'isNotEditableCredit'; + diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index 000a99de7..e17ed5ec7 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -413,18 +413,18 @@ module.exports = Self => { order: 'id DESC' }, ctx.options); - if (lastCredit) { - const canEdit = - await models.ACL.checkAccessAcl(accessToken, 'Client', 'isNotEditableCredit', 'WRITE'); + if (lastCredit && lastCredit.amount == 0) { + const zeroCreditEditor = + await models.ACL.checkAccessAcl(accessToken, 'Client', 'zeroCreditEditor', 'WRITE'); const lastCreditIsNotEditable = await models.ACL.checkAccessAcl( {req: {accessToken: {userId: lastCredit.workerFk}}}, 'Client', - 'isNotEditableCredit', + 'zeroCreditEditor', 'WRITE' ); - if (lastCredit.amount == 0 && lastCreditIsNotEditable && !canEdit) + if (lastCreditIsNotEditable && !zeroCreditEditor) throw new UserError(`You can't change the credit set to zero from a financialBoss`); }