Commit bdbaebf8 authored by Felipe Artur's avatar Felipe Artur Committed by Dmitriy Zaporozhets

Skip spam check for task list updates

Task list updates should not mark users action as spam on akismet.
parent 54820ac9
......@@ -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