def post(self, request): notDbField = ['csrfmiddlewaretoken', 'all'] _all = request.POST.get('all') queryDict = request.POST.dict() msg = '' data = [] returnData = {} try: for item in notDbField: if item not in queryDict: continue queryDict.pop(item) if _all == 'true': obj = models.SysUserGroup.objects.all().order_by('id') else: obj = models.SysUserGroup.objects.filter( **queryDict).order_by('id') for item in obj: dictTemp = model_to_dict(item) data.append(dictTemp) except Exception as error: Logger.error(request, '通过API获取系统后台用户组时出现错误:%s' % error.__str__()) msg = error._str__() returnData['msg'] = msg returnData['data'] = data return JsonResponse(returnData)
def get(self, request): try: deviceType = int(request.GET.get('deviceType')) devicesObj = None data = {} data['data'] = [] if deviceType == 1: devicesObj = models.SysPcMainboard.objects.all().order_by('id') elif deviceType == 2: devicesObj = models.SysPcCpu.objects.all().order_by('id') elif deviceType == 3: devicesObj = models.SysPcHarddisk.objects.all().order_by('id') elif deviceType == 4: devicesObj = models.SysPcDisplaycard.objects.all().order_by( 'id') elif deviceType == 5: devicesObj = models.SysPcDisplay.objects.all().order_by('id') elif deviceType == 6: pass # devicesObj = models.SysPcMemory.objects.all().annotate(name = F('size')).values('id', 'name').order_by('id') for item in devicesObj: data['data'].append({'id': item.id, 'name': item.name}) except Exception as error: Logger.error(request, '通过API获取设备所有型号时出现错误:%s' % error.__str__()) print(error) pass return JsonResponse(data)
def post(self, request): _id = request.POST.get('id') method = request.POST.get('method') _type = request.POST.get('type') queryDict = request.POST.dict() _models = '' status = False for item in notDbField: # 剔除与数据库无关字段 if item in queryDict: queryDict.pop(item) try: if type(_type) == str: if _type.lower() == 'staffs': _models = models.SysStaff.objects if _type.lower() == 'department': _models = models.SysDepartment.objects obj = Methods(_models, method, queryDict) status = obj.flag Logger.important(request, '%s员工/部门ID为%s的记录数据' % (method, _id)) except Exception as error: Logger.error(request, '%s员工/部门ID为%s的记录数据时出现错误:%s' % (method, _id, error.__str__())) return HttpResponse(status)
def post(self, request): status = False queryDict = request.POST.dict() try: for key, value in queryDict.items(): if key in ['remarks']: continue if not value or value == '': raise RuntimeError( 'EmptyFieldError') # 用户提交的参数中如存在空值则抛出空字段异常 queryDict.pop('csrfmiddlewaretoken') queryDict['count'] = int(queryDict.get('count')) queryDict['last_in_user'] = queryDict.get('operator') queryDict.pop('operator') queryDict['last_update_time'] = strftime('%Y-%m-%d %H:%M:%S', localtime(time())) newObj = models.SysRepository.objects.create(**queryDict) status = True Logger.important(request, '添加了仓库新资产记录数据, 新增仓库资产ID为:%s' % newObj.id) except Exception as error: Logger.error(request, '添加仓库新资产记录数据时出现错误:%s' % error.__str__()) return HttpResponse(status)
def post(self, request): postData = request.POST state = False try: insertData = request.POST.dict() insertData.pop('csrfmiddlewaretoken') insertData.pop('assetType') insertData['department'] = insertData['department'].replace(' ', '') if models.SysAsset.objects.filter(Q(asset_id = insertData.get('asset_id')) | Q(ipphone_id = insertData.get('ipphone_id'))).count() > 0: return HttpResponse(state) if insertData.get('ipphone_number') == '' and insertData.get('ipphone_ip') == '' and insertData.get('ipphone_mac') == '': insertData.pop('ipphone_id') newObj = models.SysAsset.objects.create(**insertData) state = True Logger.warning(request, '添加新固定资产记录, 新增记录数据ID为:%s' % newObj.id) except Exception as error: Logger.error(request, '固定资产插入新记录时出现错误:%s' % error.__str__()) return HttpResponse(state)
def post(self, request): queryDict = request.POST.dict() _all = request.POST.get('all') page = request.POST.get('page') limit = request.POST.get('limit') begin, end = basicUtils.pageHandle(page, limit) returnData = {} generater = basicUtils.GenerateReturnData() try: if _all == 'true': allObj = models.SysPurchase.objects.filter( save_status=1).order_by('-id') if allObj.count() > 0: obj = allObj[begin:end] if allObj.count() < int(limit): obj = allObj generater.setCount(allObj.count()) generater.setData(obj) generater.generate() except Exception as error: generater.setStatus(500) generater.setMsg(error.__str__()) Logger.error(request, '访问待采购归档页面时出现错误:%s' % error.__str__()) returnData = generater.getReturnDate() return JsonResponse(returnData)
def post(self, request): status = False queryDict = request.POST.dict() if queryDict.get('batch') == 'true': idList = request.POST.getlist('id') queryDict['id'] = idList method = queryDict.get('method') try: queryDict.pop('method') queryDict.pop('csrfmiddlewaretoken') if method: obj = RepMethods() Func = getattr(obj, method) status = Func(queryDict) Logger.important( request, '%s仓库资产ID为%s的记录数据' % (method, queryDict.get('id'))) except Exception as error: Logger.error( request, '%s仓库资产ID为%s的记录数据时出现错误:%s' % (method, queryDict.get('id'), error.__str__())) return HttpResponse(status)
def post(self, request): postData = request.POST state = False try: insertData = request.POST.dict() insertData.pop('csrfmiddlewaretoken') insertData['department'] = insertData['department'].replace(' ', '') if models.SysAssetPhone.objects.filter(asset_id = insertData.get('asset_id')).count() > 0: return HttpResponse(state) phoneNameInputMethod = insertData.get('phoneNameInputMethod') if phoneNameInputMethod == 'manual': insertData['phone_name'] = insertData.get('phone_name1') if phoneNameInputMethod == 'select': insertData['phone_name'] = insertData.get('phone_name2') insertData.pop('phoneNameInputMethod') insertData.pop('phone_name1') insertData.pop('phone_name2') newObj = models.SysAssetPhone.objects.create(**insertData) state = True Logger.warning(request, '添加新手机资产纪录, 新增记录数据ID为:%s' % newObj.id) except Exception as error: Logger.error(request, '手机资产插入新纪录时出现错误:%s' % error.__str__()) return HttpResponse(state)
def post(self, request): _all = request.POST.get('all') _id = request.POST.get('id') returnData = {} data = [] try: if _all and _all == 'true': result = models.SysUsers.objects.all().order_by('id').values() elif _id: result = models.SysUsers.objects.filter( id=_id).order_by('id').values() for item in result: item.pop('security_password') item.pop('password') userGroupObj = models.SysUserGroup.objects.get( group_level=item.get('user_group')) item['user_group_name'] = userGroupObj.group_name data.append(item) except Exception as error: Logger.error(request, '获取系统后台用户时出现错误:%s' % error.__str__()) returnData['data'] = data return JsonResponse(returnData)
def get(self, request, page): # 获取单个字段的所有值 returnData = {} returnData['code'] = 0 returnData['msg'] = '' data = [] m = request.GET.get('m') _type = request.GET.get('type') try: if m == 'filter': modelsResult = [] if not page: modelsResult = models.SysAsset.objects elif page and page == 'phone': modelsResult = models.SysAssetPhone.objects if modelsResult: queryField = {_type: ''} result = modelsResult.filter(~Q( **queryField)).values(_type).distinct().order_by(_type) for item in result: key, value = item.get(_type), item.get(_type) data.append({'key': key, 'value': value}) except Exception as error: Logger.error(request, '通过API获取资产详细信息时出现错误:%s' % error.__str__()) returnData['code'] = 500 returnData['msg'] = error.__str__() returnData['query'] = _type returnData['data'] = data return JsonResponse(returnData)
def post(self, request, groupId): returnData = {} code = 0 msg = '' data = {} _list = [] try: obj = models.SysModule.objects.filter()\ .annotate(name = F('module_alias'), pid = F('parent_id'))\ .values('id', 'pid', 'module_name', 'name', 'module_link', 'module_desc') for item in obj: item['children'] = [] _list.append(item) if groupId: userGroupObj = models.SysAuthGroup.objects.get( auth_group_id=groupId) authCodeStrList = (userGroupObj.auth_code).split(',') data['checkedId'] = list(map(int, authCodeStrList)) msg = '获取成功' except Exception as error: Logger.error(request, '获取用户组权限树时出现错误:%s' % error.__str__()) code = 500 msg = error.__str__() data['list'] = _list returnData['code'] = code returnData['msg'] = msg returnData['data'] = data return JsonResponse(returnData)
def get(self, request): purchase_id = '' timestamp = time() try: # 获取并计算出最新的采购项编号 purchaseAllObj = models.SysPurchase.objects.filter(~Q( purchase_id='')).order_by('-id') if purchaseAllObj.count() <= 0: purchase_id = 'PI-0000001' else: purchaseObj = purchaseAllObj[0] purchaseId = purchaseObj.purchase_id purchaseIdStr = findall('[1-9][0-9]*$', purchaseId)[0] purchaseNewIdStr = str(int(purchaseIdStr) + 1) purchaseNewId = 'PI-%s' % ('0' * (7 - len(purchaseNewIdStr)) + purchaseNewIdStr) purchase_id = purchaseNewId except Exception as error: Logger.error(request, '访问待采购创建页面时出现错误:%s' % error.__str__()) if request.is_ajax(): return TemplateResponse(request, 'purchase/create_pjax.html', { 'purchase_id': purchase_id, 'timestamp': timestamp, }) else: return render(request, 'purchase/create.html', { 'purchase_id': purchase_id, 'timestamp': timestamp, })
def get(self, request, id): obj = {} try: obj = models.SysPurchase.objects.get(purchase_id=id) except Exception as error: Logger.error('访问待采购项详细信息页时出现错误:%s' % error.__str__()) return render(request, 'purchase/detail.html', {'purchase': obj})
def post(self, request): page = request.POST.get('page') limit = request.POST.get('limit') _all = request.POST.get('all') _filter = request.POST.get('filter') begin, end = basicUtils.pageHandle(page, limit) queryDict = request.POST.dict() status = 500 count = 0 data = [] msg = '' returnData = {} for item in notDbField: # 剔除与数据库无关字段 if item in queryDict: queryDict.pop(item) try: if _all == 'true': obj = models.SysUsers.objects.all().order_by('user_group') elif _filter == 'true': queryDictTemp = {} for key, value in queryDict.items(): if key == 'user_group' and value: queryDictTemp[key] = value continue queryDictTemp[key + '__icontains'] = value obj = models.SysUsers.objects.filter( **queryDictTemp).order_by('user_group') userGroupObj = models.SysUserGroup.objects.all().order_by( 'group_level') for item in obj[begin:end]: dictTemp = model_to_dict(item) user_group = userGroupObj.get(group_level=item.user_group) dictTemp['user_group_name'] = user_group.group_name dictTemp['reg_time'] = basicUtils.foramtDate(item.reg_time) dictTemp['last_time'] = basicUtils.foramtDate(item.last_time) dictTemp.pop('password') dictTemp.pop('security_password') data.append(dictTemp) status = 200 count = obj.count() except Exception as error: Logger.error(request, '访问系统用户管理页时出现错误:%s' % error.__str__()) msg = error.__str__() returnData['status'] = status returnData['count'] = count returnData['msg'] = msg returnData['data'] = data return JsonResponse(returnData)
def post(self, request): returnData = {} waiting = 0 try: obj = models.SysPurchase.objects.filter(buy_status=0, save_status=0) waiting = obj.count() except Exception as error: Logger.error(request, '获取待采购物品的数量时出现问题:%s' % error.__str__()) returnData['waiting'] = waiting return JsonResponse(returnData)
def post(self, request): try: returnData = {} departmentList = [] departmentData = models.SysDepartment.objects.all().order_by('id') for item in departmentData: departmentList.append(model_to_dict(item)) except Exception as error: Logger.error('通过API查询部门信息时出现错误:%s' % error.__str__()) returnData['data'] = departmentList return JsonResponse(returnData)
def post(self, request): returnData = {} try: use_user = request.POST.get('use_user') staff = models.SysStaff.objects.filter( Q(name__contains=use_user) | Q(english_name__icontains=use_user)).first() if staff: returnData['data'] = model_to_dict(staff) except Exception as error: Logger.error('通过API查询员工信息时出现错误:%s' % error.__str__()) return JsonResponse(returnData)
def post(self, request): try: page = request.POST.get('page') limit = request.POST.get('limit') _filter = request.POST.get('filter') listQuery = request.POST.get('list') isHasPhone = request.POST.get('isHasPhone') queryDict = request.POST.dict() for item in ['csrfmiddlewaretoken', 'page', 'limit', 'isHasPhone']: # 剔除非数据库数据 if queryDict.get(item): queryDict.pop(item) begin, end = basicUtils.pageHandle(page, limit) returnData = {} data = [] FilterObj = ListFilter() FilterObj.init(models = models.SysAsset.objects, queryDict = queryDict, isFilter = _filter, isListQuery = listQuery) if isHasPhone and isHasPhone == 'on': # 当用户筛选时勾选了显示所有话机记录执行数据替换 hasPhoneData = FilterObj.data.filter(~Q(ipphone_number = '')) hasPhoneDataCount = hasPhoneData.count() FilterObj.setAttribute(data = hasPhoneData, count = hasPhoneDataCount) assetData = FilterObj.data[begin:end] if FilterObj.count <= int(limit): # 如果筛选之后数据量小于分页值则返回未切片的所有数据 assetData = FilterObj.data for item in assetData: item.use_user = item.use_user + item.english_name data.append(model_to_dict(item)) status = 200 msg = '' except Exception as error: Logger.error(request, '固定资产列表页获取数据时出现错误:%s' % error.__str__()) status = 500 msg = error.__str__() returnData['status'] = status returnData['msg'] = msg returnData['count'] = FilterObj.count returnData['data'] = data return JsonResponse(returnData)
def post(self, request): try: page = request.POST.get('page') limit = request.POST.get('limit') begin, end = basicUtils.pageHandle(page, limit) returnData = {} data = [] count = 0 queryDict = request.POST.dict() queryDict.pop('page') queryDict.pop('limit') queryDict.pop('csrfmiddlewaretoken') _filter = request.POST.get('filter') if _filter and _filter == 'true': # 请求为筛选 queryDict.pop('filter') if request.POST.get('filterEmpty') == 'true': obj = models.SysRepository.objects.filter( count=0).order_by('id') else: obj = models.SysRepository.objects.filter( Q(name__icontains=queryDict.get('keyword')) | Q(type__icontains=queryDict.get('keyword')), last_in_user__icontains=queryDict.get('last_in_user'), last_out_user__icontains=queryDict.get( 'last_out_user'), ).order_by('id') else: obj = models.SysRepository.objects.all().order_by('id') repositoryData = obj[begin:end] for item in repositoryData: data.append(model_to_dict(item)) status = 200 msg = '' count = obj.count() except Exception as error: Logger.error(request, '访问仓库列表页时出现错误:%s' % error.__str__()) status = 500 msg = error returnData['status'] = status returnData['msg'] = msg returnData['count'] = count returnData['data'] = data return JsonResponse(returnData)
def post(self, request): queryDict = request.POST.dict() queryDict.pop('csrfmiddlewaretoken') msg = '' try: newObj = models.SysModule.objects.create(**queryDict) if newObj: msg = True Logger.warning(request, '添加了新模块记录, 新增模块ID为:%s' % newObj.id) except Exception as error: Logger.error(request, '添加新模块记录时出现错误%s' % error.__str__()) msg = error.__str__() return HttpResponse(msg)
def post(self, request): parentId = request.POST.get('parentId') generaterObj = basicUtils.GenerateReturnData() returnData = {} try: if not parentId: parentId = 0 obj = models.SysModule.objects.filter( parent_id=parentId).order_by('id') returnData = generaterObj.generate(data=obj) except Exception as error: Logger.error(request, '获取父模块ID时出现错误:%s' % error.__str__()) generaterObj.setMsg(error.__str__()) return JsonResponse(returnData)
def post(self, request, page): returnData = {} try: id = request.POST.get('id') if not page: obj = models.SysAsset.objects.get(id=id) returnData['data'] = model_to_dict(obj) elif page == 'phone': obj = models.SysAssetPhone.objects.get(id=id) returnData['data'] = model_to_dict(obj) except Exception as error: Logger.error(request, '通过API获取资产详细信息时出现错误:%s' % error.__str__()) return JsonResponse(returnData)
def post(self, request): _id = request.POST.get('id') status = False try: obj = models.SysModule.objects.filter(id=_id) if obj.count() > 0: obj.delete() status = True Logger.important(request, '删除了ID为%s的模块记录数据' % _id) except Exception as error: Logger.error(request, '删除ID为%s的模块记录数据时出现错误:%s' % (_id, error.__str__())) status = error.__str__() return HttpResponse(status)
def post(self, request): _id = request.POST.get('id') purchase_id = request.POST.get('purchase_id') status = False try: obj = models.SysPurchase.objects.filter(id=_id, purchase_id=purchase_id) if obj.count() > 0: obj.delete() status = True except Exception as error: Logger.error(request, '删除待采购物品时出现错误:%s' % error.__str__()) return HttpResponse(status)
def post(self, request): _all = request.POST.get('all') page = request.POST.get('page') limit = request.POST.get('limit') _type = request.POST.get('type') _filter = request.POST.get('filter') queryDict = request.POST.dict() begin, end = basicUtils.pageHandle(page, limit) for item in notDbField: # 剔除与数据库无关字段 if queryDict.get(item) == None: continue queryDict.pop(item) status = 500 msg = '' count = 0 returnData = {} _models = '' data = [] try: if type(_type) == str: if _type.lower() == 'staffs': _models = models.SysStaff.objects elif _type.lower() == 'department': _models = models.SysDepartment.objects obj = GetModelData(_models, all = _all, isFilter = _filter, queryDict = queryDict) count = obj.count staffData = obj.data[begin:end] for item in staffData: itemDict = model_to_dict(item) data.append(itemDict) status = 200 except Exception as error: Logger.error(request, '访问员工/部门数据列表页时出现错误:%s' % error.__str__()) msg = error.__str__() returnData['status'] = status returnData['msg'] = msg returnData['count'] = count returnData['data'] = data return JsonResponse(returnData)
def post(self, request): status = False queryDict = request.POST.dict() try: userData = request.session.get('userData') userObj = models.SysUsers.objects.get(id=userData.get('id')) if queryDict.get('curr_passwd') == userObj.password: if queryDict.get('new_passwd1') == queryDict.get( 'new_passwd2'): userObj.password = queryDict.get('new_passwd1') userObj.save() del request.session['userData'] status = True except Exception as error: Logger.error(request, '修改密码时出现错误:%s' % error.__str__()) return HttpResponse(status)
def get(self, request, id): HTTP_REFERER = request.META.get('HTTP_REFERER') if not HTTP_REFERER: return HttpResponse('非法请求') returnData = {} try: obj = models.SysModule.objects.get(id=id) returnData = model_to_dict(obj) except Exception as error: Logger.error(request, '请求更新模块数据页面时出现错误:%s' % error.__str__()) return render(request, 'controlPanel/systemSettings/methods/updateModule.html', { 'data': returnData, })
def post(self, request, id): user_id = id returnData = {} code = 0 msg = '' data = {} _list = [] try: obj = models.SysModule.objects.filter()\ .annotate(name = F('module_alias'), pid = F('parent_id'))\ .values('id', 'pid', 'module_name', 'name', 'module_link', 'module_desc') for item in obj: item['children'] = [] _list.append(item) msg = '获取成功' # 获取当前用户用户的权限 if id: userAuthObj = models.SysAuth.objects.get(user_id=user_id) if userAuthObj.auth_group_status == 1 or userAuthObj.auth_group_status == '1': # 如果当前用户继承组权限则返回该用户组的权限集合 userObj = models.SysUsers.objects.get( id=userAuthObj.user_id) userGroupAuthObj = models.SysAuthGroup.objects.get( auth_group_id=userObj.user_group) authCodeStrList = (userGroupAuthObj.auth_code).split(',') data['extendGroup'] = userAuthObj.auth_group_status else: # 如果该用户不继承组权限则获取自己的权限 data['extendGroup'] = userAuthObj.auth_group_status authCodeStrList = (userAuthObj.auth_code).split(',') data['checkedId'] = list(map(int, authCodeStrList)) except Exception as error: Logger.error(request, '获取模块树结构时出现错误:%s' % error.__str__()) code = 500 msg = error.__str__() data['list'] = _list returnData['code'] = code returnData['msg'] = msg returnData['data'] = data return JsonResponse(returnData)
def post(self, request): status = False queryDict = request.POST.dict() try: for item in notDbField: if item in queryDict: queryDict.pop(item) if queryDict: newId = models.SysDepartment.objects.create(**queryDict) if newId: status = True Logger.important(request, '添加了新部门信息, 新增记录数据ID为:%s' % newId.id) except Exception as error: Logger.error(request, '添加新部门信息时出现错误:%s' % error.__str__()) return HttpResponse(status)
def post(self, request): _status = request.POST.get('status') queryDict = request.POST.dict() status = False try: obj = SetStatus(queryDict, request) FuncObj = getattr(obj, _status) status = FuncObj() if status: Logger.important( request, '设置了编号为%s的待采购商品%s状态' % (queryDict.get('purchase_id'), _status)) except Exception as error: print(error) status = False Logger.error(request, '设置待采购商品状态时出现错误:%s' % error.__str__()) return HttpResponse(status)