From db3bc89792c5450cb93e674d621d5ea996ee01f6 Mon Sep 17 00:00:00 2001 From: Maxim Rydkin Date: Fri, 1 Sep 2017 00:43:13 +0300 Subject: refactor `app/helpers/projects_helper.rb:21:3` --- app/helpers/projects_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/helpers/projects_helper.rb') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 86665ea2aec..7e5b214b1c7 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -17,7 +17,7 @@ module ProjectsHelper def link_to_member_avatar(author, opts = {}) default_opts = { avatar: true, name: true, size: 16, author_class: 'author', title: ":name" } opts = default_opts.merge(opts) - image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: "avatar avatar-inline #{"s#{opts[:size]}" if opts[:size]}", alt: '') if opts[:avatar] + image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: ['avatar', 'avatar-inline', "#{"s#{opts[:size]}" if opts[:size]}", opts[:avatar_class]].reject(&:blank?), alt: '') if opts[:avatar] end def link_to_member(project, author, opts = {}, &block) @@ -29,7 +29,7 @@ module ProjectsHelper author_html = "" # Build avatar image tag - author_html << image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: "avatar avatar-inline #{"s#{opts[:size]}" if opts[:size]} #{opts[:avatar_class] if opts[:avatar_class]}", alt: '') if opts[:avatar] + author_html << link_to_member_avatar(author, opts) if opts[:avatar] # Build name span tag if opts[:by_username] -- cgit v1.2.1 From 0963ac363641c5552f6668705edcded4bad0259c Mon Sep 17 00:00:00 2001 From: Maxim Rydkin Date: Tue, 5 Sep 2017 23:17:53 +0300 Subject: fix helper and spec --- app/helpers/projects_helper.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/helpers/projects_helper.rb') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 7e5b214b1c7..c51b27ae24f 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -17,7 +17,11 @@ module ProjectsHelper def link_to_member_avatar(author, opts = {}) default_opts = { avatar: true, name: true, size: 16, author_class: 'author', title: ":name" } opts = default_opts.merge(opts) - image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: ['avatar', 'avatar-inline', "#{"s#{opts[:size]}" if opts[:size]}", opts[:avatar_class]].reject(&:blank?), alt: '') if opts[:avatar] + classes = %w[avatar avatar-inline] + classes << "s#{opts[:size]}" + classes << opts[:avatar_class] if opts[:avatar_class] + + image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: classes, alt: '') if opts[:avatar] end def link_to_member(project, author, opts = {}, &block) -- cgit v1.2.1 From 2a54cbcab83612991c0c61ffed1b2472e4e49047 Mon Sep 17 00:00:00 2001 From: Maxim Rydkin Date: Wed, 6 Sep 2017 19:26:01 +0300 Subject: fix project_helper.rb and add couple specs to it --- app/helpers/projects_helper.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'app/helpers/projects_helper.rb') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index c51b27ae24f..79ff57d5a94 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -17,11 +17,13 @@ module ProjectsHelper def link_to_member_avatar(author, opts = {}) default_opts = { avatar: true, name: true, size: 16, author_class: 'author', title: ":name" } opts = default_opts.merge(opts) - classes = %w[avatar avatar-inline] - classes << "s#{opts[:size]}" + + return unless opts[:avatar] + + classes = %W[avatar avatar-inline s#{opts[:size]}] classes << opts[:avatar_class] if opts[:avatar_class] - image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: classes, alt: '') if opts[:avatar] + image_tag(avatar_icon(author, opts[:size]), width: opts[:size], class: classes, alt: '') end def link_to_member(project, author, opts = {}, &block) -- cgit v1.2.1 From 091b1c5ed59b5c505d29c8905c78a867b12d5641 Mon Sep 17 00:00:00 2001 From: Maxim Rydkin Date: Thu, 7 Sep 2017 13:27:23 +0300 Subject: remove unnecessary args from `link_to_member_avatar` method in `app/helpers/projects_helper.rb` --- app/helpers/projects_helper.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'app/helpers/projects_helper.rb') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 79ff57d5a94..51c625ede4b 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -15,11 +15,9 @@ module ProjectsHelper end def link_to_member_avatar(author, opts = {}) - default_opts = { avatar: true, name: true, size: 16, author_class: 'author', title: ":name" } + default_opts = { size: 16 } opts = default_opts.merge(opts) - return unless opts[:avatar] - classes = %W[avatar avatar-inline s#{opts[:size]}] classes << opts[:avatar_class] if opts[:avatar_class] -- cgit v1.2.1 From 03b14b48a07e3bcab53b273bbeccdba1ef921ac2 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 7 Sep 2017 18:07:40 +0000 Subject: Resolve "Make project and features visibility settings less confusing" --- app/helpers/projects_helper.rb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'app/helpers/projects_helper.rb') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 51c625ede4b..c0114dd0256 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -545,6 +545,43 @@ module ProjectsHelper current_application_settings.restricted_visibility_levels || [] end + def project_permissions_settings(project) + feature = project.project_feature + { + visibilityLevel: project.visibility_level, + requestAccessEnabled: !!project.request_access_enabled, + issuesAccessLevel: feature.issues_access_level, + repositoryAccessLevel: feature.repository_access_level, + mergeRequestsAccessLevel: feature.merge_requests_access_level, + buildsAccessLevel: feature.builds_access_level, + wikiAccessLevel: feature.wiki_access_level, + snippetsAccessLevel: feature.snippets_access_level, + containerRegistryEnabled: !!project.container_registry_enabled, + lfsEnabled: !!project.lfs_enabled + } + end + + def project_permissions_panel_data(project) + data = { + currentSettings: project_permissions_settings(project), + canChangeVisibilityLevel: can_change_visibility_level?(project, current_user), + allowedVisibilityOptions: project_allowed_visibility_levels(project), + visibilityHelpPath: help_page_path('public_access/public_access'), + registryAvailable: Gitlab.config.registry.enabled, + registryHelpPath: help_page_path('user/project/container_registry'), + lfsAvailable: Gitlab.config.lfs.enabled && current_user.admin?, + lfsHelpPath: help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs') + } + + data.to_json.html_safe + end + + def project_allowed_visibility_levels(project) + Gitlab::VisibilityLevel.values.select do |level| + project.visibility_level_allowed?(level) && !restricted_levels.include?(level) + end + end + def find_file_path return unless @project && !@project.empty_repo? -- cgit v1.2.1