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:
authorOswaldo Ferreira <oswaldo@gitlab.com>2018-02-20 17:56:36 +0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2018-02-20 19:03:06 +0300
commite0e3f1c2750b6db9343d530d00b096bcb1a57677 (patch)
tree1ee744d81f999a06250c11c41c363cf29b5ce52e /app/helpers/projects_helper.rb
parentccc858a5dfdb446d9648db2449d3ee3ef7a2be59 (diff)
Move button list logic to project presenter
Diffstat (limited to 'app/helpers/projects_helper.rb')
-rw-r--r--app/helpers/projects_helper.rb307
1 files changed, 0 insertions, 307 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 0c64b8abec3..fa6811dccbf 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -153,11 +153,6 @@ module ProjectsHelper
end
end
- def license_short_name(project)
- license = project.repository.license
- license&.nickname || license&.name || 'LICENSE'
- end
-
def last_push_event
current_user&.recent_push(@project)
end
@@ -386,55 +381,6 @@ module ProjectsHelper
end
end
- def add_special_file_path(project, file_name:, commit_message: nil, branch_name: nil, context: nil)
- commit_message ||= s_("CommitMessage|Add %{file_name}") % { file_name: file_name }
- project_new_blob_path(
- project,
- project.default_branch || 'master',
- file_name: file_name,
- commit_message: commit_message,
- branch_name: branch_name,
- context: context
- )
- end
-
- def add_koding_stack_path(project)
- project_new_blob_path(
- project,
- project.default_branch || 'master',
- file_name: '.koding.yml',
- commit_message: "Add Koding stack script",
- content: <<-CONTENT.strip_heredoc
- provider:
- aws:
- access_key: '${var.aws_access_key}'
- secret_key: '${var.aws_secret_key}'
- resource:
- aws_instance:
- #{project.path}-vm:
- instance_type: t2.nano
- user_data: |-
-
- # Created by GitLab UI for :>
-
- echo _KD_NOTIFY_@Installing Base packages...@
-
- apt-get update -y
- apt-get install git -y
-
- echo _KD_NOTIFY_@Cloning #{project.name}...@
-
- export KODING_USER=${var.koding_user_username}
- export REPO_URL=#{root_url}${var.koding_queryString_repo}.git
- export BRANCH=${var.koding_queryString_branch}
-
- sudo -i -u $KODING_USER git clone $REPO_URL -b $BRANCH
-
- echo _KD_NOTIFY_@#{project.name} cloned.@
- CONTENT
- )
- end
-
def koding_project_url(project = nil, branch = nil, sha = nil)
if project
import_path = "/Home/Stacks/import"
@@ -451,36 +397,6 @@ module ProjectsHelper
Gitlab::CurrentSettings.koding_url
end
- def contribution_guide_path(project)
- if project && contribution_guide = project.repository.contribution_guide
- project_blob_path(
- project,
- tree_join(project.default_branch,
- contribution_guide.name)
- )
- end
- end
-
- def readme_path(project)
- filename_path(project, :readme)
- end
-
- def changelog_path(project)
- filename_path(project, :changelog)
- end
-
- def license_path(project)
- filename_path(project, :license_blob)
- end
-
- def version_path(project)
- filename_path(project, :version)
- end
-
- def ci_configuration_path(project)
- filename_path(project, :gitlab_ci_yml)
- end
-
def project_wiki_path_with_version(proj, page, version, is_newest)
url_params = is_newest ? {} : { version_id: version }
project_wiki_path(proj, page, url_params)
@@ -506,15 +422,6 @@ module ProjectsHelper
@ref || @repository.try(:root_ref)
end
- def filename_path(project, filename)
- if project && blob = project.repository.public_send(filename) # rubocop:disable GitlabSecurity/PublicSend
- project_blob_path(
- project,
- tree_join(project.default_branch, blob.name)
- )
- end
- end
-
def sanitize_repo_path(project, message)
return '' unless message.present?
@@ -604,218 +511,4 @@ module ProjectsHelper
project_find_file_path(@project, ref)
end
-
- def can_current_user_push_code?(project)
- project.empty_repo? ? can?(current_user, :push_code, project) : can_push_branch?(project, project.default_branch)
- end
-
- def files_anchor_data(project)
- {
- enabled: true,
- label: _('Files (%{human_size})') % { human_size: storage_counter(@project.statistics.total_repository_size) },
- link: project_tree_path(@project)
- }
- end
-
- def commits_anchor_data(project)
- {
- enabled: true,
- label: n_('Commit (%{commit_count})', 'Commits (%{commit_count})', @project.statistics.commit_count) % { commit_count: number_with_delimiter(@project.statistics.commit_count) },
- link: project_commits_path(@project, current_ref)
- }
- end
-
- def branches_anchor_data(project)
- {
- enabled: true,
- label: n_('Branch (%{branch_count})', 'Branches (%{branch_count})', @repository.branch_count) % { branch_count: number_with_delimiter(@repository.branch_count) },
- link: project_branches_path(@project)
- }
- end
-
- def tags_anchor_data(project)
- {
- enabled: true,
- label: n_('Tag (%{tag_count})', 'Tags (%{tag_count})', @repository.tag_count) % { tag_count: number_with_delimiter(@repository.tag_count) },
- link: project_tags_path(@project)
- }
- end
-
- def new_file_anchor_data(project)
- if current_user && can_current_user_push_code?(project)
- {
- enabled: false,
- label: _('New file'),
- link: project_new_blob_path(project, project.default_branch || 'master'),
- class_modifier: 'new'
- }
- end
- end
-
- def readme_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && project.repository.readme.blank?
- {
- enabled: false,
- label: _('Add Readme'),
- link: add_special_file_path(project, file_name: 'README.md')
- }
- elsif project.repository.readme.present?
- {
- enabled: true,
- label: _('Readme'),
- link: default_project_view != 'readme' ? readme_path(@project) : '#readme'
- }
- end
- end
-
- def changelog_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && project.repository.changelog.blank?
- {
- enabled: false,
- label: _('Add Changelog'),
- link: add_special_file_path(project, file_name: 'CHANGELOG')
- }
- elsif project.repository.changelog.present?
- {
- enabled: true,
- label: _('Changelog'),
- link: changelog_path(project)
- }
- end
- end
-
- def license_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && project.repository.license_blob.blank?
- {
- enabled: false,
- label: _('Add License'),
- link: add_special_file_path(project, file_name: 'LICENSE')
- }
- elsif project.repository.license_blob.present?
- {
- enabled: true,
- label: license_short_name(project),
- link: license_path(project)
- }
- end
- end
-
- def contribution_guide_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && project.repository.contribution_guide.blank?
- {
- enabled: false,
- label: _('Add Contribution guide'),
- link: add_special_file_path(project, file_name: 'CONTRIBUTING.md', commit_message: 'Add contribution guide')
- }
- elsif project.repository.contribution_guide.present?
- {
- enabled: true,
- label: _('Contribution guide'),
- link: contribution_guide_path(@project)
- }
- end
- end
-
- def autodevops_anchor_data(project, ignore_callout: false)
- if current_user && can?(current_user, :admin_pipeline, project) && project.repository.gitlab_ci_yml.blank? && (ignore_callout || !show_auto_devops_callout?(project))
- {
- enabled: project.auto_devops_enabled?,
- label: project.auto_devops_enabled? ? _('Auto DevOps enabled') : _('Enable Auto DevOps'),
- link: project_settings_ci_cd_path(project, anchor: 'js-general-pipeline-settings')
- }
- elsif project.auto_devops_enabled?
- {
- enabled: true,
- label: _('Auto DevOps enabled'),
- link: nil
- }
- end
- end
-
- def kubernetes_cluster_anchor_data(project)
- if current_user && can?(current_user, :create_cluster, project)
- cluster_link = project.clusters.size == 1 ? project_cluster_path(project, project.clusters.first) : project_clusters_path(project)
-
- if project.clusters.empty?
- cluster_link = new_project_cluster_path(project)
- end
-
- {
- enabled: !project.clusters.empty?,
- label: project.clusters.empty? ? _('Add Kubernetes cluster') : n_('Kubernetes cluster', 'Kubernetes clusters', project.clusters.size),
- link: cluster_link
- }
- end
- end
-
- def gitlab_ci_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && project.repository.gitlab_ci_yml.blank? && !project.auto_devops_enabled?
- {
- enabled: false,
- label: _('Set up CI/CD'),
- link: add_special_file_path(project, file_name: '.gitlab-ci.yml')
- }
- elsif project.repository.gitlab_ci_yml.present?
- {
- enabled: true,
- label: _('CI/CD configuration'),
- link: ci_configuration_path(@project)
- }
- end
- end
-
- def koding_anchor_data(project)
- if current_user && can_current_user_push_code?(project) && koding_enabled? && project.repository.koding_yml.blank?
- {
- enabled: false,
- label: _('Set up Koding'),
- link: add_koding_stack_path(project)
- }
- end
- end
-
- def empty_project_stat_anchor_items(project)
- [
- autodevops_anchor_data(project, ignore_callout: true),
- kubernetes_cluster_anchor_data(project)
- ].compact.reject { |i| !i[:enabled] }
- end
-
- def empty_project_stat_button_items(project)
- [
- new_file_anchor_data(project),
- readme_anchor_data(project),
- license_anchor_data(project),
- autodevops_anchor_data(project, ignore_callout: true),
- kubernetes_cluster_anchor_data(project)
- ].compact.reject { |i| i[:enabled] }
- end
-
- def project_stat_anchor_items(project)
- [
- files_anchor_data(project),
- commits_anchor_data(project),
- branches_anchor_data(project),
- tags_anchor_data(project),
- readme_anchor_data(project),
- changelog_anchor_data(project),
- license_anchor_data(project),
- contribution_guide_anchor_data(project),
- gitlab_ci_anchor_data(project),
- autodevops_anchor_data(project),
- kubernetes_cluster_anchor_data(project)
- ].compact.reject { |i| !i[:enabled] }
- end
-
- def project_stat_button_items(project)
- [
- changelog_anchor_data(project),
- license_anchor_data(project),
- contribution_guide_anchor_data(project),
- autodevops_anchor_data(project),
- kubernetes_cluster_anchor_data(project),
- gitlab_ci_anchor_data(project),
- koding_anchor_data(project)
- ].compact.reject { |i| i[:enabled] }
- end
end