|
|
@@ -0,0 +1,426 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+
|
|
|
+from django.shortcuts import render
|
|
|
+from django.views.generic import ListView
|
|
|
+from apps.AppInfoManage.models import MyUser, User_Log, Equip, Group
|
|
|
+from django import forms
|
|
|
+from django.db.models import Q
|
|
|
+import re
|
|
|
+import datetime
|
|
|
+
|
|
|
+
|
|
|
+# 分配设备
|
|
|
+class EquipAllot(ListView):
|
|
|
+ def get(self, request):
|
|
|
+ # 接收当前用户
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.all()
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(user_agency=current_user.user_agency)
|
|
|
+ nums = user_list.count()
|
|
|
+ User_Log.objects.create(log_user=request.user.username,
|
|
|
+ log_ip=request.META['REMOTE_ADDR'], log_desc='设备分配')
|
|
|
+ return render(request, 'equipallot/equipallot.html', context={"nums": nums})
|
|
|
+
|
|
|
+ def post(self, request):
|
|
|
+ pass
|
|
|
+
|
|
|
+
|
|
|
+def allot_user_list(request):
|
|
|
+ if request.method == 'GET':
|
|
|
+ page = int(request.GET.get('page'))
|
|
|
+ print("page=", page)
|
|
|
+ # 接收当前用户
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.all().order_by(
|
|
|
+ "-date_joined")[(10*(page-1)):(page*10)]
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(user_agency=current_user.user_agency).order_by(
|
|
|
+ "-date_joined")[(10*(page-1)):(page*10)]
|
|
|
+ return render(request, 'equipallot/allot_user_list.html', context={'user_list': user_list})
|
|
|
+
|
|
|
+ elif request.method == 'POST':
|
|
|
+ req = request.POST.get('req')
|
|
|
+ print("req:", req)
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ if req == "filter":
|
|
|
+ # 筛选:用户名、创建时间:f:filter
|
|
|
+ print("筛选:")
|
|
|
+ f_name = request.POST.get('uname')
|
|
|
+ f_tbegin = request.POST.get('begin')
|
|
|
+ f_tend = request.POST.get('end')
|
|
|
+ print("f_name:", f_name)
|
|
|
+ print("f_tbegin:", f_tbegin)
|
|
|
+ print("f_tend:", f_tend)
|
|
|
+
|
|
|
+ page = int(request.POST.get('page'))
|
|
|
+ print("page:", page)
|
|
|
+
|
|
|
+ if f_name == '' and f_tbegin == '' and f_tend == '':
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.all()
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(user_agency=current_user.user_agency)
|
|
|
+ elif f_name == '' and f_tbegin != '' and f_tend != '':
|
|
|
+ begindate = re.findall(r"\d+\.?\d*", f_tbegin)
|
|
|
+ enddate = re.findall(r"\d+\.?\d*", f_tend)
|
|
|
+ print("begindate:", begindate)
|
|
|
+ print("enddate:", enddate)
|
|
|
+ start_date = datetime.date(
|
|
|
+ int(begindate[0]), int(begindate[1]), int(begindate[2]))
|
|
|
+ end_date = datetime.date(
|
|
|
+ int(enddate[0]), int(enddate[1]), int(enddate[2]))
|
|
|
+ print("begindate:", begindate)
|
|
|
+ print("enddate:", enddate)
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.filter(
|
|
|
+ date_joined__range=(start_date, end_date))
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(
|
|
|
+ user_agency=current_user.user_agency,date_joined__range=(start_date, end_date))
|
|
|
+ elif f_name != '' and f_tbegin == '' and f_tend == '':
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.filter(username__contains=f_name)
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(
|
|
|
+ user_agency=current_user.user_agency,username__contains=f_name)
|
|
|
+ elif f_name != '' and f_tbegin != '' and f_tend != '':
|
|
|
+ begindate = re.findall(r"\d+\.?\d*", f_tbegin)
|
|
|
+ enddate = re.findall(r"\d+\.?\d*", f_tend)
|
|
|
+ start_date = datetime.date(
|
|
|
+ int(begindate[0]), int(begindate[1]), int(begindate[2]))
|
|
|
+ end_date = datetime.date(
|
|
|
+ int(enddate[0]), int(enddate[1]), int(enddate[2]))
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ user_list = MyUser.objects.filter(
|
|
|
+ username__contains=f_name, date_joined__range=(start_date, end_date))
|
|
|
+ else:
|
|
|
+ user_list = MyUser.objects.filter(
|
|
|
+ user_agency=current_user.user_agency,username__contains=f_name, date_joined__range=(start_date, end_date))
|
|
|
+ nums = user_list.count()
|
|
|
+ user_list = user_list[(10*(page-1)):(page*10)]
|
|
|
+ return render(request, 'equipallot/allot_user_list.html', context={'user_list': user_list, "nums": nums})
|
|
|
+
|
|
|
+
|
|
|
+from django.views.decorators.csrf import csrf_exempt
|
|
|
+
|
|
|
+
|
|
|
+@csrf_exempt
|
|
|
+def allot_equip_list(request):
|
|
|
+
|
|
|
+ # 当前用户已拥有的设备的列表:
|
|
|
+ equip_list1 = []
|
|
|
+ # 未被分配的设备的列表:
|
|
|
+ equip_list2 = []
|
|
|
+ # 当前页的设备id列表:
|
|
|
+ equip_ids = []
|
|
|
+
|
|
|
+ if request.method == 'GET':
|
|
|
+ # 选中需要进行分配设备的用户后:显示的设备列表;
|
|
|
+ uname = request.GET.get('uname')
|
|
|
+ print("uname=", uname)
|
|
|
+ uname_obj = MyUser.objects.get(username=uname)
|
|
|
+ page = int(request.GET.get('page'))
|
|
|
+ print("page=", page)
|
|
|
+ # 接收当前用户
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ # 判断是经销商还是超级管理员
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_user=None) | Q(equip_user=uname_obj))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_agency=current_user.user_agency, equip_user=None) | Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=uname_obj))
|
|
|
+
|
|
|
+ equip_list = list(equip_list)
|
|
|
+ print('type equip_list:', type(equip_list))
|
|
|
+ # print('equip_list:', equip_list)
|
|
|
+
|
|
|
+ for i in equip_list:
|
|
|
+ if i.equip_user != None:
|
|
|
+ equip_list1.append(i)
|
|
|
+ else:
|
|
|
+ equip_list2.append(i)
|
|
|
+ # print('equip_list1:', equip_list1)
|
|
|
+ # print('equip_list2:', equip_list2)
|
|
|
+
|
|
|
+ equip_list = equip_list1+equip_list2
|
|
|
+ equip_list = equip_list[(10*(page-1)):(page*10)]
|
|
|
+ for i in equip_list:
|
|
|
+ equip_ids.append(i.equip_id)
|
|
|
+ equip_ids = ','.join(equip_ids)
|
|
|
+
|
|
|
+ return render(request, 'equipallot/allot_equip_list.html', context={'equip_list': equip_list, 'equip_ids': equip_ids, "uname": uname})
|
|
|
+
|
|
|
+ elif request.method == 'POST':
|
|
|
+ req = request.POST.get('req')
|
|
|
+ print("req:", req)
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ if req == "filter":
|
|
|
+ # 筛选:用户名、创建时间:f:filter
|
|
|
+ print("筛选:")
|
|
|
+
|
|
|
+ uname = request.POST.get('uname')
|
|
|
+ print("uname=", uname)
|
|
|
+ uname_obj = MyUser.objects.get(username=uname)
|
|
|
+
|
|
|
+ f_type = request.POST.get('type')
|
|
|
+ f_id = request.POST.get('f_id')
|
|
|
+ f_tbegin = request.POST.get('begin')
|
|
|
+ f_tend = request.POST.get('end')
|
|
|
+ print("f_type:", f_type)
|
|
|
+ print("f_id:", f_id)
|
|
|
+ print("f_tbegin:", f_tbegin)
|
|
|
+ print("f_tend:", f_tend)
|
|
|
+
|
|
|
+ page = int(request.POST.get('page'))
|
|
|
+ print("page:", page)
|
|
|
+ # 000
|
|
|
+ if f_id == None and f_type == '0' and f_tbegin == '' and f_tend == '':
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_user=None) | Q(equip_user=uname_obj))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_agency=current_user.user_agency, equip_user=None) | Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=uname_obj))
|
|
|
+ # 001 Q(equip_id=None)|
|
|
|
+ elif f_id == None and f_type == '0' and f_tbegin != '' and f_tend != '':
|
|
|
+ begindate = re.findall(r"\d+\.?\d*", f_tbegin)
|
|
|
+ enddate = re.findall(r"\d+\.?\d*", f_tend)
|
|
|
+ print("begindate:", begindate)
|
|
|
+ print("enddate:", enddate)
|
|
|
+ start_date = datetime.date(
|
|
|
+ int(begindate[0]), int(begindate[1]), int(begindate[2]))
|
|
|
+ end_date = datetime.date(
|
|
|
+ int(enddate[0]), int(enddate[1]), int(enddate[2]))
|
|
|
+ print("begindate:", begindate)
|
|
|
+ print("enddate:", enddate)
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_add_time__range=(
|
|
|
+ start_date, end_date)) | Q(equip_user=uname_obj, equip_add_time__range=(start_date, end_date)))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=None, equip_add_time__range=(start_date, end_date)) | Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=uname_obj, equip_add_time__range=(start_date, end_date)))
|
|
|
+ # 010
|
|
|
+ elif f_id == None and f_type != '0' and f_tbegin == '' and f_tend == '':
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_type=f_type) | Q(
|
|
|
+ equip_user=uname_obj, equip_type=f_type))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None,
|
|
|
+ equip_type=f_type) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj, equip_type=f_type))
|
|
|
+ # 011
|
|
|
+ elif f_id == None and f_type != '0' and f_tbegin != '' and f_tend != '':
|
|
|
+ begindate = re.findall(r"\d+\.?\d*", f_tbegin)
|
|
|
+ enddate = re.findall(r"\d+\.?\d*", f_tend)
|
|
|
+ start_date = datetime.date(
|
|
|
+ int(begindate[0]), int(begindate[1]), int(begindate[2]))
|
|
|
+ end_date = datetime.date(
|
|
|
+ int(enddate[0]), int(enddate[1]), int(enddate[2]))
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_type=f_type, equip_add_time__range=(
|
|
|
+ start_date, end_date)) | Q(equip_user=uname_obj, equip_type=f_type, equip_add_time__range=(start_date, end_date)))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None, equip_type=f_type,
|
|
|
+ equip_add_time__range=(start_date, end_date)) | Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=uname_obj, equip_type=f_type, equip_add_time__range=(start_date, end_date)))
|
|
|
+ # 100
|
|
|
+ elif f_id != None and f_type == '0' and f_tbegin == '' and f_tend == '':
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_user=None, equip_id__contains=f_id) | Q(equip_user=uname_obj, equip_id__contains=f_id))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None,
|
|
|
+ equip_id__contains=f_id) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj, equip_id__contains=f_id))
|
|
|
+ # 101
|
|
|
+ elif f_id != None and f_type == '0' and f_tbegin != '' and f_tend != '':
|
|
|
+ begindate = re.findall(r"\d+\.?\d*", f_tbegin)
|
|
|
+ enddate = re.findall(r"\d+\.?\d*", f_tend)
|
|
|
+ start_date = datetime.date(
|
|
|
+ int(begindate[0]), int(begindate[1]), int(begindate[2]))
|
|
|
+ end_date = datetime.date(
|
|
|
+ int(enddate[0]), int(enddate[1]), int(enddate[2]))
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_id__contains=f_id, equip_add_time__range=(
|
|
|
+ start_date, end_date)) | Q(equip_user=uname_obj, equip_id__contains=f_id, equip_add_time__range=(start_date, end_date)))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None, equip_id__contains=f_id,
|
|
|
+ equip_add_time__range=(start_date, end_date)) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj,
|
|
|
+ equip_id__contains=f_id, equip_add_time__range=(start_date, end_date)))
|
|
|
+ # 110
|
|
|
+ elif f_id != None and f_type != '0' and f_tbegin == '' and f_tend == '':
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_id__contains=f_id, equip_type=f_type) | Q(
|
|
|
+ equip_user=uname_obj, equip_id__contains=f_id, equip_type=f_type))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None,
|
|
|
+ equip_id__contains=f_id, equip_type=f_type) | Q(equip_agency=current_user.user_agency,
|
|
|
+ equip_user=uname_obj, equip_id__contains=f_id, equip_type=f_type))
|
|
|
+ # 111
|
|
|
+ elif f_id != None and f_type != '0' and f_tbegin != '' and f_tend != '':
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_user=None, equip_id__contains=f_id, equip_type=f_type, equip_add_time__range=(
|
|
|
+ start_date, end_date)) | Q(equip_user=uname_obj, equip_id__contains=f_id, equip_type=f_type, equip_add_time__range=(start_date, end_date)))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_user=None, equip_id__contains=f_id,
|
|
|
+ equip_type=f_type, equip_add_time__range=(start_date, end_date)) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj,
|
|
|
+ equip_id__contains=f_id, equip_type=f_type, equip_add_time__range=(start_date, end_date)))
|
|
|
+ nums = equip_list.count()
|
|
|
+ equip_list = equip_list[(10*(page-1)):(page*10)]
|
|
|
+
|
|
|
+ for i in equip_list:
|
|
|
+ equip_ids.append(i.equip_id)
|
|
|
+ equip_ids = ','.join(equip_ids)
|
|
|
+ return render(request, 'equipallot/allot_equip_list.html', context={'equip_list': equip_list, 'equip_ids': equip_ids, "nums": nums})
|
|
|
+
|
|
|
+
|
|
|
+# 进入对应的用户分配设备页面
|
|
|
+def allot(request):
|
|
|
+ if request.method == 'GET':
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ uname = request.GET.get('uname')
|
|
|
+ uname_obj = MyUser.objects.get(username=uname)
|
|
|
+ print("uname=", uname)
|
|
|
+ if current_user.is_superuser == True or current_user.is_staff == True:
|
|
|
+ nums = Equip.objects.filter(
|
|
|
+ Q(equip_user=None) | Q(equip_user=uname_obj)).count()
|
|
|
+ else:
|
|
|
+ nums = Equip.objects.filter(
|
|
|
+ Q(equip_agency=current_user.user_agency, equip_user=None) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj)).count()
|
|
|
+ print('nums:', nums)
|
|
|
+ return render(request, 'equipallot/allot.html', context={'nums': nums, "uname": uname})
|
|
|
+
|
|
|
+ if request.method == 'POST':
|
|
|
+ current_user = request.session.get('username')
|
|
|
+ print("current_user:", current_user)
|
|
|
+ current_user = MyUser.objects.get(username=current_user)
|
|
|
+ uname = request.POST.get('uname')
|
|
|
+ uname_obj = MyUser.objects.get(username=uname)
|
|
|
+ print("uname=", uname)
|
|
|
+ # 获得当前页的全部id:equip_ids
|
|
|
+ equip_ids = request.POST.get('equip_ids')
|
|
|
+ # print("equip_ids=", equip_ids)
|
|
|
+ equip_ids = equip_ids.split(',')
|
|
|
+ # print("当前页的所有设备id:equip_ids=", equip_ids)
|
|
|
+ # # 此处equip_list不应该是 当前用户下所有设备和所有未分配的设备的“并集”
|
|
|
+ # # 而应该是对该“并集”进行当前页的切片!否则会对非当前页的设备进行分配;
|
|
|
+ # equip_list = equip_list1+equip_list2
|
|
|
+ # # equip_list = equip_list[(10*(page-1)):(page*10)]
|
|
|
+ button = request.POST.get('submit')
|
|
|
+ if button == "fenpei":
|
|
|
+ # 获得选中的复选框:
|
|
|
+ check_box_list = request.POST.getlist('check_box_list')
|
|
|
+ print('check_box_list:', check_box_list)
|
|
|
+ no_check_box_list = []
|
|
|
+
|
|
|
+ for i in equip_ids:
|
|
|
+ if i in check_box_list:
|
|
|
+ pass
|
|
|
+ else:
|
|
|
+ no_check_box_list.append(i)
|
|
|
+ # print('no_check_box_list=', no_check_box_list)
|
|
|
+ # # 定义空列表no_check_box_list---#获得未选中的复选框
|
|
|
+ # no_check_box_list = []
|
|
|
+ # # 当前页的设备列表:# 当前页的全部id:
|
|
|
+ # for a in equip_ids:
|
|
|
+
|
|
|
+ # no_check_box_list.append(a)
|
|
|
+ # # 先获得选中的复选框的list(从set到list)
|
|
|
+ # print('no_check_box_list=', no_check_box_list)
|
|
|
+ # # 遍历选中的复选框中的元素
|
|
|
+ # for b in check_box_list:
|
|
|
+ # # 如果复选框中的元素在当前显示的no_check_box_list中
|
|
|
+ # if b in no_check_box_list:
|
|
|
+ # # 得到该元素对应的列表no_check_box_list中的索引;
|
|
|
+ # x = no_check_box_list.index(b)
|
|
|
+ # # 根据no_check_box_list列表的索引删除元素,剩下的即使没有被勾选的复选框
|
|
|
+ # no_check_box_list.pop(x)
|
|
|
+ # print('no_check_box_list2=', no_check_box_list) # 得到未选中的复选框的list
|
|
|
+
|
|
|
+ # 分配复选框选中的设备:
|
|
|
+ for checked_id in check_box_list:
|
|
|
+ choose_equip = Equip.objects.get(equip_id=checked_id)
|
|
|
+ # 如果选中的设备没有用户:即选中的设备 设备用户为None:
|
|
|
+ if choose_equip.equip_user == None: # 只有当选中的设备id对应的设备 没有用户时才分配
|
|
|
+ choose_equip.equip_user = uname_obj
|
|
|
+ choose_equip.save() # 保存到数据库
|
|
|
+
|
|
|
+ # 取消分配:给当前用户取消已分配的设备;
|
|
|
+
|
|
|
+ for a in no_check_box_list:
|
|
|
+ choose_equip = Equip.objects.get(equip_id=a)
|
|
|
+ choose_equip.equip_user = None # 把设备的设备用户改为None,表示取消分配
|
|
|
+ choose_equip.save()
|
|
|
+ if current_user.is_superuser == True:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_user=None) | Q(equip_user=uname_obj))
|
|
|
+ else:
|
|
|
+ equip_list = Equip.objects.filter(
|
|
|
+ Q(equip_agency=current_user.user_agency, equip_user=None) | Q(equip_agency=current_user.user_agency, equip_user=uname_obj))
|
|
|
+ user_equip_list = Equip.objects.filter(equip_user=uname_obj)
|
|
|
+ equip_type_list = []
|
|
|
+ for i in user_equip_list:
|
|
|
+ equip_type_list.append(i.equip_type.type_id)
|
|
|
+ print('abcdef',equip_type_list)
|
|
|
+ groups = Group.objects.filter(user=uname_obj)
|
|
|
+ # uname_obj.groups.clear()
|
|
|
+ # uname_obj.groups.add(post_groups)
|
|
|
+ scdgroup = Group.objects.get(name='杀虫灯用户')
|
|
|
+ cbdgroup = Group.objects.get(name='测报灯用户')
|
|
|
+ qxzgroup = Group.objects.get(name='气象站用户')
|
|
|
+ bzygroup = Group.objects.get(name='孢子仪用户')
|
|
|
+ jkgroup = Group.objects.get(name='监控用户')
|
|
|
+ # 将用户加入所拥有设备类型的相对应的分组
|
|
|
+ if 2 in equip_type_list:
|
|
|
+ uname_obj.groups.add(scdgroup)
|
|
|
+ else:
|
|
|
+ uname_obj.groups.remove(scdgroup)
|
|
|
+
|
|
|
+ if 3 in equip_type_list:
|
|
|
+ uname_obj.groups.add(cbdgroup)
|
|
|
+ else:
|
|
|
+ uname_obj.groups.remove(cbdgroup)
|
|
|
+
|
|
|
+ if 5 in equip_type_list:
|
|
|
+ uname_obj.groups.add(qxzgroup)
|
|
|
+ else:
|
|
|
+ uname_obj.groups.remove(qxzgroup)
|
|
|
+
|
|
|
+ if 6 in equip_type_list:
|
|
|
+ uname_obj.groups.add(jkgroup)
|
|
|
+ else:
|
|
|
+ uname_obj.groups.remove(jkgroup)
|
|
|
+
|
|
|
+ if 7 in equip_type_list:
|
|
|
+ uname_obj.groups.add(bzygroup)
|
|
|
+ else:
|
|
|
+ uname_obj.groups.remove(bzygroup)
|
|
|
+
|
|
|
+
|
|
|
+ nums = equip_list.count()
|
|
|
+ User_Log.objects.create(log_user=request.user.username,
|
|
|
+ log_ip=request.META['REMOTE_ADDR'], log_desc='设备分配--分配设备')
|
|
|
+ return render(request, 'equipallot/allot.html', context={'equip_list': equip_list, 'nums': nums, "uname": uname, 'allot_note': '设备分配成功!'})
|