Merge pull request #1811 from bookwyrm-social/cache-fix

Fixes active readthrough cache bug
This commit is contained in:
Mouse Reeve 2022-01-11 13:11:02 -08:00 committed by GitHub
commit e378e74901
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -132,19 +132,21 @@ def related_status(notification):
def active_shelf(context, book): def active_shelf(context, book):
"""check what shelf a user has a book on, if any""" """check what shelf a user has a book on, if any"""
user = context["request"].user user = context["request"].user
return cache.get_or_set( return (
cache.get_or_set(
f"active_shelf-{user.id}-{book.id}", f"active_shelf-{user.id}-{book.id}",
lambda u, b: ( lambda u, b: (
models.ShelfBook.objects.filter( models.ShelfBook.objects.filter(
shelf__user=u, shelf__user=u,
book__parent_work__editions=b, book__parent_work__editions=b,
).first() ).first()
) ),
or {"book": book},
user, user,
book, book,
timeout=15552000, timeout=15552000,
) )
or {"book": book}
)
@register.simple_tag(takes_context=False) @register.simple_tag(takes_context=False)