Commit ebcf92c5 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'issue_64021' into 'master'

Skip spam check for task list updates

Closes #64021

See merge request gitlab-org/gitlab-ce!30279
parents 54820ac9 bdbaebf8
......@@ -182,7 +182,7 @@ class IssuableBaseService < BaseService
# To be overridden by subclasses
end
def before_update(issuable)
def before_update(issuable, skip_spam_check: false)
# To be overridden by subclasses
end
......@@ -257,7 +257,7 @@ class IssuableBaseService < BaseService
last_edited_at: Time.now,
last_edited_by: current_user))
before_update(issuable)
before_update(issuable, skip_spam_check: true)
if issuable.with_transaction_returning_status { issuable.save }
# We do not touch as it will affect a update on updated_at field
......
......@@ -17,8 +17,8 @@ module Issues
super
end
def before_update(issue)
spam_check(issue, current_user)
def before_update(issue, skip_spam_check: false)
spam_check(issue, current_user) unless skip_spam_check
end
def handle_changes(issue, options)
......
---
title: Skip spam check for task list updates
merge_request: 30279
author:
type: fixed
......@@ -480,6 +480,22 @@ describe Issues::UpdateService, :mailer do
update_issue(description: "- [x] Task 1\n- [X] Task 2")
end
it 'does not check for spam on task status change' do
params = {
update_task: {
index: 1,
checked: false,
line_source: '- [x] Task 1',
line_number: 1
}
}
service = described_class.new(project, user, params)
expect(service).not_to receive(:spam_check)
service.execute(issue)
end
it 'creates system note about task status change' do
note1 = find_note('marked the task **Task 1** as completed')
note2 = find_note('marked the task **Task 2** as completed')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment