From 1974691bfe372f805a635319a8f7dbd6e0537485 Mon Sep 17 00:00:00 2001 From: Sean McGivern Date: Tue, 21 Mar 2017 15:25:00 +0000 Subject: Revert "Merge branch '29534-todos-performance' into 'master'" This reverts merge request !10076 --- app/helpers/todos_helper.rb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'app/helpers') diff --git a/app/helpers/todos_helper.rb b/app/helpers/todos_helper.rb index 847a8fdfca6..4f5adf623f2 100644 --- a/app/helpers/todos_helper.rb +++ b/app/helpers/todos_helper.rb @@ -39,13 +39,9 @@ module TodosHelper namespace_project_commit_path(todo.project.namespace.becomes(Namespace), todo.project, todo.target, anchor: anchor) else - if todo.build_failed? - # associated namespace and route would be loaded from the db again if todo.project was used - project = todo.target.project - path = [:pipelines, project.namespace.becomes(Namespace), project, todo.target] - else - path = [todo.target] - end + path = [todo.project.namespace.becomes(Namespace), todo.project, todo.target] + + path.unshift(:pipelines) if todo.build_failed? polymorphic_path(path, anchor: anchor) end -- cgit v1.2.3 From a57890bcaa76d540aa675e0c89d50620c9d69018 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Mon, 20 Mar 2017 20:53:14 +0100 Subject: Add helpers for pipeline user link & user avatar --- app/helpers/pipelines_helper.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 app/helpers/pipelines_helper.rb (limited to 'app/helpers') diff --git a/app/helpers/pipelines_helper.rb b/app/helpers/pipelines_helper.rb new file mode 100644 index 00000000000..23b9ff97521 --- /dev/null +++ b/app/helpers/pipelines_helper.rb @@ -0,0 +1,11 @@ +module PipelinesHelper + def pipeline_user_avatar(pipeline) + user_avatar(user: pipeline.user, size: 24) + end + + def pipeline_user_link(pipeline) + link_to(pipeline.user.name, user_path(pipeline.user), + title: pipeline.user.email, + class: 'has-tooltip commit-committer-link') + end +end -- cgit v1.2.3 From eb56b700ad901f581698dff90478461974fe00c2 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Wed, 22 Mar 2017 18:01:28 -0500 Subject: genericise sidebar vertical offset css as it relates to the subnav --- app/helpers/nav_helper.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/helpers') diff --git a/app/helpers/nav_helper.rb b/app/helpers/nav_helper.rb index a8f167cbff2..991fd949b94 100644 --- a/app/helpers/nav_helper.rb +++ b/app/helpers/nav_helper.rb @@ -31,7 +31,11 @@ module NavHelper end def layout_nav_class - "page-with-layout-nav" if defined?(nav) && nav + class_name = '' + class_name << " page-with-layout-nav" if defined?(nav) && nav + class_name << " page-with-sub-nav" if content_for?(:sub_nav) + + class_name end def nav_control_class -- cgit v1.2.3 From 0759db802f053e2757d52a284fd29098a9473df2 Mon Sep 17 00:00:00 2001 From: Toon Claes Date: Thu, 23 Mar 2017 09:43:34 +0100 Subject: Move user_link to generic UsersHelper Make the user_link helper more generic to be used for objects other than pipelines. --- app/helpers/pipelines_helper.rb | 11 ----------- app/helpers/users_helper.rb | 7 +++++++ 2 files changed, 7 insertions(+), 11 deletions(-) delete mode 100644 app/helpers/pipelines_helper.rb create mode 100644 app/helpers/users_helper.rb (limited to 'app/helpers') diff --git a/app/helpers/pipelines_helper.rb b/app/helpers/pipelines_helper.rb deleted file mode 100644 index 23b9ff97521..00000000000 --- a/app/helpers/pipelines_helper.rb +++ /dev/null @@ -1,11 +0,0 @@ -module PipelinesHelper - def pipeline_user_avatar(pipeline) - user_avatar(user: pipeline.user, size: 24) - end - - def pipeline_user_link(pipeline) - link_to(pipeline.user.name, user_path(pipeline.user), - title: pipeline.user.email, - class: 'has-tooltip commit-committer-link') - end -end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb new file mode 100644 index 00000000000..9c623c9ba7c --- /dev/null +++ b/app/helpers/users_helper.rb @@ -0,0 +1,7 @@ +module UsersHelper + def user_link(user) + link_to(user.name, user_path(user), + title: user.email, + class: 'has-tooltip commit-committer-link') + end +end -- cgit v1.2.3 From e118d48df91ba04a9cba3ddb90ef20166ff8d9b8 Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Fri, 24 Mar 2017 00:39:12 +0000 Subject: Add dropdown sort to project milestones --- app/helpers/sorting_helper.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/sorting_helper.rb b/app/helpers/sorting_helper.rb index 959ee310867..5c89cbea3fc 100644 --- a/app/helpers/sorting_helper.rb +++ b/app/helpers/sorting_helper.rb @@ -2,6 +2,7 @@ module SortingHelper def sort_options_hash { sort_value_name => sort_title_name, + sort_value_name_desc => sort_title_name_desc, sort_value_recently_updated => sort_title_recently_updated, sort_value_oldest_updated => sort_title_oldest_updated, sort_value_recently_created => sort_title_recently_created, @@ -50,6 +51,17 @@ module SortingHelper } end + def milestone_sort_options_hash + { + sort_value_name => sort_title_name_asc, + sort_value_name_desc => sort_title_name_desc, + sort_value_due_date_soon => sort_title_due_date_soon, + sort_value_due_date_later => sort_title_due_date_later, + sort_value_start_date_soon => sort_title_start_date_soon, + sort_value_start_date_later => sort_title_start_date_later, + } + end + def sort_title_priority 'Priority' end @@ -90,6 +102,14 @@ module SortingHelper 'Due later' end + def sort_title_start_date_soon + 'Start soon' + end + + def sort_title_start_date_later + 'Start later' + end + def sort_title_name 'Name' end @@ -202,6 +222,14 @@ module SortingHelper 'due_date_desc' end + def sort_value_start_date_soon + 'start_date_asc' + end + + def sort_value_start_date_later + 'start_date_desc' + end + def sort_value_name 'name_asc' end -- cgit v1.2.3 From 96f5188098b77ef6677676239dab1228196789bf Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 24 Mar 2017 16:17:38 +0000 Subject: Updated todos sidebar icon Refactored slightly so that the same logic is shared between both the expanded & the collapsed. --- app/helpers/issuables_helper.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index a777db2826b..749b6245edc 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -253,4 +253,19 @@ module IssuablesHelper def selected_template(issuable) params[:issuable_template] if issuable_templates(issuable).include?(params[:issuable_template]) end + + def issuable_todo_button_data(issuable, todo, is_collapsed) + { + todo_text: "Add todo", + mark_text: "Mark done", + todo_icon: (is_collapsed ? icon('plus-square') : nil), + mark_icon: (is_collapsed ? icon('check-square', class: 'todo-undone') : nil), + issuable_id: issuable.id, + issuable_type: issuable.class.name.underscore, + url: namespace_project_todos_path(@project.namespace, @project), + delete_path: (dashboard_todo_path(todo) if todo), + placement: (is_collapsed ? 'left' : nil), + container: (is_collapsed ? 'body' : nil) + } + end end -- cgit v1.2.3 From 3eedb2aede34165d7a34fa0dc77ed6c919f7dcb9 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 24 Mar 2017 12:41:42 +0000 Subject: Refactored the user callout class Instead of the JS being in charge of the HTML, the HAML now handles it. The HAML can then check the cookie & show it needed. It also allows the HAML access to the paths so we don't have to pass that through. Closes #29955 --- app/helpers/application_helper.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index a3213581498..e5b811f3300 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -306,4 +306,8 @@ module ApplicationHelper def active_when(condition) 'active' if condition end + + def show_user_callout? + cookies[:user_callout_dismissed] == 'true' + end end -- cgit v1.2.3 From 301e176ef4964b2aa0699821732f4e7c48718d67 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 24 Mar 2017 11:43:52 -0500 Subject: prevent formatted milestone date string from having html escaped --- app/helpers/milestones_helper.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/milestones_helper.rb b/app/helpers/milestones_helper.rb index 5053b937c02..bd3f51fc658 100644 --- a/app/helpers/milestones_helper.rb +++ b/app/helpers/milestones_helper.rb @@ -89,10 +89,12 @@ module MilestonesHelper content = time_ago.gsub(/\d+/) { |match| "#{match}" } content.slice!("about ") content << " remaining" + content.html_safe elsif milestone.start_date && milestone.start_date.past? days = milestone.elapsed_days content = content_tag(:strong, days) content << " #{'day'.pluralize(days)} elapsed" + content.html_safe end end -- cgit v1.2.3 From 2f9d50b72fedf09900289e6a0bcf59433d0c05f5 Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Fri, 24 Mar 2017 18:19:50 +0000 Subject: Resolve "Gitlab administrator cannot create projects in every group" --- app/helpers/namespaces_helper.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'app/helpers') diff --git a/app/helpers/namespaces_helper.rb b/app/helpers/namespaces_helper.rb index 2e3a15bc1b9..7f656b8caae 100644 --- a/app/helpers/namespaces_helper.rb +++ b/app/helpers/namespaces_helper.rb @@ -6,7 +6,13 @@ module NamespacesHelper def namespaces_options(selected = :current_user, display_path: false, extra_group: nil) groups = current_user.owned_groups + current_user.masters_groups - groups << extra_group if extra_group && !Group.exists?(name: extra_group.name) + unless extra_group.nil? || extra_group.is_a?(Group) + extra_group = Group.find(extra_group) if Namespace.find(extra_group).kind == 'group' + end + + if extra_group && extra_group.is_a?(Group) && (!Group.exists?(name: extra_group.name) || Ability.allowed?(current_user, :read_group, extra_group)) + groups |= [extra_group] + end users = [current_user.namespace] -- cgit v1.2.3 From 822bfafae2f30d13a3b1bf8f3b31802c31b05072 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Thu, 23 Mar 2017 15:53:51 -0500 Subject: add basic sidebar functionality to milestones page --- app/helpers/nav_helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/helpers') diff --git a/app/helpers/nav_helper.rb b/app/helpers/nav_helper.rb index 991fd949b94..17bfd07e00f 100644 --- a/app/helpers/nav_helper.rb +++ b/app/helpers/nav_helper.rb @@ -6,7 +6,8 @@ module NavHelper current_path?('merge_requests#builds') || current_path?('merge_requests#conflicts') || current_path?('merge_requests#pipelines') || - current_path?('issues#show') + current_path?('issues#show') || + current_path?('milestones#show') if cookies[:collapsed_gutter] == 'true' "page-gutter right-sidebar-collapsed" else -- cgit v1.2.3 From 71e798f5d54dc3142605623fdf2bb6b6326827fb Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 24 Mar 2017 11:43:52 -0500 Subject: prevent formatted milestone date string from having html escaped --- app/helpers/milestones_helper.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/milestones_helper.rb b/app/helpers/milestones_helper.rb index 5053b937c02..bd3f51fc658 100644 --- a/app/helpers/milestones_helper.rb +++ b/app/helpers/milestones_helper.rb @@ -89,10 +89,12 @@ module MilestonesHelper content = time_ago.gsub(/\d+/) { |match| "#{match}" } content.slice!("about ") content << " remaining" + content.html_safe elsif milestone.start_date && milestone.start_date.past? days = milestone.elapsed_days content = content_tag(:strong, days) content << " #{'day'.pluralize(days)} elapsed" + content.html_safe end end -- cgit v1.2.3 From 2bacc040d84085eaeb2c5943c6c2ed8ba54e8dee Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 24 Mar 2017 14:41:08 -0500 Subject: move links to browse issuables into sidebar --- app/helpers/milestones_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/helpers') diff --git a/app/helpers/milestones_helper.rb b/app/helpers/milestones_helper.rb index bd3f51fc658..c9e70faa52e 100644 --- a/app/helpers/milestones_helper.rb +++ b/app/helpers/milestones_helper.rb @@ -19,8 +19,8 @@ module MilestonesHelper end end - def milestones_browse_issuables_path(milestone, type:) - opts = { milestone_title: milestone.title } + def milestones_browse_issuables_path(milestone, state: nil, type:) + opts = { milestone_title: milestone.title, state: state } if @project polymorphic_path([@project.namespace.becomes(Namespace), @project, type], opts) -- cgit v1.2.3 From 5107f6b304fef473cd8ad04287f14fd3e9747674 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 22 Mar 2017 11:26:47 -0500 Subject: Fix linking to new issue with selected template Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/26595 --- app/helpers/issuables_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/helpers') diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index a777db2826b..b27ddb962df 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -251,6 +251,6 @@ module IssuablesHelper end def selected_template(issuable) - params[:issuable_template] if issuable_templates(issuable).include?(params[:issuable_template]) + params[:issuable_template] if issuable_templates(issuable).any?{ |template| template[:name] == params[:issuable_template] } end end -- cgit v1.2.3 From fd097fa9e12a403d5f56d24b68df9a3ea5ace25c Mon Sep 17 00:00:00 2001 From: Sebastian Reitenbach Date: Tue, 28 Mar 2017 23:29:49 +0200 Subject: Handle parsing OpenBSD ps output properly to display sidekiq infos on admin->monitoring->background --- app/helpers/sidekiq_helper.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'app/helpers') diff --git a/app/helpers/sidekiq_helper.rb b/app/helpers/sidekiq_helper.rb index b5017080cfb..55f4da0ef85 100644 --- a/app/helpers/sidekiq_helper.rb +++ b/app/helpers/sidekiq_helper.rb @@ -3,9 +3,9 @@ module SidekiqHelper (?\d+)\s+ (?[\d\.,]+)\s+ (?[\d\.,]+)\s+ - (?[DRSTWXZNLsl\+<]+)\s+ - (?.+)\s+ - (?sidekiq.*\]) + (?[DIEKNRSTVWXZNLpsl\+<>\/\d]+)\s+ + (?.+?)\s+ + (?(?:ruby\d+:\s+)?sidekiq.*\].*) \z/x def parse_sidekiq_ps(line) -- cgit v1.2.3 From b9adf92f3c96d5f24fa413944dff3b932740a613 Mon Sep 17 00:00:00 2001 From: Tiago Botelho Date: Tue, 28 Mar 2017 11:33:51 +0100 Subject: Prevent users from disconnecting gitlab account from CAS --- app/helpers/auth_helper.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/auth_helper.rb b/app/helpers/auth_helper.rb index 1ee6c1d3afa..101fe579da2 100644 --- a/app/helpers/auth_helper.rb +++ b/app/helpers/auth_helper.rb @@ -76,5 +76,9 @@ module AuthHelper (current_user.otp_grace_period_started_at + current_application_settings.two_factor_grace_period.hours) < Time.current end + def unlink_allowed?(provider) + %w(saml cas3).exclude?(provider.to_s) + end + extend self end -- cgit v1.2.3 From 0d8fba4eece4fa527dd764472c0e05e1f05f8bc4 Mon Sep 17 00:00:00 2001 From: DJ Mountney Date: Wed, 5 Apr 2017 21:55:19 +0000 Subject: Merge branch 'path-disclosure-proj-import-export' into 'security' Fix for path disclosure in project import/export See merge request !2080 --- app/helpers/projects_helper.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'app/helpers') diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index bd0c2cd661e..6b9e4267281 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -407,7 +407,10 @@ module ProjectsHelper def sanitize_repo_path(project, message) return '' unless message.present? - message.strip.gsub(project.repository_storage_path.chomp('/'), "[REPOS PATH]") + exports_path = File.join(Settings.shared['path'], 'tmp/project_exports') + filtered_message = message.strip.gsub(exports_path, "[REPO EXPORT PATH]") + + filtered_message.gsub(project.repository_storage_path.chomp('/'), "[REPOS PATH]") end def project_feature_options -- cgit v1.2.3