def post(self, request, *args, **kwargs): request_data = request.data.get('data', {}) validator = ChangeDepartmentValidator(data=request_data) if not validator.is_valid(): return Response(console_response(code=1, msg=validator.errors)) department_id = validator.validated_data.get('department_id') member_list = validator.validated_data.get('member_list') accounts = AccountService.get_all_by_owner(member_list) members = [account.user for account in accounts] ret_set = DepartmentMemberService.join(members, department_id) return Response(console_response(ret_set=ret_set))
def search_cfg_history(payload): type = payload.get('type') id = payload.get('id') items = CfgRecordModel.objects.filter( model=type, rid=id).order_by('create_datetime').reverse() uids = set() for record in items: if record.applicant: uids.add(record.applicant) if record.approve: uids.add(record.approve) accounts = AccountService.get_all_by_owner(uids) names = {account.user.username: account.name for account in accounts} dicts = CfgRecordSerializer(items, many=True).data for item in dicts: applicant = item['applicant'] item['applicant'] = names.get(applicant, applicant) approve = item['approve'] item['approve'] = names.get(approve, approve) return console_response(total_count=len(items), ret_set=dicts)