Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/gitlab/namespaces_helper.rb')
-rw-r--r--app/helpers/gitlab/namespaces_helper.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/helpers/gitlab/namespaces_helper.rb b/app/helpers/gitlab/namespaces_helper.rb
new file mode 100644
index 00000000000..b1caaac3f63
--- /dev/null
+++ b/app/helpers/gitlab/namespaces_helper.rb
@@ -0,0 +1,38 @@
+module Gitlab
+ module NamespacesHelper
+ def namespaces_options(selected = :current_user, scope = :default)
+ groups = current_user.owned_groups + current_user.masters_groups
+ users = [current_user.namespace]
+
+ group_opts = ["Groups", groups.sort_by(&:human_name).map {|g| [g.human_name, g.id]} ]
+ users_opts = [ "Users", users.sort_by(&:human_name).map {|u| [u.human_name, u.id]} ]
+
+ options = []
+ 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
+
+ def namespace_select_tag(id, opts = {})
+ css_class = "ajax-namespace-select "
+ css_class << "multiselect " if opts[:multiple]
+ css_class << (opts[:class] || '')
+ value = opts[:selected] || ''
+
+ hidden_field_tag(id, value, class: css_class)
+ end
+
+ def namespace_icon(namespace, size = 40)
+ if namespace.kind_of?(Group)
+ group_icon(namespace)
+ else
+ avatar_icon(namespace.owner.email, size)
+ end
+ end
+ end
+end