blake
(Blake Erickson)
14. August 2020 um 23:45
3
I created a PR to address this issue:
master ← remove-new-post-owner-self-likes
merged 03:21PM - 19 Aug 20 UTC
If a user has liked a post that has passed the
`post_undo_action_window_mins` s… ystem setting window and you transfer ownership
of that post to that user you will be the owner of a post that you have
liked, but cannot unlike resulting in a weird UI behavior. This commit
fixes this issue.
The existing tests didn't check for the timeout window for unliking
posts so I added that in.
I couldn't find a good way to do this logic inside of the guardian class
so rather than duplicating behavior of the `PostActionDestroyer` class
inside of the `PostOwnerChanger` I decided to pass in a "bypass"
variable that could be used to check if the calling class is the
'post_owner_changer' and bypass the guardian instead. I went this route
because the guardian `can_delete_post_action` method has no way of
distinguishing how to allow a user to be able to unlike their own posts
after the timeout window but only on a post owner change.
What I figured out is that the ownership transfer works just fine in removing likes if the ‘unlike’ timeout window hasn’t been reached yet, but if that has been reached, like on an old post, that is why the likes didn’t get removed because it fails to pass the guardian check of being able to unlike your own posts.
2 „Gefällt mir“