Commit 08519db4 authored by Etienne Baqué's avatar Etienne Baqué

Removed ReviewAppSetup file

Got rid off unnecessary refactoring.
parent 88c21102
# frozen_string_literal: true
module ReviewAppSetup
include Gitlab::Utils::StrongMemoize
include ChecksCollaboration
def can_setup_review_app?
strong_memoize(:can_setup_review_app?) do
cicd_missing? || (can_cluster_be_created? && cluster_missing?)
end
end
def cicd_missing?
current_user && can_current_user_push_code? && project.repository.gitlab_ci_yml.blank? && !project.auto_devops_enabled?
end
def can_cluster_be_created?
current_user && can?(current_user, :create_cluster, project)
end
def can_current_user_push_code?
strong_memoize(:can_current_user_push_code) do
if project.empty_repo?
can?(current_user, :push_code, project)
else
can_current_user_push_to_branch?(project.default_branch)
end
end
end
def cluster_missing?
strong_memoize(:cluster_missing?) do
project.clusters.blank?
end
end
def can_current_user_push_to_branch?(branch)
user_access(project).can_push_to_branch?(branch)
end
end
......@@ -8,7 +8,7 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
include TreeHelper
include IconsHelper
include ChecksCollaboration
include ReviewAppSetup
include Gitlab::Utils::StrongMemoize
presents :project
......@@ -124,6 +124,20 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
license&.nickname || license&.name || 'LICENSE'
end
def can_current_user_push_code?
strong_memoize(:can_current_user_push_code) do
if empty_repo?
can?(current_user, :push_code, project)
else
can_current_user_push_to_branch?(default_branch)
end
end
end
def can_current_user_push_to_branch?(branch)
user_access(project).can_push_to_branch?(branch)
end
def can_current_user_push_to_default_branch?
can_current_user_push_to_branch?(default_branch)
end
......@@ -263,7 +277,7 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
def kubernetes_cluster_anchor_data
if can_cluster_be_created?
if clusters.empty?
if clusters_empty?
AnchorData.new(false,
statistic_icon + _('Add Kubernetes cluster'),
new_project_cluster_path(project))
......@@ -311,6 +325,26 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
count_of_extra_topics_not_shown > 0
end
def can_setup_review_app?
strong_memoize(:can_setup_review_app) do
cicd_missing? || (can_cluster_be_created? && clusters_empty?)
end
end
def can_cluster_be_created?
current_user && can?(current_user, :create_cluster, project)
end
def cicd_missing?
current_user && can_current_user_push_code? && repository.gitlab_ci_yml.blank? && !auto_devops_enabled?
end
def clusters_empty?
strong_memoize(:cluster_missing) do
project.clusters.empty?
end
end
private
def filename_path(filename)
......
......@@ -2,15 +2,14 @@
class ReviewAppSetupEntity < Grape::Entity
include RequestAwareEntity
include ReviewAppSetup
expose :can_setup_review_app?
expose :cluster_missing?, if: -> (_, _) { can_setup_review_app? } do |project|
cluster_missing?
expose :clusters_empty?, if: -> (_, _) { project.can_setup_review_app? } do |project|
project.clusters_empty?
end
expose :review_snippet, if: -> (_, _) { can_setup_review_app? } do |_|
expose :review_snippet, if: -> (_, _) { project.can_setup_review_app? } do |_|
YAML.safe_load(File.read(Rails.root.join('lib', 'gitlab', 'ci', 'snippets', 'review_app_default.yml'))).inspect
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment