From 6d06f03ef974e77296f3f4cebfbfed28746fb16e Mon Sep 17 00:00:00 2001 From: yuri Date: Fri, 20 Apr 2018 13:56:09 +0300 Subject: [PATCH] fix frontend acl --- client/src/acl-manager.js | 2 +- client/src/acl.js | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/client/src/acl-manager.js b/client/src/acl-manager.js index 97da6aa466..fd1e902d65 100644 --- a/client/src/acl-manager.js +++ b/client/src/acl-manager.js @@ -156,7 +156,7 @@ Espo.define('acl-manager', ['acl'], function (Acl) { }, checkInTeam: function (model) { - return this.getImplementation(model.name).checkIsOwner(model); + return this.getImplementation(model.name).checkInTeam(model); }, checkAssignmentPermission: function (user) { diff --git a/client/src/acl.js b/client/src/acl.js index 1c3aa3ea5f..868be60295 100644 --- a/client/src/acl.js +++ b/client/src/acl.js @@ -170,14 +170,24 @@ Espo.define('acl', [], function () { }, checkIsOwner: function (model) { + var result = false; + if (model.hasField('assignedUser')) { if (this.getUser().id === model.get('assignedUserId')) { return true; + } else { + if (!model.has('assignedUserId')) { + result = null; + } } } else { if (model.hasField('createdBy')) { if (this.getUser().id === model.get('createdById')) { return true; + } else { + if (!model.has('createdById')) { + result = null; + } } } } @@ -189,10 +199,12 @@ Espo.define('acl', [], function () { if (~(model.get('assignedUsersIds') || []).indexOf(this.getUser().id)) { return true; + } else { + result = false; } } - return false; + return result; }, checkInTeam: function (model) { @@ -220,4 +232,3 @@ Espo.define('acl', [], function () { return Acl; }); -