summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2018-05-10 14:15:37 -0300
committerFelipe Artur <felipefac@gmail.com>2018-05-10 14:15:37 -0300
commita23a2e091f91207a94386abcfacf43f2909463fe (patch)
treedd8a5bd91be4bf4d4b5bb1495e68030411be5d4f
parentfe9f500a8065cc614563f9bfc1635577e40e6458 (diff)
downloadgitlab-ce-a23a2e091f91207a94386abcfacf43f2909463fe.tar.gz
Move some properties to MergeRequestUserEntity
-rw-r--r--app/serializers/diff_file_entity.rb10
-rw-r--r--app/serializers/merge_request_user_entity.rb24
-rw-r--r--app/serializers/user_entity.rb14
-rw-r--r--app/views/projects/merge_requests/show.html.haml2
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"