diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-07-06 15:38:43 +0300 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-07-06 17:40:33 +0300 |
commit | 111ebe54712aca16f3ad0f3d859c1c036ccb9f09 (patch) | |
tree | 058564d9186c5bd291da7753cf8ee9d0c01f8c1e /app/helpers | |
parent | 17446ff0c98e870f0500279983432e5115e060a4 (diff) | |
download | gitlab-ce-111ebe54712aca16f3ad0f3d859c1c036ccb9f09.tar.gz |
Fork visibility level fixfork_visibility_level
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/projects_helper.rb | 10 | ||||
-rw-r--r-- | app/helpers/visibility_level_helper.rb | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index ec65e473919..d18f3e91614 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -139,6 +139,16 @@ module ProjectsHelper end end + def can_change_visibility_level?(project, current_user) + return false unless can?(current_user, :change_visibility_level, project) + + if project.forked? + project.forked_from_project.visibility_level > Gitlab::VisibilityLevel::PRIVATE + else + true + end + end + private def get_project_nav_tabs(project, current_user) diff --git a/app/helpers/visibility_level_helper.rb b/app/helpers/visibility_level_helper.rb index 00d4c7f1051..b52cd23aba2 100644 --- a/app/helpers/visibility_level_helper.rb +++ b/app/helpers/visibility_level_helper.rb @@ -86,4 +86,10 @@ module VisibilityLevelHelper def default_snippet_visibility current_application_settings.default_snippet_visibility end + + def skip_level?(form_model, level) + form_model.is_a?(Project) && + form_model.forked? && + !Gitlab::VisibilityLevel.allowed_fork_levels(form_model.forked_from_project.visibility_level).include?(level) + end end |