From 81f8114f24313bb90f09f5ed1ff656759cb55020 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 27 Nov 2012 17:48:25 +0200 Subject: [PATCH] NamespacesHelper --- app/helpers/application_helper.rb | 22 ---------------------- app/helpers/namespaces_helper.rb | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 22 deletions(-) create mode 100644 app/helpers/namespaces_helper.rb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index a284d8ff410..8f4d908d5a7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -74,28 +74,6 @@ module ApplicationHelper grouped_options_for_select(options, @ref || @project.default_branch) end - def namespaces_options(selected = :current_user, scope = :default) - groups = current_user.namespaces.select {|n| n.type == 'Group'} - - users = if scope == :all - Namespace.root - else - current_user.namespaces.reject {|n| n.type == 'Group'} - end - - options = [ - ["Global", [['/', Namespace.global_id]] ], - ["Groups", groups.map {|g| [g.human_name, g.id]} ], - [ "Users", users.map {|u| [u.human_name, u.id]} ] - ] - - if selected == :current_user && current_user.namespace - selected = current_user.namespace.id - end - - grouped_options_for_select(options, selected) - end - def search_autocomplete_source projects = current_user.projects.map{ |p| { label: p.name_with_namespace, url: project_path(p) } } diff --git a/app/helpers/namespaces_helper.rb b/app/helpers/namespaces_helper.rb new file mode 100644 index 00000000000..fdf6725cc13 --- /dev/null +++ b/app/helpers/namespaces_helper.rb @@ -0,0 +1,26 @@ +module NamespacesHelper + def namespaces_options(selected = :current_user, scope = :default) + groups = current_user.namespaces.select {|n| n.type == 'Group'} + + users = if scope == :all + Namespace.root + else + current_user.namespaces.reject {|n| n.type == 'Group'} + end + + global_opts = ["Global", [['/', Namespace.global_id]] ] + group_opts = ["Groups", groups.map {|g| [g.human_name, g.id]} ] + users_opts = [ "Users", users.map {|u| [u.human_name, u.id]} ] + + options = [] + options << global_opts if current_user.admin + options << group_opts + options << users_opts + + if selected == :current_user && current_user.namespace + selected = current_user.namespace.id + end + + grouped_options_for_select(options, selected) + end +end