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
fields = ['book_slug', 'book', 'anchor', 'audio_timestamp', 'mode', 'note', 'href', 'uuid', 'location', 'timestamp', 'deleted']
read_only_fields = ['uuid', 'mode']
+ def create(self, validated_data):
+ book = validated_data.pop('book_slug', None)
+ if book is not None:
+ validated_data['book'] = book
+ return super().create(validated_data)
+
+ def update(self, instance, validated_data):
+ book = validated_data.pop('book_slug', None)
+ if book is not None:
+ validated_data['book'] = book
+ return super().update(instance, validated_data)
@never_cache
class BookmarksView(ListCreateAPIView):
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()