fix(api): Common create employee (#287)

* fix(api): add add_from arg in create employee

* fix(api): add check in acl call common after add user
This commit is contained in:
simontigers 2023-12-06 17:12:37 +08:00 committed by GitHub
parent 10527bf9b8
commit a4f65e7fc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -726,6 +726,7 @@ class CreateEmployee(object):
try: try:
existed = self.check_acl_user(user_data) existed = self.check_acl_user(user_data)
if not existed: if not existed:
user_data['add_from'] = 'common'
return self.acl.create_user(user_data) return self.acl.create_user(user_data)
return existed return existed
except Exception as e: except Exception as e:

View File

@ -41,6 +41,7 @@ class UserCRUD(object):
@classmethod @classmethod
def add(cls, **kwargs): def add(cls, **kwargs):
add_from = kwargs.pop('add_from', None)
existed = User.get_by(username=kwargs['username']) existed = User.get_by(username=kwargs['username'])
existed and abort(400, ErrFormat.user_exists.format(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, AuditCRUD.add_role_log(None, AuditOperateType.create,
AuditScope.user, user.uid, {}, user.to_dict(), {}, {} AuditScope.user, user.uid, {}, user.to_dict(), {}, {}
) )
from api.lib.common_setting.employee import EmployeeCRUD if add_from != 'common':
payload = {column: getattr(user, column) for column in ['uid', 'username', 'nickname', 'email', 'block']} from api.lib.common_setting.employee import EmployeeCRUD
payload['rid'] = role.id payload = {column: getattr(user, column) for column in ['uid', 'username', 'nickname', 'email', 'block']}
EmployeeCRUD.add_employee_from_acl_created(**payload) payload['rid'] = role.id
EmployeeCRUD.add_employee_from_acl_created(**payload)
return user return user