Beispiel #1
0
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")
Beispiel #2
0
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")
Beispiel #3
0
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()
Beispiel #4
0
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")
Beispiel #5
0
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')
Beispiel #6
0
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")
Beispiel #7
0
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')
Beispiel #8
0
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")
Beispiel #9
0
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")
Beispiel #10
0
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")
Beispiel #11
0
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')
Beispiel #12
0
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')
Beispiel #13
0
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()
Beispiel #14
0
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')
Beispiel #16
0
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')
Beispiel #17
0
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')
Beispiel #18
0
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")
Beispiel #19
0
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")
Beispiel #20
0
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")
Beispiel #21
0
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')
Beispiel #22
0
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")
Beispiel #23
0
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")
Beispiel #24
0
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')
Beispiel #25
0
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')
Beispiel #26
0
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')
Beispiel #27
0
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")
Beispiel #28
0
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")
Beispiel #29
0
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')
Beispiel #30
0
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")
Beispiel #31
0
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")
Beispiel #32
0
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')
Beispiel #33
0
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')
Beispiel #34
0
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")
Beispiel #35
0
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")
Beispiel #36
0
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")
Beispiel #37
0
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')
Beispiel #38
0
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')
Beispiel #39
0
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")
Beispiel #40
0
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')
Beispiel #41
0
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")
Beispiel #42
0
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")
Beispiel #44
0
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()
Beispiel #45
0
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()
Beispiel #46
0
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")
Beispiel #47
0
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")
Beispiel #48
0
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()
Beispiel #49
0
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')
Beispiel #50
0
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")
Beispiel #51
0
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')