def api_repair_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) repair_array = data.get("repair_id_string", None) title="消息通知" description = '你的投诉已经完成处理!' theme = 'repair' role = 'user' if repair_array: list_repair = str(repair_array).split(",") for i in range(len(list_repair)): rep_id = int(list_repair[i]) repair = Repair.objects.get(id=rep_id) repair.complete_time = datetime.datetime.now() repair.complete_date = datetime.datetime.now() repair.status = 3 repair.save() user_obj = User.objects.get(username=repair.author) profile = ProfileDetail.objects.get(profile=user_obj) push_class = ThreadClass(description, profile, title, theme, role) push_class.start() check_pleased = PleasedClass(repair,repair.id,theme) check_pleased.start() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_modify_housekeeping_item(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) modify_item_id = data.get('modify_item_id', None) housekeeping_price_description = data.get('modify_price_description', None) housekeeping_item_name = data.get('modify_item_name', None) housekeeping_content = data.get('modify_content', None) housekeeping_remarks = data.get('modify_remarks', None) try: item = Housekeeping_items.objects.get(id=modify_item_id) except Exception: response_data = {'success': False, 'info': '不存在'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") if housekeeping_price_description or housekeeping_item_name or housekeeping_content or housekeeping_remarks: if housekeeping_price_description: item.price_description = housekeeping_price_description if housekeeping_item_name: item.item = housekeeping_item_name if housekeeping_content: item.content = housekeeping_content if housekeeping_remarks: item.remarks = housekeeping_remarks item.save() response_data = {'success': True} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '没有修改信息'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_repair_response(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) repair_id = data.get("repair_id", None) response_content = data.get("response_content", None) selected_pleased = data.get("selected_pleased", None) repair = Repair.objects.get(id=repair_id) handler_profile = ProfileDetail.objects.get(profile=repair.handler) title = '消息通知' description = '用户已对你的处理作出评价!' theme = 'repair' theme_one = '报修' role = 'worker' if repair and selected_pleased: repair.pleased_reason = response_content repair.pleased = selected_pleased repair.save() push_class = ThreadClass(description, handler_profile, title, theme, role) push_class.start() judge_pleased = JudgeClass(repair,theme_one,handler_profile) judge_pleased.start() response_data = {'success': True, 'info': '反馈成功!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '反馈失败!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: return return_404_response()
def api_add_express_record(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) community_id = data.get(u'community_id', None) building_num = data.get(u'building_num', None) room_num = data.get(u'room_num', None) community = Community.objects.get(id=community_id) profile = ProfileDetail.objects.filter(community=community, floor=building_num, gate_card=room_num) if profile: express = Express(author=profile[0]) express.handler = request.user express.arrive_time = datetime.datetime.now() express.community = community express.save() response_data = {'success': True, 'info': '添加成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '添加失败,没有此用户!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_repair_create_android(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() else: repair_content = unquote(str(request.POST.get('content', None))) repair_type = unquote(str(request.POST.get('category', None))) category_item_id = request.POST.get('category_item_id', None) #upload_repair_src = unquote(str(request.FILES.get('upload_repair_img', None))) upload_repair_src = request.FILES.get('upload_repair_img', None) repair_time = datetime.datetime.now() item = Repair_item.objects.get(id=category_item_id) profile = ProfileDetail.objects.get(profile=request.user) if repair_type: repair = Repair() repair.content = repair_content repair.timestamp = repair_time repair.status = 1 repair.author = request.user.username repair.author_detail = profile repair.type = repair_type repair.repair_item = item.item repair.price = item.price repair.community = profile.community repair.is_read = True if upload_repair_src: repair.src = upload_repair_src repair.save() return HttpResponse(simplejson.dumps({'error': False, 'info': u'报修创建成功'}), content_type='application/json') else: return HttpResponse(simplejson.dumps({'error': True, 'info': u'报修创建失败'}), content_type='application/json')
def api_find_inhabitant(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) community_id = data.get(u'community_id', None) building_num = data.get(u'building_num', None) room_num = data.get(u'room_num', None) community = Community.objects.get(id=community_id) profile = ProfileDetail.objects.filter(community=community, floor=building_num, gate_card=room_num) if profile: community_name = community.title response_data = { 'success': True, 'community_name': community_name, 'building_num': building_num, 'room_num': room_num } return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '没有此用户!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_get_housekeeping_item(request): convert_session_id_to_user(request) items = Housekeeping_items.objects.all() if items: paginator = Paginator(items, 20) page_count = paginator.num_pages page = request.GET.get('page') try: items = paginator.page(page).object_list except PageNotAnInteger: items = paginator.page(1) except EmptyPage: items = paginator.page(paginator.num_pages) items_list = list() for item_detail in items: data = { 'item_id': item_detail.id, 'item_remarks': item_detail.remarks, 'item_name':item_detail.item, 'price_description':item_detail.price_description, 'item_content':item_detail.content, } items_list.append(data) response_data = {'success': True, 'items_list': items_list,'page_count': page_count } return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info':'没有家政项目'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_repair_deal(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) repair_array = data.get("repair_id_string", None) deal_person_id = data.get("deal_person_id", None) if repair_array and deal_person_id: list_repair = str(repair_array).split(",") for i in range(len(list_repair)): rep_id = int(list_repair[i]) repair = Repair.objects.get(id=rep_id) repair.status = 4 repair.is_read = True repair.is_worker_read = True user_obj = User.objects.get(id=deal_person_id) if user_obj: repair.handler = user_obj repair.save() response_data = {'success': True, 'info': u'授权成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': u'请选择要处理的报修'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_add_express_record(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) community_id = data.get(u'community_id', None) building_num = data.get(u'building_num', None) room_num = data.get(u'room_num', None) community = Community.objects.get(id=community_id) profile = ProfileDetail.objects.filter(community=community, floor=building_num, gate_card=room_num) if profile: express = Express(author=profile[0]) express.handler = request.user express.arrive_time = datetime.datetime.now() express.is_worker_read = True express.is_read = True express.community = community express.save() title = '消息通知' description = '你有新的快递到达请注意查收!' if profile.device_user_id and profile.device_chanel_id and profile.device_type: push_class = ThreadClass(description, profile[0], title) push_class.start() #push_message(description, profile, title) response_data = {'success': True, 'info': '添加成功并推送消息至收件人!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': True, 'info': '添加成功,该用户没有注册手机端!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '添加失败,没有此用户!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_complain_deal(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_array = data.get("complains_id_string", None) deal_person_id = data.get("deal_person_id", None) title = 'title' description = 'description' if complain_array and deal_person_id: list_complain_ = str(complain_array).split(",") for i in range(len(list_complain_)): com_id = int(list_complain_[i]) complain = Complaints.objects.get(id=com_id) complain.status = 4 complain.is_worker_read = True complain.is_read = True user_obj = User.objects.get(id=deal_person_id) if user_obj: complain.handler = user_obj complain.save() handler_detail = ProfileDetail.objects.get(profile=user_obj) if handler_detail.device_user_id and handler_detail.device_chanel_id and handler_detail.device_type: push_message(description, handler_detail, title) response_data = {'success': True, 'info': u'授权成功,并推送消息至处理人!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': True, 'info': u'授权成功,推送消息失败!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': u'请选择要处理的投诉'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_complain_create_android(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() else: complain_content = unquote(str(request.POST.get('content', None))) complain_type = unquote(str(request.POST.get('category', None))) #upload__complain_src = unquote(str(request.FILES.get('upload_complain_img', None))) upload__complain_src = request.FILES.get('upload_complain_img', None) #complain_time = datetime.datetime.utcnow().replace(tzinfo=utc) complain_time = datetime.datetime.now() profile = ProfileDetail.objects.get(profile=request.user) if complain_content or complain_type: complain = Complaints(author=request.user.username) complain.content = complain_content complain.timestamp = complain_time complain.author_detail = profile complain.type = complain_type complain.is_admin_read = True complain.community = profile.community if upload__complain_src: complain.src = upload__complain_src complain.save() return HttpResponse(simplejson.dumps({'error': False, 'info': u'投诉创建成功'}), content_type='application/json') else: return HttpResponse(simplejson.dumps({'error': True, 'info': u'投诉创建失败'}), content_type='application/json')
def api_complain_create_android(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() else: complain_content = unquote(str(request.POST.get('content', None))) complain_type = unquote(str(request.POST.get('category', None))) #upload__complain_src = unquote(str(request.FILES.get('upload_complain_img', None))) upload__complain_src = request.FILES.get('upload_complain_img', None) #complain_time = datetime.datetime.utcnow().replace(tzinfo=utc) complain_time = datetime.datetime.now() profile = ProfileDetail.objects.get(profile=request.user) if complain_content or complain_type: complain = Complaints(author=request.user.username) complain.content = complain_content complain.timestamp = complain_time complain.author_detail = profile complain.type = complain_type complain.is_admin_read = True complain.community = profile.community if upload__complain_src: complain.src = upload__complain_src complain.save() return HttpResponse(simplejson.dumps({'error': False, 'info': u'投诉创建成功'}), content_type='application/json') else: return HttpResponse(simplejson.dumps({'error': True, 'info': u'投诉创建失败'}), content_type='application/json')
def api_complain_response(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_id = data.get("complain_id", None) response_content = data.get("response_content", None) selected_pleased = data.get("selected_pleased", None) complain = Complaints.objects.get(id=complain_id) handler_profile = ProfileDetail.objects.get(profile=complain.handler) title = '消息通知' description = '用户已对你的处理作出评价!' if complain and selected_pleased: complain.pleased_reason = response_content complain.pleased = selected_pleased complain.save() push_class = ThreadClass(description, handler_profile, title) push_class.start() response_data = {'success': True, 'info': '反馈成功!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '反馈失败!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: return return_404_response()
def api_complain_deal(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_array = data.get("complains_id_string", None) deal_person_id = data.get("deal_person_id", None) title = '消息通知' description = '你有新的投诉需要处理' user_obj = User.objects.get(id=deal_person_id) handler_detail = ProfileDetail.objects.get(profile=user_obj) if handler_detail.device_user_id and handler_detail.device_chanel_id and handler_detail.device_type: if complain_array and deal_person_id: list_complain_ = str(complain_array).split(",") for i in range(len(list_complain_)): com_id = int(list_complain_[i]) complain = Complaints.objects.get(id=com_id) complain.status = 4 complain.is_worker_read = True complain.is_read = True if user_obj: complain.handler = user_obj complain.save() push_class = ThreadClass(description, handler_detail, title) push_class.start() #push_message(description, handler_detail, title) response_data = {'success': True, 'info': u'授权成功,并推送消息至处理人!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': u'请选择要处理的投诉'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': u'请工作人员绑定手机端'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_get_repair_item(request): convert_session_id_to_user(request) item_type = request.GET.get("type", None) if item_type == u'个人': items = Repair_item.objects.filter(type='个人报修') elif item_type == u'公共': items = Repair_item.objects.filter(type='公共报修') else: items = Repair_item.objects.all() if items: #paginator = Paginator(items, 5) #page_count = paginator.num_pages #page = request.GET.get('page') #try: # items = paginator.page(page).object_list #except PageNotAnInteger: # items = paginator.page(1) #except EmptyPage: # items = paginator.page(paginator.num_pages) items_list = list() for item_detail in items: data = { 'item_id': item_detail.id, 'item_type': item_detail.type, 'item_name': item_detail.item, 'item_price': item_detail.price, } items_list.append(data) response_data = {'success': True, 'items_list': items_list} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '没有报修项目'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_get_housekeeping_item(request): convert_session_id_to_user(request) items = Housekeeping_items.objects.all() if items: paginator = Paginator(items, 20) page_count = paginator.num_pages page = request.GET.get('page') try: items = paginator.page(page).object_list except PageNotAnInteger: items = paginator.page(1) except EmptyPage: items = paginator.page(paginator.num_pages) items_list = list() for item_detail in items: data = { 'item_id': item_detail.id, 'item_remarks': item_detail.remarks, 'item_name': item_detail.item, 'price_description': item_detail.price_description, 'item_content': item_detail.content, } items_list.append(data) response_data = { 'success': True, 'items_list': items_list, 'page_count': page_count } return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '没有家政项目'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_repair_create_android(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() else: repair_content = unquote(str(request.POST.get('content', None))) repair_type = unquote(str(request.POST.get('category', None))) category_item_id = request.POST.get('category_item_id', None) #upload_repair_src = unquote(str(request.FILES.get('upload_repair_img', None))) upload_repair_src = request.FILES.get('upload_repair_img', None) repair_time = datetime.datetime.now() item = Repair_item.objects.get(id=category_item_id) profile = ProfileDetail.objects.get(profile=request.user) if repair_type: repair = Repair() repair.content = repair_content repair.timestamp = repair_time repair.status = 1 repair.author = request.user.username repair.author_detail = profile repair.type = repair_type repair.repair_item = item.item repair.price = item.price repair.community = profile.community repair.is_read = True if upload_repair_src: repair.src = upload_repair_src repair.save() return HttpResponse(simplejson.dumps({'error': False, 'info': u'报修创建成功'}), content_type='application/json') else: return HttpResponse(simplejson.dumps({'error': True, 'info': u'报修创建失败'}), content_type='application/json')
def api_add_housekeeping_item(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_price_description = data.get( 'housekeeping_price_description', None) housekeeping_item_name = data.get('housekeeping_item_name', None) housekeeping_content = data.get('housekeeping_content', None) housekeeping_remarks = data.get('housekeeping_remarks', None) if housekeeping_price_description and housekeeping_item_name and housekeeping_content and housekeeping_remarks: item = Housekeeping_items() item.price_description = housekeeping_price_description item.item = housekeeping_item_name item.content = housekeeping_content item.remarks = housekeeping_remarks item.save() response_data = {'success': True} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '所需信息不能为空'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_repair_deal(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) repair_array = data.get("repair_id_string", None) deal_person_id = data.get("deal_person_id", None) deal_person = User.objects.get(id=deal_person_id) handler_detail = ProfileDetail.objects.get(profile=deal_person) if handler_detail.device_user_id and handler_detail.device_chanel_id and handler_detail.device_type: if repair_array and deal_person_id: list_repair = str(repair_array).split(",") for i in range(len(list_repair)): rep_id = int(list_repair[i]) repair = Repair.objects.get(id=rep_id) repair.status = 4 repair.is_read = True repair.is_worker_read = True user_obj = deal_person if user_obj: repair.handler = user_obj repair.save() title = '消息通知' description = '你有新的报修需要处理请查看!' push_class = ThreadClass(description, handler_detail, title) push_class.start() #push_message(description, handler_detail, title) response_data = {'success': True, 'info': '授权成功并推送消息至处理人!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '请工作人员帮定手机端'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_complain_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_array = data.get("complains_id_string", None) title = '消息通知' description = '你投诉已完成处理' theme = '投诉' role = 'user' if complain_array: list_complain_ = str(complain_array).split(",") for i in range(len(list_complain_)): com_id = int(list_complain_[i]) complain = Complaints.objects.get(id=com_id) complain.status = 3 complain.complete_time = datetime.datetime.now() complain.complete_date = datetime.datetime.now() user_obj = User.objects.get(username=complain.author) profile = ProfileDetail.objects.get(profile=user_obj) complain.save() push_class = ThreadClass(description, profile, title, theme, role) push_class.start() check_pleased = PleasedClass(complain,theme,complain.id) check_pleased.start() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_complain_create(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() else: complain_content = request.POST.get('content', None) complain_type = request.POST.get('category', None) profile = ProfileDetail.objects.get(profile=request.user) all_user_info = profile.community.profiledetail_set.all() community_admin = None for user_info in all_user_info: if user_info.profile.is_staff == True: community_admin = user_info upload__complain_src = request.FILES.get('upload_complain_img', None) #complain_time = datetime.datetime.utcnow().replace(tzinfo=utc) complain_time = datetime.datetime.now() profile = ProfileDetail.objects.get(profile=request.user) if complain_content or complain_type: complain = Complaints(author=request.user.username) complain.content = complain_content complain.author_detail = profile complain.timestamp = complain_time complain.create_date = complain_time complain.type = complain_type complain.is_admin_read = True complain.community = profile.community if upload__complain_src: complain.src = upload__complain_src complain.save() check_admin = CheckAdminClass(complain,community_admin,'投诉',complain.id) check_admin.start() return HttpResponse(simplejson.dumps({'error': False, 'info': u'投诉创建成功'}), content_type='application/json') else: return HttpResponse(simplejson.dumps({'error': True, 'info': u'投诉创建失败'}), content_type='application/json')
def api_modify_housekeeping_item(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) modify_item_id = data.get('modify_item_id', None) housekeeping_price_description = data.get('modify_price_description', None) housekeeping_item_name = data.get('modify_item_name', None) housekeeping_content = data.get('modify_content', None) housekeeping_remarks = data.get('modify_remarks', None) try: item = Housekeeping_items.objects.get(id=modify_item_id) except Exception: response_data = {'success': False, 'info': '不存在'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") if housekeeping_price_description or housekeeping_item_name or housekeeping_content or housekeeping_remarks: if housekeeping_price_description: item.price_description = housekeeping_price_description if housekeeping_item_name: item.item = housekeeping_item_name if housekeeping_content: item.content = housekeeping_content if housekeeping_remarks: item.remarks = housekeeping_remarks item.save() response_data = {'success': True} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '没有修改信息'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_housekeeping_deal(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("housekeeping_id_string", None) deal_person_id = data.get("deal_person_id", None) if housekeeping_array: list_housekeeping = str(housekeeping_array).split(",") for i in range(len(list_housekeeping)): com_id = int(list_housekeeping[i]) housekeeping = Housekeeping.objects.get(id=com_id) housekeeping.status = 2 user_obj = User.objects.get(id=deal_person_id) housekeeping.is_read = True if user_obj: housekeeping.handler = user_obj housekeeping.save() response_data = {'success': True, 'info': u'授权成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': u'请选择要处理的投诉'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_show_repair_by_status(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) repair_status = request.GET.get("status", None) profile = ProfileDetail.objects.get(profile=request.user) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') if request.user.is_staff: repairs = Repair.objects.filter(community=community, status=int(str(repair_status))).order_by('-timestamp') elif profile.is_admin: repairs = Repair.objects.filter(community=community, status=int(str(repair_status)), handler=request.user).order_by('-timestamp') else: repairs = Repair.objects.filter(community=community, status=int(str(repair_status)), author=request.user.username).order_by('-timestamp') if len(repairs) > 0: paginator = Paginator(repairs, 20) page_count = paginator.num_pages page = request.GET.get('page') try: repairs_list = paginator.page(page).object_list except PageNotAnInteger: repairs_list = paginator.page(1) except EmptyPage: repairs_list = paginator.page(paginator.num_pages) repair_list = list() local_time = None for repair_detail in repairs_list: time = repair_detail.timestamp local = time.astimezone(UTC(8)) complete_time = repair_detail.complete_time if complete_time: local_time = complete_time.astimezone(UTC(8)) data = { 'id': repair_detail.id, 'repair_author': repair_detail.author, 'author_community': repair_detail.community.title, 'author_floor': repair_detail.author_detail.floor, 'author_room': repair_detail.author_detail.gate_card, 'content': repair_detail.content, 'complete_time': str(local_time).split('.')[0], 'type': repair_detail.type, 'deal_status': repair_detail.status, 'pleased': repair_detail.pleased, 'src': repair_detail.src.name, 'time': str(local).split('.')[0], 'handler': str(repair_detail.handler) } repair_list.append(data) response_data = {'repair_list': repair_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_show_all_express(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: one_community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') expresses = Express.objects.filter( community=one_community).order_by('-arrive_time') if len(expresses) > 0: paginator = Paginator(expresses, 20) page_count = paginator.num_pages page = request.GET.get('page') try: expresses_list = paginator.page(page).object_list except PageNotAnInteger: expresses_list = paginator.page(1) except EmptyPage: expresses_list = paginator.page(paginator.num_pages) express_list = list() for express_detail in expresses_list: arrive_time = express_detail.arrive_time arrive_time = arrive_time.astimezone(UTC(8)) if express_detail.get_time: get_time = express_detail.get_time get_time = get_time.astimezone(UTC(8)) else: get_time = express_detail.get_time data = { 'id': express_detail.id, 'express_author': express_detail.author.profile.username, 'author_community': express_detail.author.community.title, 'author_floor': express_detail.author.floor, 'author_room': express_detail.author.gate_card, 'get_express_type': express_detail.type, 'deal_status': express_detail.status, 'pleased': express_detail.pleased, 'arrive_time': str(arrive_time).split('.')[0], 'get_time': str(get_time).split('.')[0] } express_list.append(data) response_data = { 'express_list': express_list, 'page_count': page_count, 'success': True } return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '没有快递!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_show_all_housekeeping(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') housekeeping = Housekeeping.objects.filter( community=community).order_by('-time') if housekeeping: paginator = Paginator(housekeeping, 20) page_count = paginator.num_pages page = request.GET.get('page') try: housekeeping_list = paginator.page(page).object_list except PageNotAnInteger: housekeeping_list = paginator.page(1) except EmptyPage: housekeeping_list = paginator.page(paginator.num_pages) house_keep_list = list() for housekeeping_detail in housekeeping_list: time = housekeeping_detail.time local = time.astimezone(UTC(8)) data = { 'id': housekeeping_detail.id, 'housekeeping_author': str(housekeeping_detail.author.profile), 'author_community': housekeeping_detail.author.community.title, 'author_floor': housekeeping_detail.author.floor, 'author_room': housekeeping_detail.author.gate_card, 'content': housekeeping_detail.housekeeping_item.content, 'housekeeping_status': housekeeping_detail.status, 'price_description': housekeeping_detail.housekeeping_item.price_description, 'item': housekeeping_detail.housekeeping_item.item, 'remarks': housekeeping_detail.housekeeping_item.remarks, 'pleased': housekeeping_detail.pleased, 'handler': str(housekeeping_detail.handler), 'time': str(local).split('.')[0] } house_keep_list.append(data) response_data = { 'house_keep_list': house_keep_list, 'page_count': page_count, 'success': True } return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_express_delete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) express_array = data.get("express_id_string", None) if express_array: list_express = str(express_array).split(",") for i in range(len(list_express)): express_id = int(list_express[i]) Express.objects.get(id=express_id).delete() response_data = {'success': True, 'info': '删除成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_express_delete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) express_array = data.get("express_id_string", None) if express_array: list_express = str(express_array).split(",") for i in range(len(list_express)): express_id = int(list_express[i]) Express.objects.get(id=express_id).delete() response_data = {'success': True, 'info': '删除成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_show_all_complains(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') complains = Complaints.objects.filter(community=community).order_by('-timestamp') if len(complains) > 0: paginator = Paginator(complains, 20) page_count = paginator.num_pages page = request.GET.get('page') try: complains_list = paginator.page(page).object_list except PageNotAnInteger: complains_list = paginator.page(1) except EmptyPage: complains_list = paginator.page(paginator.num_pages) complain_list = list() local_time =None for complain_detail in complains_list: time = complain_detail.timestamp local = time.astimezone(UTC(8)) complete_time = complain_detail.complete_time if complete_time: local_time = complete_time.astimezone(UTC(8)) data = { 'id': complain_detail.id, 'complain_author': complain_detail.author, 'author_community': complain_detail.community.title, 'author_floor': complain_detail.author_detail.floor, 'author_room': complain_detail.author_detail.gate_card, 'content': complain_detail.content, 'type': complain_detail.type, 'complete_time':str(local_time).split('.')[0], 'deal_status': complain_detail.status, 'pleased': complain_detail.pleased, 'src': complain_detail.src.name, 'time': str(local).split('.')[0], 'handler': str(complain_detail.handler) } complain_list.append(data) response_data = {'complains_list': complain_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '该小区没有投诉'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_housekeeping_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("housekeeping_id_string", None) if housekeeping_array: list_housekeeping = str(housekeeping_array).split(",") for i in range(len(list_housekeeping)): house_id = int(list_housekeeping[i]) housekeeping = Housekeeping.objects.get(id=house_id) housekeeping.status = 3 housekeeping.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_complain_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_array = data.get("complains_id_string", None) if complain_array: list_complain_ = str(complain_array).split(",") for i in range(len(list_complain_)): com_id = int(list_complain_[i]) complain = Complaints.objects.get(id=com_id) complain.status = 3 complain.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_show_all_express(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: one_community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') expresses = Express.objects.filter(community=one_community).order_by('-arrive_time') if len(expresses) > 0: paginator = Paginator(expresses, 20) page_count = paginator.num_pages page = request.GET.get('page') try: expresses_list = paginator.page(page).object_list except PageNotAnInteger: expresses_list = paginator.page(1) except EmptyPage: expresses_list = paginator.page(paginator.num_pages) express_list = list() for express_detail in expresses_list: arrive_time = express_detail.arrive_time arrive_time = arrive_time.astimezone(UTC(8)) if express_detail.get_time: get_time = express_detail.get_time get_time = get_time.astimezone(UTC(8)) else: get_time = express_detail.get_time data = { 'id': express_detail.id, 'express_author': express_detail.author.profile.username, 'author_community': express_detail.author.community.title , 'author_floor': express_detail.author.floor, 'author_room': express_detail.author.gate_card, 'get_express_type': express_detail.type, 'express_signer': express_detail.signer, 'deal_status': express_detail.status, 'pleased': express_detail.pleased, 'arrive_time': str(arrive_time).split('.')[0], 'get_time': str(get_time).split('.')[0] } express_list.append(data) response_data = {'express_list': express_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '没有快递!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_get_community(request): convert_session_id_to_user(request) communities = Community.objects.all() if communities: community_list = list() for community_detail in communities: data = { 'id': community_detail.id, 'community_title': community_detail.title, 'community_description': community_detail.description } community_list.append(data) response_data = {'community_list': community_list, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_housekeeping_item_delete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("selected_item_string", None) if housekeeping_array: list_housekeeping_item = str(housekeeping_array).split(",") for i in range(len(list_housekeeping_item)): housekeeping_id = int(list_housekeeping_item[i]) Housekeeping_items.objects.get(id=housekeeping_id).delete() response_data = {'success': True, 'info': '删除成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '删除失败!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_repair_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) repair_array = data.get("repair_id_string", None) if repair_array: list_repair = str(repair_array).split(",") for i in range(len(list_repair)): rep_id = int(list_repair[i]) repair = Repair.objects.get(id=rep_id) repair.complete_time = datetime.datetime.now() repair.status = 3 repair.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_housekeeping_complete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("housekeeping_id_string", None) if housekeeping_array: list_housekeeping = str(housekeeping_array).split(",") for i in range(len(list_housekeeping)): house_id = int(list_housekeeping[i]) housekeeping = Housekeeping.objects.get(id=house_id) housekeeping.status = 3 housekeeping.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_show_all_housekeeping(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') housekeeping = Housekeeping.objects.filter(community=community).order_by('-time') if housekeeping: paginator = Paginator(housekeeping, 20) page_count = paginator.num_pages page = request.GET.get('page') try: housekeeping_list = paginator.page(page).object_list except PageNotAnInteger: housekeeping_list = paginator.page(1) except EmptyPage: housekeeping_list = paginator.page(paginator.num_pages) house_keep_list = list() for housekeeping_detail in housekeeping_list: time = housekeeping_detail.time local = time.astimezone(UTC(8)) data = { 'id': housekeeping_detail.id, 'housekeeping_author': str(housekeeping_detail.author.profile), 'author_community': housekeeping_detail.author.community.title , 'author_floor': housekeeping_detail.author.floor, 'author_room': housekeeping_detail.author.gate_card, 'content': housekeeping_detail.housekeeping_item.content, 'housekeeping_status': housekeeping_detail.status, 'price_description': housekeeping_detail.housekeeping_item.price_description, 'item': housekeeping_detail.housekeeping_item.item, 'remarks': housekeeping_detail.housekeeping_item.remarks, 'pleased': housekeeping_detail.pleased, 'handler': str(housekeeping_detail.handler), 'time': str(local).split('.')[0] } house_keep_list.append(data) response_data = {'house_keep_list': house_keep_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_show_all_repair(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') repairs = Repair.objects.filter(community=community).order_by('-timestamp') if len(repairs) > 0: paginator = Paginator(repairs, 20) page_count = paginator.num_pages page = request.GET.get('page') try: repairs_list = paginator.page(page).object_list except PageNotAnInteger: repairs_list = paginator.page(1) except EmptyPage: repairs_list = paginator.page(paginator.num_pages) repair_list = list() for repair_detail in repairs_list: time = repair_detail.timestamp local = time.astimezone(UTC(8)) data = { 'id': repair_detail.id, 'repair_author': repair_detail.author, 'author_community': repair_detail.community.title, 'author_floor': repair_detail.author_detail.floor, 'author_room': repair_detail.author_detail.gate_card, 'content': repair_detail.content, 'type': repair_detail.type, 'deal_status': repair_detail.status, 'pleased': repair_detail.pleased, 'src': repair_detail.src.name, 'time': str(local).split('.')[0], 'handler': str(repair_detail.handler) } repair_list.append(data) response_data = {'repair_list': repair_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_housekeeping_item_delete(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("selected_item_string", None) if housekeeping_array: list_housekeeping_item = str(housekeeping_array).split(",") for i in range(len(list_housekeeping_item)): housekeeping_id = int(list_housekeeping_item[i]) Housekeeping_items.objects.get(id=housekeeping_id).delete() response_data = {'success': True, 'info': '删除成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '删除失败!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_get_community(request): convert_session_id_to_user(request) communities = Community.objects.all() if communities: community_list = list() for community_detail in communities: data = { 'id': community_detail.id, 'community_title': community_detail.title, 'community_description': community_detail.description } community_list.append(data) response_data = {'community_list': community_list, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api_find_inhabitant(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) community_id = data.get(u'community_id', None) building_num = data.get(u'building_num', None) room_num = data.get(u'room_num', None) community = Community.objects.get(id=community_id) profile = ProfileDetail.objects.filter(community=community, floor=building_num, gate_card=room_num) if profile: community_name = community.title response_data = {'success': True, 'community_name': community_name, 'building_num': building_num, 'room_num': room_num} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '没有此用户!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_user_obtain_express(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) express_id = data .get("express_id", None) #express_type = unquote(str(data .get("express_type", None))) express_type = data .get("express_type", None) #allowable_get_express_time = unquote(str(data .get("allowable_get_express_time", None))) allowable_get_express_time = data .get("allowable_get_express_time", None) express = Express.objects.get(id=express_id) if express and express_type: express.allowable_get_express_time = allowable_get_express_time express.type = express_type express.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: return return_404_response()
def api_add_repair_item_record(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) item_type = data.get('item_type', None) item_name = data.get('item_name', None) repair_item_price = data.get('repair_item_price', None) if item_type and item_name and repair_item_price: item = Repair_item() item.price = repair_item_price item.item = item_name item.type = item_type item.save() response_data = {'success': True} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_express_response(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) express_id = data.get("express_id", None) response_content = data.get("response_content", None) selected_pleased = data.get("selected_pleased", None) express =Express.objects.get(id=express_id) if express and selected_pleased: express.pleased_reason = response_content express.pleased = selected_pleased express.save() response_data = {'success': True, 'info': '反馈成功!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '反馈失败!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: return return_404_response()
def api_complain_response(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) complain_id = data.get("complain_id", None) response_content = data.get("response_content", None) selected_pleased = data.get("selected_pleased", None) complain = Complaints.objects.get(id=complain_id) if complain and selected_pleased: complain.pleased_reason = response_content complain.pleased = selected_pleased complain.save() response_data = {'success': True, 'info': '反馈成功!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '反馈失败!'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: return return_404_response()
def api_add_express_record(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) community_id = data.get(u'community_id', None) building_num = data.get(u'building_num', None) room_num = data.get(u'room_num', None) community = Community.objects.get(id=community_id) profile = ProfileDetail.objects.filter(community=community, floor=building_num, gate_card=room_num) if profile: express = Express(author=profile[0]) express.handler = request.user express.arrive_time = datetime.datetime.now() express.community = community express.save() response_data = {'success': True, 'info': '添加成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False, 'info': '添加失败,没有此用户!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_add_housekeeping_item(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_price_description = data.get('housekeeping_price_description', None) housekeeping_item_name = data.get('housekeeping_item_name', None) housekeeping_content = data.get('housekeeping_content', None) housekeeping_remarks = data.get('housekeeping_remarks', None) if housekeeping_price_description and housekeeping_item_name and housekeeping_content and housekeeping_remarks: item = Housekeeping_items() item.price_description = housekeeping_price_description item.item = housekeeping_item_name item.content = housekeeping_content item.remarks = housekeeping_remarks item.save() response_data = {'success': True} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: response_data = {'success': False,'info': '所需信息不能为空'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_user_obtain_express(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) express_id = data.get("express_id", None) #express_type = unquote(str(data .get("express_type", None))) express_type = data.get("express_type", None) #allowable_get_express_time = unquote(str(data .get("allowable_get_express_time", None))) allowable_get_express_time = data.get("allowable_get_express_time", None) express = Express.objects.get(id=express_id) if express and express_type: express.allowable_get_express_time = allowable_get_express_time express.type = express_type express.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json") else: return return_404_response()
def api_own_complain(request): convert_session_id_to_user(request) complains = Complaints.objects.filter(author=request.user.username) if len(complains) > 0: paginator = Paginator(complains, 20) page_count = paginator.num_pages page = request.GET.get('page') try: complains_list = paginator.page(page).object_list except PageNotAnInteger: complains_list = paginator.page(1) except EmptyPage: complains_list = paginator.page(paginator.num_pages) complain_list = list() for complain_detail in complains_list: time = complain_detail.timestamp local = time.astimezone(UTC(8)) data = { 'id': complain_detail.id, 'complain_author': complain_detail.author, 'author_community': complain_detail.community.title, 'author_floor': complain_detail.author_detail.floor, 'author_room': complain_detail.author_detail.gate_card, 'content': complain_detail.content, 'type': complain_detail.type, 'deal_status': complain_detail.status, 'pleased': complain_detail.pleased, 'src': complain_detail.src.name, 'time': str(local).split('.')[0], 'handler': str(complain_detail.handler) } complain_list.append(data) response_data = {'complain_list': complain_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')
def api__user_submit_housekeeping(request): convert_session_id_to_user(request) if request.method != u'POST': return return_error_response() elif 'application/json' in request.META['CONTENT_TYPE'].split(';'): data = simplejson.loads(request.body) housekeeping_array = data.get("housekeeping_item_string", None) list_housekeeping = str(housekeeping_array).split(",") profile = ProfileDetail.objects.get(profile=request.user) for i in range(len(list_housekeeping)): hou_id = int(list_housekeeping[i]) housekeeping_item = Housekeeping_items.objects.get(id=hou_id) housekeeping = Housekeeping() housekeeping.author = profile housekeeping.status = 1 housekeeping.community = profile.community #housekeeping.time = datetime.datetime.utcnow().replace(tzinfo=utc) housekeeping.time = datetime.datetime.now() housekeeping.housekeeping_item = housekeeping_item housekeeping.is_admin_read = True housekeeping.save() response_data = {'success': True, 'info': '提交成功!'} return HttpResponse(simplejson.dumps(response_data), content_type="application/json")
def api_show_complains_by_status(request): convert_session_id_to_user(request) community_id = request.GET.get("community_id", None) complains_status = request.GET.get("status", None) profile = ProfileDetail.objects.get(profile=request.user) if community_id: community = Community.objects.get(id=community_id) else: response_data = {'info': '没有传入小区id', 'success': False} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') if request.user.is_staff: if complains_status == u'未处理': complains = Complaints.objects.filter(community=community, status=1).order_by('-timestamp') if complains_status == u'处理中': complains = Complaints.objects.filter(community=community, status=2).order_by('-timestamp') if complains_status == u'已处理': complains = Complaints.objects.filter(community=community, status=3).order_by('-timestamp') elif profile.is_admin: if complains_status == u'处理中': complains = Complaints.objects.filter(community=community, status=2, handler=request.user).order_by( '-timestamp') if complains_status == u'已处理': complains = Complaints.objects.filter(community=community, status=3, handler=request.user).order_by( '-timestamp') else: if complains_status == u'未处理': complains = Complaints.objects.filter(community=community, status=1, author=request.user.username).order_by( '-timestamp') if complains_status == u'处理中': complains = Complaints.objects.filter(community=community, status=2, author=request.user.username).order_by( '-timestamp') if complains_status == u'已处理': complains = Complaints.objects.filter(community=community, status=3, author=request.user.username).order_by( '-timestamp') if len(complains) > 0: paginator = Paginator(complains, 20) page_count = paginator.num_pages page = request.GET.get('page') try: complains_list = paginator.page(page).object_list except PageNotAnInteger: complains_list = paginator.page(1) except EmptyPage: complains_list = paginator.page(paginator.num_pages) complain_list = list() for complain_detail in complains_list: time = complain_detail.timestamp local = time.astimezone(UTC(8)) data = { 'id': complain_detail.id, 'complain_author': complain_detail.author, 'author_community': complain_detail.community.title, 'author_floor': complain_detail.author_detail.floor, 'author_room': complain_detail.author_detail.gate_card, 'content': complain_detail.content, 'type': complain_detail.type, 'deal_status': complain_detail.status, 'pleased': complain_detail.pleased, 'src': complain_detail.src.name, 'time': str(local).split('.')[0], 'handler': str(complain_detail.handler) } complain_list.append(data) response_data = {'complains_list': complain_list, 'page_count': page_count, 'success': True} return HttpResponse(simplejson.dumps(response_data), content_type='application/json') else: response_data = {'success': False, 'info': '没有搜到要找的结果'} return HttpResponse(simplejson.dumps(response_data), content_type='application/json')