FIX: Deprecated method should still behave the same. (#14067)
This commit is contained in:
parent
64ead3c3a1
commit
a50cb61dd5
|
@ -555,10 +555,24 @@ class PostsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def flagged_posts
|
def flagged_posts
|
||||||
deprecate('posts#flagged_posts is deprecated. Please use /review instead.', since: '2.8.0.beta4', drop_from: '2.9')
|
Discourse.deprecate(
|
||||||
review_queue_url = path("/review?status=all&type=ReviewableFlaggedPost&username=#{params[:username]}")
|
'PostsController#flagged_posts is deprecated. Please use /review instead.',
|
||||||
|
since: '2.8.0.beta4', drop_from: '2.9'
|
||||||
|
)
|
||||||
|
|
||||||
redirect_to review_queue_url, status: 301
|
params.permit(:offset, :limit)
|
||||||
|
guardian.ensure_can_see_flagged_posts!
|
||||||
|
|
||||||
|
user = fetch_user_from_params
|
||||||
|
offset = [params[:offset].to_i, 0].max
|
||||||
|
limit = [(params[:limit] || 60).to_i, 100].min
|
||||||
|
|
||||||
|
posts = user_posts(guardian, user.id, offset: offset, limit: limit)
|
||||||
|
.where(id: PostAction.where(post_action_type_id: PostActionType.notify_flag_type_ids)
|
||||||
|
.where(disagreed_at: nil)
|
||||||
|
.select(:post_id))
|
||||||
|
|
||||||
|
render_serialized(posts, AdminUserActionSerializer)
|
||||||
end
|
end
|
||||||
|
|
||||||
def deleted_posts
|
def deleted_posts
|
||||||
|
|
|
@ -1705,6 +1705,44 @@ describe PostsController do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#flagged_posts' do
|
||||||
|
include_examples "action requires login", :get, "/posts/system/flagged.json"
|
||||||
|
|
||||||
|
describe "when logged in" do
|
||||||
|
it "raises an error if the user doesn't have permission to see the flagged posts" do
|
||||||
|
sign_in(user)
|
||||||
|
get "/posts/system/flagged.json"
|
||||||
|
expect(response).to be_forbidden
|
||||||
|
end
|
||||||
|
|
||||||
|
it "can see the flagged posts when authorized" do
|
||||||
|
sign_in(moderator)
|
||||||
|
get "/posts/system/flagged.json"
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "only shows agreed and deferred flags" do
|
||||||
|
post_agreed = create_post(user: user)
|
||||||
|
post_deferred = create_post(user: user)
|
||||||
|
post_disagreed = create_post(user: user)
|
||||||
|
|
||||||
|
r0 = PostActionCreator.spam(moderator, post_agreed).reviewable
|
||||||
|
r1 = PostActionCreator.off_topic(moderator, post_deferred).reviewable
|
||||||
|
r2 = PostActionCreator.inappropriate(moderator, post_disagreed).reviewable
|
||||||
|
|
||||||
|
r0.perform(admin, :agree_and_keep)
|
||||||
|
r1.perform(admin, :ignore)
|
||||||
|
r2.perform(admin, :disagree)
|
||||||
|
|
||||||
|
sign_in(Fabricate(:moderator))
|
||||||
|
get "/posts/#{user.username}/flagged.json"
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
|
||||||
|
expect(response.parsed_body.length).to eq(2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '#deleted_posts' do
|
describe '#deleted_posts' do
|
||||||
include_examples "action requires login", :get, "/posts/system/deleted.json"
|
include_examples "action requires login", :get, "/posts/system/deleted.json"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue