Module: NamespacesHelper
- Defined in:
- app/helpers/namespaces_helper.rb
Instance Method Summary collapse
- #cascading_namespace_setting_locked?(attribute, group, **args) ⇒ Boolean
- #cascading_namespace_settings_popover_data(attribute, group, settings_path_helper) ⇒ Object
- #namespace_icon(namespace, size = 40) ⇒ Object
- #namespace_id_from(params) ⇒ Object
- #namespaces_as_json(selected = :current_user) ⇒ Object
- #namespaces_options(selected = :current_user, display_path: false, groups: nil, extra_group: nil, groups_only: false) ⇒ Object
- #pipeline_usage_quota_app_data(namespace) ⇒ Object
Instance Method Details
#cascading_namespace_setting_locked?(attribute, group, **args) ⇒ Boolean
75 76 77 78 79 80 81 82 |
# File 'app/helpers/namespaces_helper.rb', line 75 def cascading_namespace_setting_locked?(attribute, group, **args) return false if group.nil? method_name = "#{attribute}_locked?" return false unless group.namespace_settings.respond_to?(method_name) group.namespace_settings.public_send(method_name, **args) # rubocop:disable GitlabSecurity/PublicSend end |
#cascading_namespace_settings_popover_data(attribute, group, settings_path_helper) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'app/helpers/namespaces_helper.rb', line 52 def cascading_namespace_settings_popover_data(attribute, group, settings_path_helper) locked_by_ancestor = group.namespace_settings.public_send("#{attribute}_locked_by_ancestor?") # rubocop:disable GitlabSecurity/PublicSend popover_data = { locked_by_application_setting: group.namespace_settings.public_send("#{attribute}_locked_by_application_setting?"), # rubocop:disable GitlabSecurity/PublicSend locked_by_ancestor: locked_by_ancestor } if locked_by_ancestor ancestor_namespace = group.namespace_settings.public_send("#{attribute}_locked_ancestor").namespace # rubocop:disable GitlabSecurity/PublicSend popover_data[:ancestor_namespace] = { full_name: ancestor_namespace.full_name, path: settings_path_helper.call(ancestor_namespace) } end { popover_data: popover_data.to_json, testid: 'cascading-settings-lock-icon' } end |
#namespace_icon(namespace, size = 40) ⇒ Object
44 45 46 47 48 49 50 |
# File 'app/helpers/namespaces_helper.rb', line 44 def namespace_icon(namespace, size = 40) if namespace.is_a?(Group) group_icon_url(namespace) else avatar_icon_for_user(namespace.owner, size) end end |
#namespace_id_from(params) ⇒ Object
4 5 6 |
# File 'app/helpers/namespaces_helper.rb', line 4 def namespace_id_from(params) params.dig(:project, :namespace_id) || params[:namespace_id] end |
#namespaces_as_json(selected = :current_user) ⇒ Object
84 85 86 87 88 89 |
# File 'app/helpers/namespaces_helper.rb', line 84 def namespaces_as_json(selected = :current_user) { group: formatted_namespaces(current_user.manageable_groups_with_routes), user: formatted_namespaces([current_user.namespace]) }.to_json end |
#namespaces_options(selected = :current_user, display_path: false, groups: nil, extra_group: nil, groups_only: false) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/namespaces_helper.rb', line 8 def (selected = :current_user, display_path: false, groups: nil, extra_group: nil, groups_only: false) groups ||= current_user.manageable_groups_with_routes users = [current_user.namespace] selected_id = selected 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) extra_group = dedup_extra_group(extra_group) if Ability.allowed?(current_user, :read_group, extra_group) # Assign the value to an invalid primary ID so that the select box works extra_group.id = -1 unless extra_group.persisted? selected_id = extra_group.id if selected == :extra_group groups |= [extra_group] else selected_id = current_user.namespace.id end end = [] << (groups, display_path: display_path, type: 'group') unless groups_only << (users, display_path: display_path, type: 'user') if selected == :current_user && current_user.namespace selected_id = current_user.namespace.id end end (, selected_id) end |
#pipeline_usage_quota_app_data(namespace) ⇒ Object
91 92 93 94 95 96 97 98 99 |
# File 'app/helpers/namespaces_helper.rb', line 91 def pipeline_usage_quota_app_data(namespace) { namespace_actual_plan_name: namespace.actual_plan_name, namespace_path: namespace.full_path, namespace_id: namespace.id, user_namespace: namespace.user_namespace?.to_s, page_size: page_size } end |