|
@@ -7,7 +7,7 @@ import traceback, simplejson as json
|
|
|
from django.views.generic.base import View
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.utils.decorators import method_decorator
|
|
|
-from Model.models import Device_User, Device_Info, Role, UserExModel, DeviceUserPermissions, DeviceSharePermission, \
|
|
|
+from Model.models import Device_User, Device_Info, Role, UserExModel, \
|
|
|
UidSetModel, UidPushModel, GatewayPush
|
|
|
from Service.CommonService import CommonService
|
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -169,7 +169,6 @@ class shareUserEquipmentView(View):
|
|
|
GuestID = queryDict.get('guestID', None)
|
|
|
content = queryDict.get('content', None)
|
|
|
sharedAll = queryDict.get('sharedAll', False)
|
|
|
- permission_ids = queryDict.get('permissionIds', None)
|
|
|
|
|
|
if sharedAll in ('1', '0'):
|
|
|
sharedAll = bool(int(sharedAll))
|
|
@@ -187,22 +186,19 @@ class shareUserEquipmentView(View):
|
|
|
return response.json(tko.code)
|
|
|
MasterID = tko.userID
|
|
|
if sharedAll and MasterID != None:
|
|
|
- return self.shareUserSQL(MasterID, GuestID, True, permission_ids, response, args, kwargs)
|
|
|
+ return self.shareUserSQL(MasterID, GuestID, True, response, args, kwargs)
|
|
|
if content != None and MasterID != None:
|
|
|
- return self.shareUserSQL(MasterID, GuestID, False, permission_ids, response, args, content=content)
|
|
|
+ return self.shareUserSQL(MasterID, GuestID, False, response, args, content=content)
|
|
|
else:
|
|
|
return response.json(444, 'sharedAll or content')
|
|
|
|
|
|
- def shareUserSQL(self, MasterID, GuestID, sharedAll, permission_ids, response, *args, **kwargs):
|
|
|
+ def shareUserSQL(self, MasterID, GuestID, sharedAll, response, *args, **kwargs):
|
|
|
Guest = Device_User.objects.filter(userID=GuestID).order_by('-data_joined')
|
|
|
Master = Device_Info.objects.filter(userID_id=MasterID).order_by('-data_joined')
|
|
|
if not Master or not Guest:
|
|
|
return response.json(104)
|
|
|
querysetList = []
|
|
|
- permission_list = []
|
|
|
uid_push_list = []
|
|
|
- p_ids = [int(val) for val in permission_ids.split(',')] if permission_ids else []
|
|
|
- now_time = int(time.time())
|
|
|
dictLen = 0
|
|
|
if sharedAll:
|
|
|
for equipment in Master:
|
|
@@ -223,10 +219,6 @@ class shareUserEquipmentView(View):
|
|
|
eqDict['userID_id'] = GuestID
|
|
|
eqDict['id'] = CommonService.getUserID(getUser=False)
|
|
|
querysetList.append(Device_Info(**eqDict))
|
|
|
- for permission_id in p_ids:
|
|
|
- permission_list.append(DeviceUserPermissions(permission_id=permission_id, user_id=GuestID,
|
|
|
- uid=eqDict.get('UID', None),
|
|
|
- created_time=now_time))
|
|
|
else:
|
|
|
content = kwargs.get('content', None)
|
|
|
if content != None:
|
|
@@ -251,11 +243,6 @@ class shareUserEquipmentView(View):
|
|
|
eqDict['userID_id'] = GuestID
|
|
|
eqDict['id'] = CommonService.getUserID(getUser=False)
|
|
|
querysetList.append(Device_Info(**eqDict))
|
|
|
- for permission_id in p_ids:
|
|
|
- permission_list.append(DeviceUserPermissions(permission_id=permission_id,
|
|
|
- user_id=GuestID,
|
|
|
- uid=eqDict.get('UID', None),
|
|
|
- created_time=now_time))
|
|
|
else:
|
|
|
continue
|
|
|
|
|
@@ -264,7 +251,6 @@ class shareUserEquipmentView(View):
|
|
|
else:
|
|
|
try:
|
|
|
Device_Info.objects.bulk_create(querysetList)
|
|
|
- DeviceUserPermissions.objects.bulk_create(permission_list)
|
|
|
uid_set_qs = UidSetModel.objects.filter(uid__in=uid_push_list).values('id')
|
|
|
for uid_set in uid_set_qs:
|
|
|
uid_set_id = uid_set['id']
|
|
@@ -380,7 +366,6 @@ class unsharedUserEquipmentView(View):
|
|
|
else:
|
|
|
errorUID.append(uid)
|
|
|
continue
|
|
|
- DeviceUserPermissions.objects.filter(user_id=GuestID, uid=uid).delete()
|
|
|
except Exception as e:
|
|
|
errorInfo = traceback.format_exc()
|
|
|
print('查询数据库错误: %s' % errorInfo)
|
|
@@ -396,55 +381,3 @@ class unsharedUserEquipmentView(View):
|
|
|
return response.json(173, {'removeCount': removeCount, 'error_UID': errorUID})
|
|
|
else:
|
|
|
return response.json(0, {'removeCount': removeCount})
|
|
|
-
|
|
|
-
|
|
|
-class SharePermissionsView(View):
|
|
|
- @method_decorator(csrf_exempt)
|
|
|
- def dispatch(self, *args, **kwargs):
|
|
|
- return super(SharePermissionsView, self).dispatch(*args, **kwargs)
|
|
|
-
|
|
|
- def get(self, request, *args, **kwargs):
|
|
|
- request.encoding = 'utf-8'
|
|
|
- operation = kwargs.get('operation')
|
|
|
- return self.validation(request, request.GET, operation)
|
|
|
-
|
|
|
- def post(self, request, *args, **kwargs):
|
|
|
- request.encoding = 'utf-8'
|
|
|
- operation = kwargs.get('operation')
|
|
|
- return self.validation(request, request.POST, operation)
|
|
|
-
|
|
|
- def validation(self, request, request_dict, operation):
|
|
|
- lang = request_dict.get('lang', 'en')
|
|
|
- response = ResponseObject(lang)
|
|
|
- if operation == 'get-permission-list': # 获取分享权限列表
|
|
|
- return self.get_permission_list(request_dict, response)
|
|
|
- else:
|
|
|
- token = request_dict.get('token', None)
|
|
|
- # 设备主键uid
|
|
|
- tko = TokenObject(token)
|
|
|
- if tko.code != 0:
|
|
|
- return response.json(tko.code)
|
|
|
- user_id = tko.userID
|
|
|
- if operation == 'edit-user-permission': # 获取用户设备分享权限
|
|
|
- return self.edit_user_permission(user_id, request_dict, response)
|
|
|
- else:
|
|
|
- return response.json(404)
|
|
|
-
|
|
|
- @staticmethod
|
|
|
- def get_permission_list(request_dict, response):
|
|
|
- permission_qs = DeviceSharePermission.objects.filter(share_type=2).values('id', 'code').order_by('sort')
|
|
|
- return response.json(0, list(permission_qs))
|
|
|
-
|
|
|
- @staticmethod
|
|
|
- def edit_user_permission(user_id, request_dict, response):
|
|
|
- uid = request_dict.get('uid', None)
|
|
|
- permission_ids = request_dict.get('permissionIds', None)
|
|
|
- if not all([uid, permission_ids]):
|
|
|
- return response.json(444)
|
|
|
- permission_ids_list = [int(val) for val in permission_ids.split(',')] if permission_ids else []
|
|
|
- now_time = int(time.time())
|
|
|
- DeviceUserPermissions.objects.filter(user_id=user_id, uid=uid).delete()
|
|
|
- for permission_id in permission_ids_list:
|
|
|
- DeviceUserPermissions.objects.create(permission_id=permission_id, user_id=user_id, uid=uid,
|
|
|
- created_time=now_time)
|
|
|
- return response.json(0)
|