UX: Require a confirmation if approving a post in a closed topic

This commit is contained in:
Robin Ward 2019-06-26 12:20:38 -04:00
parent b3ec3fac93
commit 817661aed9
2 changed files with 17 additions and 3 deletions

View File

@ -13,9 +13,18 @@ class ReviewableQueuedPost < Reviewable
def build_actions(actions, guardian, args)
unless approved?
actions.add(:approve_post) do |a|
a.icon = 'check'
a.label = "reviewables.actions.approve_post.title"
if topic&.closed?
actions.add(:approve_post_closed) do |a|
a.icon = 'check'
a.label = "reviewables.actions.approve_post.title"
a.confirm_message = "reviewables.actions.approve_post.confirm_closed"
end
else
actions.add(:approve_post) do |a|
a.icon = 'check'
a.label = "reviewables.actions.approve_post.title"
end
end
end
@ -106,6 +115,10 @@ class ReviewableQueuedPost < Reviewable
end
end
def perform_approve_post_closed(performed_by, args)
perform_approve_post(performed_by, args)
end
def perform_reject_post(performed_by, args)
# Backwards compatibility, new code should listen for `reviewable_transitioned_to`
DiscourseEvent.trigger(:rejected_post, self)

View File

@ -4521,6 +4521,7 @@ en:
title: "Approve"
approve_post:
title: "Approve Post"
confirm_closed: "This topic is closed. Would you like to create the post anyway?"
reject_post:
title: "Reject Post"
approve_user: