Sync deleted bookmarks
[wolnelektury.git] / src / bookmarks / views.py
index 7d83818..c2b40e1 100644 (file)
@@ -1,5 +1,6 @@
 from django.http import Http404, JsonResponse
 from django.shortcuts import render, get_object_or_404
+from django.utils.timezone import now
 from django.views.decorators import cache
 import catalogue.models
 from wolnelektury.utils import is_ajax
@@ -12,6 +13,8 @@ import re
 
 @cache.never_cache
 def bookmarks(request):
+    if not request.user.is_authenticated:
+        return JsonResponse({})
     try:
         slug = request.headers['Referer'].rsplit('.', 1)[0].rsplit('/', 1)[-1]
     except:
@@ -39,6 +42,7 @@ def bookmarks(request):
             for bm in models.Bookmark.objects.filter(
                     user=request.user,
                     book=book,
+                    deleted=False
             )
         })
 
@@ -52,7 +56,10 @@ def bookmark(request, uuid):
 
 
 def bookmark_delete(request, uuid):
-    models.Bookmark.objects.filter(user=request.user, uuid=uuid).delete()
+    models.Bookmark.objects.filter(user=request.user, uuid=uuid).update(
+        deleted=True,
+        updated_at=now()
+    )
     return JsonResponse({})
 
 
@@ -60,6 +67,8 @@ def bookmark_delete(request, uuid):
 
 @cache.never_cache
 def quotes(request):
+    if not request.user.is_authenticated:
+        return JsonResponse({})
     try:
         slug = request.headers['Referer'].rsplit('.', 1)[0].rsplit('/', 1)[-1]
     except: