def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: user = Piuser() user = user.loadJson(request) user.id = uuid.uuid4() # user.isstaff = 0 # user.isvisible = 1 # user.isdimission = 0 user.deletemark = 0 user.createon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') user.createby = curUser.RealName user.createuserid = curUser.Id user.isstaff = 0 user.isvisible = 1 user.isdimission = 0 if user.sortcode == None or user.sortcode == 0: sequence = SequenceService.GetSequence(None, 'PIUSER') user.sortcode = int(sequence) returnCode, returnMessage, returnValue = UserSerivce.AddUser(CommonUtils.Current(response, request), user) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success':True, 'Data':IsOk, 'Message':returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: updateEntity = UserSerivce.GetEntity(CommonUtils.Current(HttpResponse(), request), key) if updateEntity: updateEntity = updateEntity.loadJson(request) if curUser: updateEntity.modifiedby = curUser.RealName updateEntity.modifieduserid = curUser.Id returnCode, returnMessage = UserSerivce.UpdateUser(CommonUtils.Current(response, request), updateEntity) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def Sends(response, request, messageEntity, receiverIds, saveSend=True): """ 添加短信,可以发给多个人 Args: messageEntity (string): 实体 receiverIds (string): 接收者ID组 saveSend (bool): Returns: returnValue (int): 影响行数 """ returnValue = 0 #messageEntity.categorycode = MessageCategory.Receiver messageEntity.categorycode = 'Receiver' messageEntity.isnew = MessageStateCode.New messageEntity.ipaddress = CommonUtils.Current(response, request).IPAddress messageEntity.parentid = None messageEntity.deletemark = 0 messageEntity.enabled = 1 returnValue = returnValue + 1 userEntity = Piuser() for id in receiverIds: messageEntity.parentid = None #messageEntity.categorycode = MessageCategory.Receiver messageEntity.categorycode = 'Receiver' messageEntity.receiverid = id #messageEntity.functioncode = MessageFunction.UserMessage messageEntity.functioncode = 'UserMessage' try: userEntity = Piuser.objects.get(id=id) messageEntity.receiverrealname = userEntity.realname except: pass messageEntity.enabled = 1 messageEntity.isnew = 1 if messageEntity.receiverid == CommonUtils.Current( response, request).Id: messageEntity.isnew = MessageStateCode.Old #接收信息 parentId = MessageService.Add(messageEntity) if saveSend: messageEntity.id = uuid.uuid4() messageEntity.parentid = parentId #messageEntity.categorycode = MessageCategory.Send messageEntity.categorycode = 'Send' messageEntity.deletemark = 0 messageEntity.enabled = 0 MessageService.Add(messageEntity) returnValue = returnValue + 1 return returnValue
def GetMessageListByFunctionCode(request): functionCode = None searchValue = None page = 1 rows = 20 try: functionCode = request.POST['functionCode'] except: functionCode = None try: searchValue = request.POST['searchValue'] except: searchValue = "" try: page = request.POST['page'] except: page = 1 try: rows = request.POST['rows'] except: rows = 20 response = HttpResponse() curUser = CommonUtils.Current(response, request) jsons = "[]" if functionCode: searchValue = searchValue + "functioncode = '" + functionCode + "'" if searchValue: searchValue = searchValue + " AND " else: searchValue = "" searchValue = searchValue + "((" + 'receiverid' + " = '" + curUser.Id + "' AND " + 'categorycode' + " ='Receiver') " \ + " OR (" + 'createuserid' + " = '" + curUser.Id + "' AND " + 'categorycode' + " ='Send'))" recordCount = 0 recordCount, dtMessage = MessageService.GetMessagesByConditional( CommonUtils.Current(response, request), searchValue, page, rows) messageTmp = '' for message in dtMessage: messageTmp = messageTmp + ', ' + json.dumps(message, cls=DateEncoder) messageTmp = messageTmp.strip(',') returnValue = '{"total": ' + str( recordCount) + ', "rows":[' + messageTmp + ']}' response.content = returnValue return response
def UpdateUserConfig(request): if request.POST['themeJson']: response = HttpResponse() vUser = CommonUtils.Current(response, request) jobj = json.loads(request.POST['themeJson']) pageSize = str(jobj['gridRows']) themeName = str(jobj['theme']['name']) navType = str(jobj['navType']) returnValue = 0 if pageSize: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "WebPageSize", pageSize) if themeName: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "WebTheme", themeName) response.set_signed_cookie( 'theme', themeName, max_age=int( ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'CookieMaxAge')), salt=ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginUserKey')) if navType: returnValue = returnValue + ParameterService.SetParameter( vUser, "User", vUser.Id, "NavType", navType) response.set_signed_cookie( 'UIStyle', navType, max_age=int( ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'CookieMaxAge')), salt=ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginUserKey')) if returnValue > 0: response.content = '1' else: response.content = '保存失败!' return response else: response = HttpResponse() response.content = "无保存数据!" return response
def AddRoleUser(request): try: roleId = request.POST['roleId'] except: userId = None try: targetIds = request.POST['targetIds'] except: targetIds = None returnValue = 0 response = HttpResponse() for id in str(targetIds).split(','): UserRoleService.AddUserToRole(CommonUtils.Current(response, request), id, roleId) returnValue = returnValue + 1 if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response
def AddUserToRole(request): try: userId = request.POST['userId'] except: userId = None try: targetIds = request.POST['targetIds'] except: targetIds = None response = HttpResponse() returnValue = UserRoleService.AddUserToRole( CommonUtils.Current(response, request), userId, targetIds) if returnValue: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response
def SetRolePermissionItem(request): try: roleId = request.POST['roleId'] except: roleId = None try: grantIds = request.POST['grantIds'] except: grantIds = None try: revokeIds = request.POST['revokeIds'] except: revokeIds = None response = HttpResponse() vUser = CommonUtils.Current(response, request) if not roleId: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '请选择相应的角色!' }) return response successFlag = 0 if grantIds and (grantIds != ','): arrayGrantIds = str(grantIds).strip(',').split(',') if len(arrayGrantIds) > 0: successFlag = successFlag + RolePermission.GrantRolePermissions( vUser, [roleId], arrayGrantIds) else: successFlag = 1 if revokeIds and (revokeIds != ','): arrayRevokeIds = str(revokeIds).strip(',').split(',') if len(arrayRevokeIds) > 0: successFlag = successFlag + RolePermission.RevokeRolePermissions( None, [roleId], arrayRevokeIds) else: successFlag = 1 if successFlag > 0: successFlag = 1 response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '操作成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '操作失败!' }) return response
def BuildToolBarButton(response, request): sb = '' linkbtnTemplate = "<a id=\"{0}\" class=\"easyui-linkbutton\" style=\"float:left\" plain=\"true\" href=\"javascript:;\" icon=\"{1}\" {2} title=\"{3}\">{4}</a>" sb = sb + "<a id=\"refresh\" class=\"easyui-linkbutton\" style=\"float:left\" plain=\"true\" href=\"javascript:;\" icon=\"icon16_arrow_refresh\" title=\"重新加载\">刷新</a>" sb = sb + "<div class='datagrid-btn-separator'></div> " sb = sb + linkbtnTemplate.format( "sendMessage", "icon16_comment_edit", "" if PublicController.IsAuthorized( response, request, "MessageAdmin.SendMessage") else "disabled=\"True\"", "发送消息", "发消息") if CommonUtils.Current(response, request).IsAdministrator: sb = sb + linkbtnTemplate.format( "broadcastMessage", "icon16_comments_add", "" if PublicController.IsAuthorized( response, request, "MessageAdmin.BroadcastMessage") else "disabled=\"True\"", "广播消息", "广播消息") sb = sb + linkbtnTemplate.format( "readMessage", "icon16_email_at_sign", "" if PublicController.IsAuthorized( response, request, "MessageAdmin.ReadMessage") else "disabled=\"True\"", "标志为已读", "已读") sb = sb + "<div class='datagrid-btn-separator'></div> " sb = sb + linkbtnTemplate.format( "delMessage", "icon16_comment_delete", "" if PublicController.IsAuthorized( response, request, "MessageAdmin.DeleteMessage") else "disabled=\"True\"", "删除选中的消息", "删除") return sb
def ReadMessage(request): try: key = request.POST['key'] except: key = '' returnValue = 0 response = HttpResponse() curUser = CommonUtils.Current(response, request) if key: returnValue = MessageService.Read(curUser, key) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def SetUserDimission(request): response = HttpResponse() curUser = CommonUtils.Current(response, request) userEntity = Piuser() userEntity.loadJson(request) if userEntity.username and userEntity.id: userEntity.username = UserSerivce.GetEntity(curUser.Id).username returnValue = LogOnService.UserDimission(None, userEntity.username, userEntity.dimissioncause, userEntity.dimissiondate, userEntity.dimissionwhither) if returnValue > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def OutLogin(request): response = HttpResponse() LogOnService.OnExit(None, CommonUtils.Current(response, request).Id) CommonUtils.EmptyCurrent(response, request) request.session.flush() response.content = '1' return response
def RemoveUserFromRole(request): try: roleId = request.POST['roleId'] userId = request.POST['userId'] except: roleId = None userId = None response = HttpResponse() if not userId: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '无选择的用户!' }) return response else: returnValue = RoleService.RemoveUserFromRole( CommonUtils.Current(response, request), [userId], roleId) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def AddUserToRole(request): try: roleId = request.POST['roleId'] addUserIds = request.POST['addUserIds'] except: roleId = None addUserIds = None response = HttpResponse() if roleId and len(str(addUserIds).strip()) > 0: returnValue = RoleService.AddUserToRole( CommonUtils.Current(response, request), roleId, str(addUserIds).split(',')) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': '添加成功!' }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '添加失败!' }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': '无选择的用户!' }) return response
def GetOrganizeTreeJson(request): try: isTree = request.GET['isTree'] if isTree == '1': isTree = True else: isTree = False except: isTree = False response = HttpResponse() dtOrganize = GetOrganizeScope(CommonUtils.Current(response, request), 'Resource.ManagePermission', False) if dtOrganize: dataTable = CommonUtils.CheckTreeParentId(dtOrganize, 'id', 'parentid') organizeJson = "[" + GroupJsondata(dtOrganize, "#") + "]" if isTree: response.content = organizeJson.replace("fullname", "text") return response else: response.content = organizeJson return response else: organizeJson = "[]" response.content = organizeJson return response
def Delete(request): try: keys = request.POST['keys'] except: key = '' returnValue = ExceptionService.Delete( CommonUtils.Current(HttpResponse(), request), keys.split(',')) if returnValue > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG0013 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def Delete(request): try: key = request.POST['key'] except: key = '' response = HttpResponse() returnValue = 0 if key: returnValue = MessageService.SetDeleted( CommonUtils.Current(response, request), [key]) if returnValue > 0: response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def OptionUserJson(request): try: keyword = request.GET['keyword'] except: keyword = '' response = HttpResponse() vUser = CommonUtils.Current(response, request) ListData = UserSerivce.Search(vUser, keyword, '', None) sb = '[' if len(ListData) > 0: for item in ListData: sb = sb + '{' sb = sb + "\"id\":\"" + item["ID"] + "\"," sb = sb + "\"text\":\"" + item["REALNAME"] + "(" + item[ "USERNAME"] + ")\"," Genderimg = "user_female" if str(item["GENDER"]) == "男": Genderimg = "user_green" sb = sb + "\"iconCls\":\"icon16_" + Genderimg + "\"," sb = sb + "\"username\":\"" + item["USERNAME"] + "\"," sb = sb + "\"code\":\"" + item["CODE"] + "\"," sb = sb + "\"realname\":\"" + item["REALNAME"] + "\"," sb = sb + "\"hasChildren\":false" sb = sb + "}," sb = sb.strip(',') sb = sb + ']' response.content = sb return response
def GetStaffByOrganizeId(request): """ 起始页 Args: Returns: """ jsons = "[]" organizeId = None try: organizeId = request.POST['organizeId'] except: organizeId = None response = HttpResponse() returnValue = '[' if organizeId: recordCount = 0 dtStaff = StaffService.GetDTByOrganize( CommonUtils.Current(response, request), organizeId, True) for staff in dtStaff: returnValue = returnValue + staff.toJSON() + "," returnValue = returnValue.strip(",") returnValue = returnValue + "]" response.content = returnValue else: response.content = jsons return response
def LoadTreeMenu(request): """ 加载无限树菜单 Args: Returns: """ try: moduleId = request.POST['moduleId'] except: moduleId = '84CA44CB-8A0F-43A1-BD86-1ED764216C59' response = HttpResponse() list = None if CommonUtils.Current(response, request).IsAdministrator: list = ModuleService.GetList(ModuleService) else: list = UserPermission.GetModuleDTByUserId( None, CommonUtils.Current(response, request), CommonUtils.Current(response, request).Id) listWhere = list.filter( Q(moduletype=None) | Q(moduletype=2) | Q(moduletype=3) | Q(ispublic=1)) treeList = [] for item in listWhere: tree = TreeJsonEntity() hasChildren = False for i in list: if i.parentid == item.id: hasChildren = True break tree.id = item.id tree.text = item.fullname tree.value = item.id tree.url = item.mvcnavigateurl tree.title = item.fullname tree.isExpand = item.expand tree.hasChildren = hasChildren tree.parentId = item.parentid if item.iconcss: tree.iconCls = item.iconcss.replace('icon ', '') else: tree.iconCls = '' treeList.append(tree) response.content = TreeJsonEntity.TreeToJson(treeList, moduleId) return response
def GetPermissionItemScop(response, request, permissionItemScopeCode): vUser = CommonUtils.Current(response, request) if vUser.IsAdministrator or (not permissionItemScopeCode) or (SystemInfo.EnableUserAuthorizationScope): dtPermissionItem = PermissionItemService.GetDT(None) else: dtPermissionItem = ScopPermission.GetPermissionItemDTByPermissionScope(None, vUser.Id, permissionItemScopeCode) return dtPermissionItem
def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: role = Pirole() role = role.loadJson(request) role.id = uuid.uuid4() # user.isstaff = 0 # user.isvisible = 1 # user.isdimission = 0 role.deletemark = 0 role.allowdelete = 1 role.allowedit = 1 role.createon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') role.createby = curUser.RealName role.modifiedon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') role.modifiedby = curUser.RealName role.enabled = 1 returnCode, returnMessage, returnValue = RoleService.Add(curUser, role) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success':True, 'Data':IsOk, 'Message':returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: role = RoleService.GetEntity(curUser, key) if role: role = role.loadJson(request) if curUser: role.modifiedby = curUser.RealName role.modifieduserid = curUser.Id returnCode, returnMessage = RoleService.Update(curUser, role) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def GetEntity(request): try: key = request.POST['key'] except: key = None entity = UserSerivce.GetEntity(CommonUtils.Current(HttpResponse(), request), key) response = HttpResponse() response.content = entity.toJSON() return response
def GetRoleList(request): response = HttpResponse() roleDT = GetRoleScope(CommonUtils.Current(response, request), "Resource.ManagePermission") returnValue = '[' for role in roleDT: returnValue = returnValue + role.toJSON() + "," returnValue = returnValue.strip(",") returnValue = returnValue + "]" response.content = returnValue return response
def OptionUser(request): response = HttpResponse() vUser = CommonUtils.Current(response, request) tmp = loader.get_template('MessageAdmin/OptionUser.html') # 加载模板 render_content = { 'Skin': CommonUtils.Theme(response, request) } # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def GetPageListLogByGeneral(request): page = None rows = None sort = None order = None filter = None try: page = request.POST['page'] except: page = 1 try: rows = request.POST['rows'] except: rows = 50 try: sort = request.POST['sort'] except: sort = 'createon' try: order = request.POST['order'] except: order = 'desc' try: filter = request.POST['filter'] except: filter = '' response = HttpResponse() whereStatement = SearchFilter.TransfromFilterToSql(filter, False) if not whereStatement: whereStatement = ' 1 = 1' dtLogByGeneral = UserSerivce.GetDTByPage( CommonUtils.Current(response, request), SearchFilter.TransfromFilterToSql(filter, False), '', '', rows, sort + ' ' + order) recordCount = dtLogByGeneral.count pageValue = dtLogByGeneral.page(page) userTmp = '' for role in pageValue: userTmp = userTmp + ', ' + json.dumps(role, cls=DateEncoder) userTmp = userTmp.strip(',') returnValue = '{"total": ' + str( recordCount) + ', "rows":[' + userTmp + ']}' response.content = returnValue return response
def GetDefaultConfig(request): response = HttpResponse() vUser = CommonUtils.Current(response, request) curTheme = ParameterService.GetParameter(vUser, "User", vUser.Id, "WebTheme") curPageSize = ParameterService.GetParameter(vUser, "User", vUser.Id, "WebPageSize") curNavType = ParameterService.GetParameter(vUser, "User", vUser.Id, "NavType") if curTheme: if ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginProvider') == 'Cookie': response.set_signed_cookie( 'theme', curTheme, max_age=int( ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'CookieMaxAge')), salt=ParameterService.GetServiceConfig( CommonUtils.Current(response, request), 'LoginUserKey')) outJson = "{" if curTheme: outJson = outJson + "\"theme\":{\"title\":\"默认皮肤\",\"name\":\"" + curTheme + "\",\"selected\":true}" else: outJson = outJson + "\"theme\":{\"title\":\"默认皮肤\",\"name\":\"default\",\"selected\":true}" if curPageSize: outJson = outJson + ",\"gridRows\":" + curPageSize else: outJson = outJson + ",\"gridRows\":20" if curNavType: outJson = outJson + ",\"navType\":\"" + curNavType + "\"}" else: outJson = outJson + ",\"navType\":\"AccordionTree\"}" response.content = outJson return response
def BroadcastMessageForm(request): response = HttpResponse() vUser = CommonUtils.Current(response, request) tmp = loader.get_template('MessageAdmin/BroadcastMessage.html') # 加载模板 render_content = { 'Addresser': vUser.UserName + "(" + vUser.RealName + ")", 'Skin': CommonUtils.Theme(response, request) } # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def Index(request): """ 起始页 Args: Returns: """ response = HttpResponse() tmp = loader.get_template('UserAdmin/Index.html') # 加载模板 render_content = {'Skin': CommonUtils.Theme(response, request), 'CurrentUserId': CommonUtils.Current(response, request).Id, 'ToolButton': BuildToolBarButton(response, request)} # 将要渲染到模板的数据 new_body = tmp.render(render_content) # 渲染模板 response.content = new_body # 设置返回内容 return response
def GridPageListJson(request): page = None rows = None sort = None order = None filter = None try: page = request.POST['page'] except: page = 1 try: rows = request.POST['rows'] except: rows = 20 try: sort = request.POST['sort'] except: sort = 'sortcode' try: order = request.POST['order'] except: order = 'asc' try: filter = request.POST['filter'] except: filter = '' response = HttpResponse() recordCount, dtParameter = ParameterService.GetDTByPage( CommonUtils.Current(response, request), SearchFilter.TransfromFilterToSql(filter, False), rows, sort + ' ' + order) pageValue = dtParameter.page(page) parameterTmp = '' for parameter in pageValue: parameterTmp = parameterTmp + ', ' + json.dumps(parameter, cls=DateEncoder) parameterTmp = parameterTmp.strip(',') returnValue = '{"total": ' + str( recordCount) + ', "rows":[' + parameterTmp + ']}' response.content = returnValue return response
def GetUserListJson(request): response = HttpResponse() user = CommonUtils.Current(response, request) if user.IsAdministrator or (not "Resource.ManagePermission") or (SystemInfo.EnableUserAuthorizationScope): dtUser = UserSerivce.GetDT(user) else: dtUser = ScopPermission.GetUserDTByPermissionScope(None, user.Id, "Resource.ManagePermission") userTmp = '' for user in dtUser: userTmp = userTmp + ', ' + user.toJSON() userTmp = userTmp.strip(',') returnValue = '[' + userTmp + ']' response.content = returnValue return response