FIX: make staff_edit_locks_post work with download_remote_images_to_local

FIX: make staff_edit_locks_post work with download_remote_images_to_local

From 6121d11187930a83919b804afbf3afe7657ebf24 Mon Sep 17 00:00:00 2001
From: Maja Komel <maja.komel@gmail.com>
Date: Sun, 2 Dec 2018 20:59:00 +0100
Subject: [PATCH] FIX: make staff_edit_locks_post work with
 download_remote_images_to_local


diff --git a/lib/post_revisor.rb b/lib/post_revisor.rb
index 4a37236..90a5c2f 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 eb84301..4f5df63 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)

GitHub

1 Like