mirror of
https://github.com/discourse/discourse.git
synced 2026-07-29 23:58:12 -05:00
LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden FIX: PostRevision serializer is now entirely dynamic to properly handle hidden revisions FIX: default history modal to "side by side" view on mobile FIX: properly hiden which revision has been hidden UX: inline category/user/wiki/post_type changes with the revision details FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve latest revision UX: do not show the hide/show revision button on mobile (no room for them) UX: remove CSS transitions on the buttons in the history modal FIX: PostRevisor now handles all the changes that might create new revisions FIX: PostRevision.ensure_consistency! was wrong due to off by 1 mistake... refactored topic's callbacks for better readability extracted 'PostRevisionGuardian'
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# mixin for all Guardian methods dealing with post_revisions permissions
|
||||
module PostRevisionGuardian
|
||||
|
||||
def can_see_post_revision?(post_revision)
|
||||
return false unless post_revision
|
||||
return false if post_revision.hidden && !can_view_hidden_post_revisions?
|
||||
|
||||
can_view_edit_history?(post_revision.post)
|
||||
end
|
||||
|
||||
def can_hide_post_revision?(post_revision)
|
||||
is_staff?
|
||||
end
|
||||
|
||||
def can_show_post_revision?(post_revision)
|
||||
is_staff?
|
||||
end
|
||||
|
||||
def can_view_hidden_post_revisions?
|
||||
is_staff?
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user