summaryrefslogtreecommitdiff
path: root/app/serializers/merge_request_widget_entity.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-20 18:42:06 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-20 18:42:06 +0000
commit6e4e1050d9dba2b7b2523fdd1768823ab85feef4 (patch)
tree78be5963ec075d80116a932011d695dd33910b4e /app/serializers/merge_request_widget_entity.rb
parent1ce776de4ae122aba3f349c02c17cebeaa8ecf07 (diff)
downloadgitlab-ce-6e4e1050d9dba2b7b2523fdd1768823ab85feef4.tar.gz
Add latest changes from gitlab-org/gitlab@13-3-stable-ee
Diffstat (limited to 'app/serializers/merge_request_widget_entity.rb')
-rw-r--r--app/serializers/merge_request_widget_entity.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb
index 2a7afb57314..b7b9e7d1036 100644
--- a/app/serializers/merge_request_widget_entity.rb
+++ b/app/serializers/merge_request_widget_entity.rb
@@ -3,6 +3,8 @@
class MergeRequestWidgetEntity < Grape::Entity
include RequestAwareEntity
+ SUGGEST_PIPELINE = 'suggest_pipeline'
+
expose :id
expose :iid
@@ -14,6 +16,10 @@ class MergeRequestWidgetEntity < Grape::Entity
merge_request.project&.full_path
end
+ expose :can_create_pipeline_in_target_project do |merge_request|
+ can?(current_user, :create_pipeline, merge_request.target_project)
+ end
+
expose :email_patches_path do |merge_request|
project_merge_request_path(merge_request.project, merge_request, format: :patch)
end
@@ -60,6 +66,18 @@ class MergeRequestWidgetEntity < Grape::Entity
)
end
+ expose :user_callouts_path, if: -> (*) { Feature.enabled?(:suggest_pipeline) } do |merge_request|
+ user_callouts_path
+ end
+
+ expose :suggest_pipeline_feature_id, if: -> (*) { Feature.enabled?(:suggest_pipeline) } do |merge_request|
+ SUGGEST_PIPELINE
+ end
+
+ expose :is_dismissed_suggest_pipeline, if: -> (*) { Feature.enabled?(:suggest_pipeline) } do |merge_request|
+ current_user && current_user.dismissed_callout?(feature_name: SUGGEST_PIPELINE)
+ end
+
expose :human_access do |merge_request|
merge_request.project.team.human_max_access(current_user&.id)
end
@@ -119,7 +137,7 @@ class MergeRequestWidgetEntity < Grape::Entity
merge_request.source_branch_exists? &&
merge_request.source_project&.uses_default_ci_config? &&
!merge_request.source_project.has_ci? &&
- merge_request.commits_count.positive? &&
+ merge_request.commits_count > 0 &&
can?(current_user, :read_build, merge_request.source_project) &&
can?(current_user, :create_pipeline, merge_request.source_project)
end