3cfd892f38
* master: (723 commits) Bump Rack Attack to v4.3.1 for security fix Remove duplicate entry in the changelog Remove extra spaces after branchname Fix merge-request-reopen button title Add branch and tag operation to tree dropdown Use gitlab-shell 2.6.9 Clarify Windows shell executor artifact upload support Fix feature specs: we always show the build status if ci_commit is present Do not display project group/name when issue and MR are in same project Don't create CI status for refs that doesn't have .gitlab-ci.yml, even if the builds are enabled Use gitlab-workhorse 0.5.1 Fix ci_projects migration by using the value only from latest row [ci skip] Revert sidebar position for issue and merge request Add info on using private Docker registries in CI [ci skip] Upgrade Poltergeist to 1.8.1. #4131 Fix ux issue with "This issue will be closed automatically" message Move MR Builds tab next to Commits Api support for requesting starred projects for user Fix Rubocop complain. Fix merge widget JS for buttons ... Conflicts: app/models/project.rb
74 lines
2.2 KiB
Ruby
74 lines
2.2 KiB
Ruby
module VisibilityLevelHelper
|
|
def visibility_level_color(level)
|
|
case level
|
|
when Gitlab::VisibilityLevel::PRIVATE
|
|
'vs-private'
|
|
when Gitlab::VisibilityLevel::INTERNAL
|
|
'vs-internal'
|
|
when Gitlab::VisibilityLevel::PUBLIC
|
|
'vs-public'
|
|
end
|
|
end
|
|
|
|
# Return the description for the +level+ argument.
|
|
#
|
|
# +level+ One of the Gitlab::VisibilityLevel constants
|
|
# +form_model+ Either a model object (Project, Snippet, etc.) or the name of
|
|
# a Project or Snippet class.
|
|
def visibility_level_description(level, form_model)
|
|
case form_model
|
|
when Project
|
|
project_visibility_level_description(level)
|
|
when Snippet
|
|
snippet_visibility_level_description(level, form_model)
|
|
end
|
|
end
|
|
|
|
def project_visibility_level_description(level)
|
|
case level
|
|
when Gitlab::VisibilityLevel::PRIVATE
|
|
"Project access must be granted explicitly to each user."
|
|
when Gitlab::VisibilityLevel::INTERNAL
|
|
"The project can be cloned by any logged in user."
|
|
when Gitlab::VisibilityLevel::PUBLIC
|
|
"The project can be cloned without any authentication."
|
|
end
|
|
end
|
|
|
|
def snippet_visibility_level_description(level, snippet = nil)
|
|
case level
|
|
when Gitlab::VisibilityLevel::PRIVATE
|
|
if snippet.is_a? ProjectSnippet
|
|
"The snippet is visible only to project members."
|
|
else
|
|
"The snippet is visible only to me."
|
|
end
|
|
when Gitlab::VisibilityLevel::INTERNAL
|
|
"The snippet is visible to any logged in user."
|
|
when Gitlab::VisibilityLevel::PUBLIC
|
|
"The snippet can be accessed without any authentication."
|
|
end
|
|
end
|
|
|
|
def visibility_level_label(level)
|
|
Project.visibility_levels.key(level)
|
|
end
|
|
|
|
def restricted_visibility_levels(show_all = false)
|
|
return [] if current_user.is_admin? && !show_all
|
|
current_application_settings.restricted_visibility_levels || []
|
|
end
|
|
|
|
def default_project_visibility
|
|
current_application_settings.default_project_visibility
|
|
end
|
|
|
|
def default_snippet_visibility
|
|
current_application_settings.default_snippet_visibility
|
|
end
|
|
|
|
def skip_level?(form_model, level)
|
|
form_model.is_a?(Project) &&
|
|
!form_model.visibility_level_allowed?(level)
|
|
end
|
|
end
|