diff options
author | Patrick Bajao <ebajao@gitlab.com> | 2019-07-05 11:03:47 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2019-07-05 11:03:47 +0000 |
commit | 6ef6693e3767d480362ce528dd0beff159c895ff (patch) | |
tree | d2f55dee037e7258ce8eec829bca4bb77f34a745 /app/services | |
parent | a1edc5a5cb3e740b0c215c54ce282535b143a9db (diff) | |
download | gitlab-ce-6ef6693e3767d480362ce528dd0beff159c895ff.tar.gz |
Refactor PositionTracer to support different types
This is to prepare for supporing image type position tracing
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/discussions/update_diff_position_service.rb | 3 | ||||
-rw-r--r-- | app/services/system_note_service.rb | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/app/services/discussions/update_diff_position_service.rb b/app/services/discussions/update_diff_position_service.rb index c61437fb2e3..7bdf7711155 100644 --- a/app/services/discussions/update_diff_position_service.rb +++ b/app/services/discussions/update_diff_position_service.rb @@ -3,7 +3,8 @@ module Discussions class UpdateDiffPositionService < BaseService def execute(discussion) - result = tracer.trace(discussion.position) + old_position = discussion.position + result = tracer.trace(old_position) return unless result position = result[:position] diff --git a/app/services/system_note_service.rb b/app/services/system_note_service.rb index 4783417ad6d..1d02d7ed787 100644 --- a/app/services/system_note_service.rb +++ b/app/services/system_note_service.rb @@ -268,11 +268,13 @@ module SystemNoteService merge_request = discussion.noteable diff_refs = change_position.diff_refs version_index = merge_request.merge_request_diffs.viewable.count + position_on_text = change_position.on_text? + text_parts = ["changed this #{position_on_text ? 'line' : 'file'} in"] - text_parts = ["changed this line in"] if version_params = merge_request.version_params_for(diff_refs) - line_code = change_position.line_code(project.repository) - url = url_helpers.diffs_project_merge_request_path(project, merge_request, version_params.merge(anchor: line_code)) + repository = project.repository + anchor = position_on_text ? change_position.line_code(repository) : change_position.file_hash + url = url_helpers.diffs_project_merge_request_path(project, merge_request, version_params.merge(anchor: anchor)) text_parts << "[version #{version_index} of the diff](#{url})" else |