|
@@ -305,8 +305,8 @@ class UserManagement(View):
|
|
|
userID = tko.userID
|
|
|
if operation == 'getUserInfo':
|
|
|
return self.getUserInfo(userID, request_dict, response)
|
|
|
- elif operation == 'registerAccount':
|
|
|
- return self.registerAccount(userID, request_dict, response)
|
|
|
+ elif operation == 'AddOrEditAccount':
|
|
|
+ return self.AddOrEditAccount(userID, request_dict, response)
|
|
|
elif operation == 'doDelete':
|
|
|
return self.doDelete(userID, request_dict, response)
|
|
|
else:
|
|
@@ -345,7 +345,7 @@ class UserManagement(View):
|
|
|
user_list = []
|
|
|
for device_user in device_users:
|
|
|
role = device_user.role.first()
|
|
|
- rid = role.rid if role else 1 # 不存在角色默认分配为'用户'
|
|
|
+ rid = role.rid if role else 1 # 不存在角色默认分配为'Users'
|
|
|
user_list.append({
|
|
|
'userID': device_user.userID,
|
|
|
'username': device_user.username,
|
|
@@ -363,12 +363,16 @@ class UserManagement(View):
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- def registerAccount(self, userID, request_dict, response):
|
|
|
+ def AddOrEditAccount(self, userID, request_dict, response):
|
|
|
+ # 添加/编辑用户
|
|
|
+ print('request_dict: ', request_dict)
|
|
|
username = request_dict.get('username', '').strip() # 移除字符串头尾的空格
|
|
|
userEmail = request_dict.get('userEmail', '').strip()
|
|
|
+ roleName = request_dict.get('role', None)
|
|
|
password = request_dict.get('password', None)
|
|
|
+ isEdit = request_dict.get('isEdit', None)
|
|
|
|
|
|
- if not all([username, password]):
|
|
|
+ if not all([username, userEmail, roleName, password]):
|
|
|
return response.json(444)
|
|
|
|
|
|
# 校验用户名,邮箱,密码是否符合规则
|
|
@@ -378,18 +382,46 @@ class UserManagement(View):
|
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
|
- # 查询用户是否已存在
|
|
|
- # 创建账户信息
|
|
|
- user_data = {
|
|
|
- "username": username,
|
|
|
- "NickName": username,
|
|
|
- "userEmail": userEmail,
|
|
|
- "password": make_password(password),
|
|
|
- "userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
- "is_active": True,
|
|
|
- "user_isValid": True,
|
|
|
- }
|
|
|
- Device_User.objects.create(**user_data)
|
|
|
+ if isEdit: # 编辑用户信息
|
|
|
+ userID = request_dict.get('userID')
|
|
|
+ user_data = {
|
|
|
+ "username": username,
|
|
|
+ "NickName": username,
|
|
|
+ "userEmail": userEmail,
|
|
|
+ "password": make_password(password),
|
|
|
+ }
|
|
|
+ device_user_qs = Device_User.objects.filter(userID=userID)
|
|
|
+ device_user_qs.update(**user_data)
|
|
|
+
|
|
|
+ # 如果角色改变,修改用户角色
|
|
|
+ device_user_role = device_user_qs[0].role
|
|
|
+ user_role = device_user_role.first()
|
|
|
+ if not user_role or roleName != user_role.roleName:
|
|
|
+ device_user_role.clear()
|
|
|
+ role_qs = Role.objects.filter(roleName=roleName) # 账号角色
|
|
|
+ device_user_qs[0].role.set(role_qs)
|
|
|
+ else: # 添加用户
|
|
|
+ # 查询邮箱是否已注册
|
|
|
+ if Device_User.objects.filter(userEmail=userEmail).exists():
|
|
|
+ return response.json(103)
|
|
|
+ role_qs = Role.objects.filter(roleName=roleName) # 账号角色
|
|
|
+ # 创建用户
|
|
|
+ user_data = {
|
|
|
+ "username": username,
|
|
|
+ "NickName": username,
|
|
|
+ "userEmail": userEmail,
|
|
|
+ "password": make_password(password),
|
|
|
+ "userID": CommonService.getUserID(μs=False, setOTAID=True),
|
|
|
+ "is_active": True,
|
|
|
+ "user_isValid": True,
|
|
|
+ }
|
|
|
+ Device_User.objects.create(**user_data).role.set(role_qs)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
+ print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def doDelete(self, userID, request_dict, response):
|
|
|
+ userID = request_dict.get('userID', '')
|
|
|
+ Device_User.objects.filter(userID=userID).delete()
|
|
|
+ return response.json(0)
|