From d6a84fb59af5a78dc4c6fdc377e4f2ca24f6b403 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Aug 2023 06:00:02 +0000 Subject: [PATCH] minor code and doc fix --- doc/development.md | 7 +++++++ journal/models/common.py | 6 ++++-- journal/templatetags/user_actions.py | 7 +------ takahe/utils.py | 2 ++ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/doc/development.md b/doc/development.md index 1705905a..43dca2c7 100644 --- a/doc/development.md +++ b/doc/development.md @@ -21,6 +21,13 @@ $ pre-commit install pre-commit installed at .git/hooks/pre-commit ``` +Make sure code in submodule is updated +``` +git submodule update --init +``` + +then install requirements and pre-commit hook for `neodb-takahe` project (using a different venv is preferred) + Run Test -------- `python3 manage.py test` will run the tests diff --git a/journal/models/common.py b/journal/models/common.py index f48f5575..1be7d652 100644 --- a/journal/models/common.py +++ b/journal/models/common.py @@ -152,8 +152,10 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin): else 0 ) - def is_liked_by(self, user): - return self.latest_post and Takahe.post_liked_by(self.latest_post.pk, user) + def is_liked_by(self, identity): + return self.latest_post and Takahe.post_liked_by( + self.latest_post.pk, identity.pk + ) @property def reply_count(self): diff --git a/journal/templatetags/user_actions.py b/journal/templatetags/user_actions.py index d0d33a89..7483d6c2 100644 --- a/journal/templatetags/user_actions.py +++ b/journal/templatetags/user_actions.py @@ -34,12 +34,7 @@ def like_piece_action(context, piece): @register.simple_tag(takes_context=True) def liked_piece(context, piece): user = context["request"].user - return ( - user - and user.is_authenticated - and piece.post_id - and Takahe.get_user_interaction(piece.post_id, user.identity.pk, "like") - ) + return user and user.is_authenticated and piece.is_liked_by(user.identity) @register.simple_tag(takes_context=True) diff --git a/takahe/utils.py b/takahe/utils.py index a0931ced..ca66644f 100644 --- a/takahe/utils.py +++ b/takahe/utils.py @@ -501,6 +501,8 @@ class Takahe: @staticmethod def get_user_interaction(post_pk: int, identity_pk: int, type: str): + if not post_pk or not identity_pk: + return None post = Post.objects.filter(pk=post_pk).first() if not post: logger.warning(f"Cannot find post {post_pk}")