Skip spam check for task list updates
Task list updates should not mark users action as spam on akismet.
This commit is contained in:
parent
54820ac996
commit
bdbaebf87e
4 changed files with 25 additions and 4 deletions
|
@ -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)
|
||||
|
|
5
changelogs/unreleased/issue_64021.yml
Normal file
5
changelogs/unreleased/issue_64021.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
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')
|
||||
|
|
Loading…
Reference in a new issue