X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/8a078a30db08afb680c48ce94d6e576236febeed..9716339d642d2784590d3df26aa7d8161c6c9f57:/src/catalogue/models/book.py?ds=sidebyside

diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py
index 97677bdee..2371103e7 100644
--- a/src/catalogue/models/book.py
+++ b/src/catalogue/models/book.py
@@ -229,8 +229,15 @@ class Book(models.Model):
     def is_accessible_to(self, user):
         if not self.preview:
             return True
+        if not user.is_authenticated:
+            return False
         Membership = apps.get_model('club', 'Membership')
-        return Membership.is_active_for(user)
+        if Membership.is_active_for(user):
+            return True
+        Funding = apps.get_model('funding', 'Funding')
+        if Funding.objects.filter(user=user, offer__book=self):
+            return True
+        return False
 
     def save(self, force_insert=False, force_update=False, **kwargs):
         from sortify import sortify
@@ -836,7 +843,7 @@ class Book(models.Model):
     def related_themes(self):
         return Tag.objects.usage_for_queryset(
             Fragment.objects.filter(models.Q(book=self) | models.Q(book__ancestor=self)),
-            counts=True).filter(category='theme')
+            counts=True).filter(category='theme').order_by('-count')
 
     def parent_cover_changed(self):
         """Called when parent book's cover image is changed."""