From 6121d11187930a83919b804afbf3afe7657ebf24 Mon Sep 17 00:00:00 2001 From: Maja Komel Date: Sun, 2 Dec 2018 20:59:00 +0100 Subject: [PATCH] FIX: make staff_edit_locks_post work with download_remote_images_to_local --- lib/post_revisor.rb | 1 + spec/components/post_revisor_spec.rb | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/post_revisor.rb b/lib/post_revisor.rb index 4a37236018b..90a5c2f2980 100644 --- a/lib/post_revisor.rb +++ b/lib/post_revisor.rb @@ -176,6 +176,7 @@ class PostRevisor !@post.wiki? && @fields.has_key?('raw') && @editor.staff? && + @editor != Discourse.system_user && !@post.user.staff? ) PostLocker.new(@post, @editor).lock diff --git a/spec/components/post_revisor_spec.rb b/spec/components/post_revisor_spec.rb index eb843010f06..4f5df63762b 100644 --- a/spec/components/post_revisor_spec.rb +++ b/spec/components/post_revisor_spec.rb @@ -546,7 +546,7 @@ describe PostRevisor do expect(post).to be_locked end - it "doesn't wiki posts" do + it "doesn't lock the wiki posts" do post.wiki = true result = subject.revise!( moderator, @@ -556,6 +556,7 @@ describe PostRevisor do post.reload expect(post).not_to be_locked end + it "doesn't lock the post when the raw did not change" do result = subject.revise!( moderator, @@ -577,6 +578,16 @@ describe PostRevisor do expect(post).not_to be_locked end + it "doesn't lock the post when revised by system user" do + result = subject.revise!( + Discourse.system_user, + raw: "I usually replace hotlinked images" + ) + expect(result).to eq(true) + post.reload + expect(post).not_to be_locked + end + it "doesn't lock a staff member's post" do staff_post = Fabricate(:post, user: moderator) revisor = PostRevisor.new(staff_post)