Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-17 15:10:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-17 15:10:12 +0300
commit4203215d542505bba491a01d637479934c8005d6 (patch)
tree000a956ac60247021ff8c36a1a17a1ea6ed1ff38 /app/serializers/diffs_metadata_entity.rb
parent325318e2ddfcaedf0527053dd3c9bd62db547089 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/serializers/diffs_metadata_entity.rb')
-rw-r--r--app/serializers/diffs_metadata_entity.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/serializers/diffs_metadata_entity.rb b/app/serializers/diffs_metadata_entity.rb
index b7024721ea9..8973f23734a 100644
--- a/app/serializers/diffs_metadata_entity.rb
+++ b/app/serializers/diffs_metadata_entity.rb
@@ -3,4 +3,23 @@
class DiffsMetadataEntity < DiffsEntity
unexpose :diff_files
expose :raw_diff_files, as: :diff_files, using: DiffFileMetadataEntity
+
+ expose :conflict_resolution_path do |_, options|
+ presenter(options[:merge_request]).conflict_resolution_path
+ end
+
+ expose :has_conflicts do |_, options|
+ options[:merge_request].cannot_be_merged?
+ end
+
+ expose :can_merge do |_, options|
+ options[:merge_request].can_be_merged_by?(request.current_user)
+ end
+
+ private
+
+ def presenter(merge_request)
+ @presenters ||= {}
+ @presenters[merge_request] ||= MergeRequestPresenter.new(merge_request, current_user: request.current_user) # rubocop: disable CodeReuse/Presenter
+ end
end