diff options
-rw-r--r-- | app/serializers/diff_file_entity.rb | 10 | ||||
-rw-r--r-- | app/serializers/merge_request_user_entity.rb | 24 | ||||
-rw-r--r-- | app/serializers/user_entity.rb | 14 | ||||
-rw-r--r-- | app/views/projects/merge_requests/show.html.haml | 2 |
4 files changed, 25 insertions, 25 deletions
diff --git a/app/serializers/diff_file_entity.rb b/app/serializers/diff_file_entity.rb index ea8808b15e3..ba8c7aa08fd 100644 --- a/app/serializers/diff_file_entity.rb +++ b/app/serializers/diff_file_entity.rb @@ -11,7 +11,6 @@ class DiffFileEntity < Grape::Entity include ChecksCollaboration include Gitlab::Utils::StrongMemoize - expose :submodule?, as: :submodule expose :submodule_link do |diff_file| @@ -99,15 +98,6 @@ class DiffFileEntity < Grape::Entity options) end - # TODO Simon we need to move this into MergeRequestEntity - # or Userentity or ProjectEntity - expose :fork_path, if: -> (_, options) { options[:merge_request] && current_user } do |diff_file| - merge_request = options[:merge_request] - - params = edit_blob_fork_params("Edit") - project_forks_path(merge_request.project, namespace_key: current_user.namespace.id, continue: params) - end - expose :view_path, if: -> (_, options) { options[:merge_request] } do |diff_file| merge_request = options[:merge_request] diff --git a/app/serializers/merge_request_user_entity.rb b/app/serializers/merge_request_user_entity.rb new file mode 100644 index 00000000000..e005d80ac11 --- /dev/null +++ b/app/serializers/merge_request_user_entity.rb @@ -0,0 +1,24 @@ +class MergeRequestUserEntity < UserEntity + include RequestAwareEntity + include BlobHelper + include TreeHelper + + expose :can_fork do |user| + can?(user, :fork_project, request.project) if project + end + + expose :can_create_merge_request do |user| + can?(user, :create_merge_request_in, project) if project + end + + expose :fork_path, if: -> (_, options) { project } do |user| + params = edit_blob_fork_params("Edit") + project_forks_path(project, namespace_key: user.namespace.id, continue: params) + end + + def project + return false unless request.respond_to?(:project) && request.project + + request.project + end +end diff --git a/app/serializers/user_entity.rb b/app/serializers/user_entity.rb index f44ca064a20..876512b12dc 100644 --- a/app/serializers/user_entity.rb +++ b/app/serializers/user_entity.rb @@ -1,21 +1,7 @@ class UserEntity < API::Entities::UserBasic include RequestAwareEntity - expose :can_fork do |user| - can?(user, :fork_project, request.project) if project - end - - expose :can_create_merge_request do |user| - can?(user, :create_merge_request_in, project) if project - end - expose :path do |user| user_path(user) end - - def project - return false unless request.respond_to?(:project) && request.project - - request.project - end end diff --git a/app/views/projects/merge_requests/show.html.haml b/app/views/projects/merge_requests/show.html.haml index 127d451bbc6..99204ed385e 100644 --- a/app/views/projects/merge_requests/show.html.haml +++ b/app/views/projects/merge_requests/show.html.haml @@ -63,7 +63,7 @@ noteable_data: serialize_issuable(@merge_request), noteable_type: 'MergeRequest', target_type: 'merge_request', - current_user_data: UserSerializer.new(project: @project).represent(current_user).to_json} } + current_user_data: UserSerializer.new(project: @project).represent(current_user, {}, MergeRequestUserEntity).to_json} } - else = render "projects/merge_requests/discussion" |