From cdbcc3c712a0a52068b5d328b355402cd11a16ac Mon Sep 17 00:00:00 2001 From: simontigers <47096077+simontigers@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:08:07 +0800 Subject: [PATCH] fix(api): add check in acl call common after add user --- cmdb-api/api/lib/perm/acl/user.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cmdb-api/api/lib/perm/acl/user.py b/cmdb-api/api/lib/perm/acl/user.py index d6f2fdd..1d56b74 100644 --- a/cmdb-api/api/lib/perm/acl/user.py +++ b/cmdb-api/api/lib/perm/acl/user.py @@ -41,6 +41,7 @@ class UserCRUD(object): @classmethod def add(cls, **kwargs): + add_from = kwargs.pop('add_from', None) existed = User.get_by(username=kwargs['username']) existed and abort(400, ErrFormat.user_exists.format(kwargs['username'])) @@ -62,10 +63,11 @@ class UserCRUD(object): AuditCRUD.add_role_log(None, AuditOperateType.create, AuditScope.user, user.uid, {}, user.to_dict(), {}, {} ) - from api.lib.common_setting.employee import EmployeeCRUD - payload = {column: getattr(user, column) for column in ['uid', 'username', 'nickname', 'email', 'block']} - payload['rid'] = role.id - EmployeeCRUD.add_employee_from_acl_created(**payload) + if add_from != 'common': + from api.lib.common_setting.employee import EmployeeCRUD + payload = {column: getattr(user, column) for column in ['uid', 'username', 'nickname', 'email', 'block']} + payload['rid'] = role.id + EmployeeCRUD.add_employee_from_acl_created(**payload) return user