From cba9f6f86615660a7dd4d63def4cbf9c6751e928 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Tue, 16 Jun 2026 13:35:34 +0200 Subject: [PATCH] Sync deleted bookmarks --- src/bookmarks/api/views.py | 6 ++++++ src/bookmarks/views.py | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bookmarks/api/views.py b/src/bookmarks/api/views.py index 315624fab..6aeb82de8 100644 --- a/src/bookmarks/api/views.py +++ b/src/bookmarks/api/views.py @@ -3,6 +3,7 @@ from api.utils import never_cache from django.db.models import Q 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 @@ -111,3 +112,8 @@ class BookmarkView(RetrieveUpdateDestroyAPIView): return models.Bookmark.objects.filter(q) else: return self.request.user.bookmark_set.all() + + def perform_destroy(self, instance): + instance.deleted = True + instance.updated_at = now() + instance.save() diff --git a/src/bookmarks/views.py b/src/bookmarks/views.py index 50390df16..c2b40e16b 100644 --- a/src/bookmarks/views.py +++ b/src/bookmarks/views.py @@ -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 @@ -41,6 +42,7 @@ def bookmarks(request): for bm in models.Bookmark.objects.filter( user=request.user, book=book, + deleted=False ) }) @@ -54,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({}) -- 2.20.1