Пример #1
0
def update_item(request, item_id):
    errors = {'__all__': []}
    try:
        items = Item.objects.filter(id=item_id)
        
        if items.__len__() == 0:
            errors['__all__'].append("item not found")
            raise JsonResponseError
        
        item = items[0]

        if item.user != request.user:
            errors['__all__'].append("not allowed")
            raise JsonResponseError
        
        form = ItemForm(request.POST)
        
        if not form.is_valid():
            errors.update(form.field_errors_dict())
            raise JsonResponseError
        
        item.title = form.cleaned_data['title']
        item.description = form.cleaned_data['description']
        item.lat = form.cleaned_data['lat']
        item.lng = form.cleaned_data['lng']
        
        item.relist()
        item.save()

        response = {'success': True}
        return HttpResponse(simplejson.dumps(response))
    
    except JsonResponseError:
        response = {'success': False, 'errors': errors}
        return HttpResponse(simplejson.dumps(response))
Пример #2
0
def new_item(request):
    errors = {'__all__': []}
    try:
        if not request.user.is_authenticated():
            errors['__all__'].append("user must be logged in to create an item")
            raise JsonResponseError
        
        form = ItemForm(request.POST)
        
        if not form.is_valid():
            errors.update(form.field_errors_dict())
            raise JsonResponseError
        
        item = Item(
            title = form.cleaned_data['title'],
            description = form.cleaned_data['description'],
            lat = form.cleaned_data['lat'],
            lng = form.cleaned_data['lng'],
            user = request.user
        )
        
        item.relist()
        item.save()
        
        response = {'success': True, 'item_id': item.id}
        return HttpResponse(simplejson.dumps(response))
    
    except JsonResponseError:
        response = {'success': False, 'errors': errors}
        return HttpResponse(simplejson.dumps(response))