X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4e361d55331351f56077e5f9999ecb4ee7e93819..e1e0bdc6aed0ca388dd1c8da7a0721beb0f1a2e4:/src/catalogue/api/fields.py diff --git a/src/catalogue/api/fields.py b/src/catalogue/api/fields.py index 80de4ab34..9b8b82cfc 100644 --- a/src/catalogue/api/fields.py +++ b/src/catalogue/api/fields.py @@ -1,10 +1,11 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # from rest_framework import serializers from api.fields import AbsoluteURLField from catalogue.models import Book from club.models import Membership +from social.models import UserList class BookLiked(serializers.ReadOnlyField): @@ -15,7 +16,11 @@ class BookLiked(serializers.ReadOnlyField): request = self.context['request'] if not hasattr(request, 'liked_books'): if request.user.is_authenticated: - request.liked_books = set(Book.tagged.with_any(request.user.tag_set.all()).values_list('id', flat=True)) + like_list = UserList.get_favorites_list(user=request.user) + if like_list is not None: + request.liked_books = [b.id for b in like_list.get_books()] + else: + request.liked_books = [] else: request.liked_books = None if request.liked_books is not None: