mirror of
https://github.com/discourse/discourse.git
synced 2024-11-24 15:33:43 +08:00
367de2594d
* FIX: Unlike own posts on ownership transfer If a user has liked a post that has passed the `post_undo_action_window_mins` system 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. * use an options hash instead |
||
---|---|---|
.. | ||
spam_rule | ||
anonymous_shadow_creator.rb | ||
badge_granter.rb | ||
color_scheme_revisor.rb | ||
destroy_task.rb | ||
email_style_updater.rb | ||
group_action_logger.rb | ||
group_mentions_updater.rb | ||
group_message.rb | ||
handle_chunk_upload.rb | ||
heat_settings_updater.rb | ||
inline_uploads.rb | ||
notification_consolidator.rb | ||
notification_emailer.rb | ||
post_action_notifier.rb | ||
post_alerter.rb | ||
post_owner_changer.rb | ||
push_notification_pusher.rb | ||
random_topic_selector.rb | ||
search_indexer.rb | ||
site_settings_task.rb | ||
staff_action_logger.rb | ||
themes_install_task.rb | ||
topic_status_updater.rb | ||
topic_timestamp_changer.rb | ||
tracked_topics_updater.rb | ||
trust_level_granter.rb | ||
user_action_manager.rb | ||
user_activator.rb | ||
user_anonymizer.rb | ||
user_authenticator.rb | ||
user_destroyer.rb | ||
user_merger.rb | ||
user_notification_renderer.rb | ||
user_silencer.rb | ||
user_updater.rb | ||
username_changer.rb | ||
username_checker_service.rb | ||
wildcard_domain_checker.rb | ||
wildcard_url_checker.rb | ||
word_watcher.rb |