Esempio n. 1
0
def findings_with_place(place):
    findings_list = Finding.objects.none()
    for each in place:
        item = Place.get_place_by_id(int(each))
        place_findings = item.finding_set.all()
        findings_list = findings_list | place_findings
    return findings_list.distinct()
Esempio n. 2
0
def findings_with_place(place):
    findings_list = Finding.objects.none()
    for each in place:
        item = Place.get_place_by_id(int(each))
        place_findings = item.finding_set.all()
        findings_list = findings_list | place_findings
    return findings_list.distinct()
Esempio n. 3
0
def founds_with_place(place):
    founds_list = Found.objects.none()
    for each in place:
        item = Place.get_place_by_id(int(each))
        place_founds = item.found_set.all()
        founds_list = founds_list | place_founds
    return founds_list.distinct()
Esempio n. 4
0
def update_finding(request):
    code = 0
    finding_dict = {
        'id': request.POST['id'],
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_ids': request.POST.getlist('place_ids[]'),
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
        'pay': request.POST['pay']
    }
    if not check_finding(finding_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            finding = Finding.objects.filter(id=finding_dict['id'])
            finding.update(description=finding_dict['description'],
                           pay=finding_dict['pay'],
                           image=finding_dict['img'],
                           place_detail=finding_dict['place_detail'],
                           detail=finding_dict['detail'],
                           lost_time=finding_dict['time'])
            if len(finding) > 0:
                finding[0].place_ids.clear()
                finding[0].type_id.clear()
                for i in finding_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    finding[0].type_id.add(item)
                for p in finding_dict['place_ids']:
                    place = Place.get_place_by_id(int(p))
                    finding[0].place_ids.add(place)
                code = 0
            else:
                code = 2
        else:
            code = 2
    return JsonResponse({
        'code': code
    }, safe=False)
Esempio n. 5
0
def create_finding(request):
    code = 0
    finding_dict = {
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_ids': request.POST.getlist('place_ids[]'),
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
        'pay': request.POST['pay']
    }
    if not check_finding(finding_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            user = User.objects.get(id=request.session['user_id'])
            if user.phone == '0':
                code = 3
            else:
                new_finding = Finding(user_id=user,
                                      description=finding_dict['description'],
                                      pay=finding_dict['pay'],
                                      state=0,
                                      image=finding_dict['img'],
                                      place_detail=finding_dict['place_detail'],
                                      detail=finding_dict['detail'],
                                      lost_time=finding_dict['time'])
                new_finding.save()
                for i in finding_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    new_finding.type_id.add(item)
                for p in finding_dict['place_ids']:
                    place = Place.get_place_by_id(int(p))
                    new_finding.place_ids.add(place)
                code = 0
        else:
            code = 2
    return JsonResponse({
        'code': code
    }, safe=False)
Esempio n. 6
0
def create_finding(request):
    code = 0
    finding_dict = {
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_ids': request.POST.getlist('place_ids[]'),
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
        'pay': request.POST['pay']
    }
    if not check_finding(finding_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            user = User.objects.get(id=request.session['user_id'])
            if user.phone == '0':
                code = 3
            else:
                new_finding = Finding(
                    user_id=user,
                    description=finding_dict['description'],
                    pay=finding_dict['pay'],
                    state=0,
                    image=finding_dict['img'],
                    place_detail=finding_dict['place_detail'],
                    detail=finding_dict['detail'],
                    lost_time=finding_dict['time'])
                new_finding.save()
                for i in finding_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    new_finding.type_id.add(item)
                for p in finding_dict['place_ids']:
                    place = Place.get_place_by_id(int(p))
                    new_finding.place_ids.add(place)
                code = 0
        else:
            code = 2
    return JsonResponse({'code': code}, safe=False)
Esempio n. 7
0
def update_finding(request):
    code = 0
    finding_dict = {
        'id': request.POST['id'],
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_ids': request.POST.getlist('place_ids[]'),
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
        'pay': request.POST['pay']
    }
    if not check_finding(finding_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            finding = Finding.objects.filter(id=finding_dict['id'])
            finding.update(description=finding_dict['description'],
                           pay=finding_dict['pay'],
                           image=finding_dict['img'],
                           place_detail=finding_dict['place_detail'],
                           detail=finding_dict['detail'],
                           lost_time=finding_dict['time'])
            if len(finding) > 0:
                finding[0].place_ids.clear()
                finding[0].type_id.clear()
                for i in finding_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    finding[0].type_id.add(item)
                for p in finding_dict['place_ids']:
                    place = Place.get_place_by_id(int(p))
                    finding[0].place_ids.add(place)
                code = 0
            else:
                code = 2
        else:
            code = 2
    return JsonResponse({'code': code}, safe=False)
Esempio n. 8
0
def create_found(request):
    code = 0
    found_dict = {
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_id': request.POST['place_id'],
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
    }
    if not check_found(found_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            user = User.objects.get(id=request.session['user_id'])
            if user.phone == '0':
                code = 3
            else:
                place = Place.get_place_by_id(int(found_dict['place_id']))
                new_found = Found(user_id=user,
                                  description=found_dict['description'],
                                  state=0,
                                  image=found_dict['img'],
                                  place_detail=found_dict['place_detail'],
                                  detail=found_dict['detail'],
                                  place_id=place,
                                  found_time=found_dict['time'])
                new_found.save()
                for i in found_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    new_found.type_id.add(item)
                code = 0
        else:
            code = 2
    return JsonResponse({
        'code': code
    }, safe=False)
Esempio n. 9
0
def update_found(request):
    code = 0
    found_dict = {
        'id': request.POST['id'],
        'description': request.POST['description'],
        'img': request.POST['img'],
        'item_type_ids': request.POST.getlist('item_type_ids[]'),
        'time': request.POST['time'],
        'place_id': request.POST['place_id'],
        'place_detail': request.POST['place_detail'],
        'detail': request.POST['detail'],
    }
    if not check_found(found_dict):
        code = 1
    else:
        if request.session.get('user_id', '') != '':
            place = Place.get_place_by_id(int(found_dict['place_id']))
            found = Found.objects.filter(id=found_dict['id'])
            found.update(description=found_dict['description'],
                         image=found_dict['img'],
                         place_detail=found_dict['place_detail'],
                         detail=found_dict['detail'],
                         place_id=place,
                         found_time=found_dict['time'])
            if len(found) > 0:
                found[0].type_id.clear()
                for i in found_dict['item_type_ids']:
                    item = Item.get_item_type_by_id(int(i))
                    found[0].type_id.add(item)
                code = 0
            else:
                code = 2
        else:
            code = 2
    return JsonResponse({
        'code': code
    }, safe=False)