| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | from django.views.decorators.http import require_POST, require_GETfrom jet.forms import AddBookmarkForm, RemoveBookmarkForm, ToggleApplicationPinForm, ModelLookupFormfrom jet.models import Bookmarkfrom jet.utils import JsonResponse@require_POSTdef add_bookmark_view(request):    result = {'error': False}    form = AddBookmarkForm(request, request.POST)    if form.is_valid():        bookmark = form.save()        result.update({            'id': bookmark.pk,            'title': bookmark.title,            'url': bookmark.url        })    else:        result['error'] = True    return JsonResponse(result)@require_POSTdef remove_bookmark_view(request):    result = {'error': False}    try:        instance = Bookmark.objects.get(pk=request.POST.get('id'))        form = RemoveBookmarkForm(request, request.POST, instance=instance)        if form.is_valid():            form.save()        else:            result['error'] = True    except Bookmark.DoesNotExist:        result['error'] = True    return JsonResponse(result)@require_POSTdef toggle_application_pin_view(request):    result = {'error': False}    form = ToggleApplicationPinForm(request, request.POST)    if form.is_valid():        pinned = form.save()        result['pinned'] = pinned    else:        result['error'] = True    return JsonResponse(result)@require_GETdef model_lookup_view(request):    result = {'error': False}    form = ModelLookupForm(request, request.GET)    if form.is_valid():        items, total = form.lookup()        result['items'] = items        result['total'] = total    else:        result['error'] = True    return JsonResponse(result)
 |