diff options
author | Stan Hu <stan@gitlab.com> | 2017-10-14 22:28:19 +0000 |
---|---|---|
committer | Stan Hu <stan@gitlab.com> | 2017-10-14 22:28:19 +0000 |
commit | a2eec9fb09574cf2ee5683b283b4632b37ee332c (patch) | |
tree | 43663f6ee64b7d3220474d9d0646d55304d047fa | |
parent | 099928ad1e691ca4d80bcdfc95cbe4692c93680d (diff) | |
parent | 4d1d4151cecee23e3f2634ef1badabe7cc19c7bf (diff) | |
download | gitlab-ce-a2eec9fb09574cf2ee5683b283b4632b37ee332c.tar.gz |
Merge branch '3435-backport-9-5' into 'security-9-5'
3435 backport for 9.5
See merge request gitlab/gitlabhq!2207
-rw-r--r-- | app/models/note.rb | 2 | ||||
-rw-r--r-- | app/services/system_note_service.rb | 7 | ||||
-rw-r--r-- | spec/controllers/projects/issues_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/system_note_service_spec.rb | 14 |
4 files changed, 2 insertions, 23 deletions
diff --git a/app/models/note.rb b/app/models/note.rb index d0e3bc0bfed..9a4f201f678 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -144,7 +144,7 @@ class Note < ActiveRecord::Base end def cross_reference? - system? && SystemNoteService.cross_reference?(note) + system? && matches_cross_reference_regex? end def diff_note? diff --git a/app/services/system_note_service.rb b/app/services/system_note_service.rb index 1763f64a4e4..d442eb27f74 100644 --- a/app/services/system_note_service.rb +++ b/app/services/system_note_service.rb @@ -162,7 +162,6 @@ module SystemNoteService # "changed time estimate to 3d 5h" # # Returns the created Note object - def change_time_estimate(noteable, project, author) parsed_time = Gitlab::TimeTrackingFormatter.output(noteable.time_estimate) body = if noteable.time_estimate == 0 @@ -188,7 +187,6 @@ module SystemNoteService # "added 2h 30m of time spent" # # Returns the created Note object - def change_time_spent(noteable, project, author) time_spent = noteable.time_spent @@ -451,10 +449,6 @@ module SystemNoteService end end - def cross_reference?(note_text) - note_text =~ /\A#{cross_reference_note_prefix}/i - end - # Check if a cross-reference is disallowed # # This method prevents adding a "mentioned in !1" note on every single commit @@ -484,7 +478,6 @@ module SystemNoteService # mentioner - Mentionable object # # Returns Boolean - def cross_reference_exists?(noteable, mentioner) # Initial scope should be system notes of this noteable type notes = Note.system.where(noteable_type: noteable.class) diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index e498bb646a3..3db7243aad2 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -226,7 +226,7 @@ describe Projects::IssuesController do id: issue.iid, issue: { assignee_ids: [assignee.id] }, format: :json - body = JSON.parse(response.body) + body = json_response expect(body['assignees'].first.keys) .to match_array(%w(id name username avatar_url state web_url)) diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb index 8f1eb4863d9..5781c62afbc 100644 --- a/spec/services/system_note_service_spec.rb +++ b/spec/services/system_note_service_spec.rb @@ -530,20 +530,6 @@ describe SystemNoteService do end end - describe '.cross_reference?' do - it 'is truthy when text begins with expected text' do - expect(described_class.cross_reference?('mentioned in something')).to be_truthy - end - - it 'is truthy when text begins with legacy capitalized expected text' do - expect(described_class.cross_reference?('mentioned in something')).to be_truthy - end - - it 'is falsey when text does not begin with expected text' do - expect(described_class.cross_reference?('this is a note')).to be_falsey - end - end - describe '.cross_reference_disallowed?' do context 'when mentioner is not a MergeRequest' do it 'is falsey' do |