File: show.html.haml

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (120 lines) | stat: -rw-r--r-- 5,897 bytes parent folder | download
1
2
3
4
5
6
7
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
- add_page_specific_style 'page_bundles/members'
- add_to_breadcrumbs _("Groups"), admin_groups_path
- breadcrumb_title @group.name
- page_title @group.name, _("Groups")
- current_user_is_group_owner = @group && @group.has_owner?(current_user)
- list_item_classes = '!gl-grid md:gl-grid-cols-3 gl-gap-x-3'

= render ::Layouts::PageHeadingComponent.new(@group.full_name) do |c|
  - c.with_actions do
    = render Pajamas::ButtonComponent.new(href: admin_group_edit_path(@group),
      button_options: { data: { testid: 'edit-group-link' }}) do
      = _('Edit')

.gl-grid.md:gl-grid-cols-2.gl-gap-5
  .gl-flex.gl-flex-col.gl-gap-5
    = render ::Layouts::CrudComponent.new(_('Group information')) do |c|
      - c.with_body do
        %ul.content-list.content-list-items-padding
          %li
            = render Pajamas::AvatarComponent.new(@group, size: 64, alt: '')
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Name:')
            .gl-col-span-2
              %strong= link_to @group.name, group_path(@group)
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Path:')
            .gl-col-span-2
              %strong= @group.path
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Description:')
            .gl-col-span-2
              %strong= @group.description
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Visibility level:')
            .gl-col-span-2
              %strong= visibility_level_label(@group.visibility_level)
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Created on:')
            .gl-col-span-2
              %strong= @group.created_at.to_fs(:medium)
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('ID:')
            .gl-col-span-2
              %strong= @group.id
          = render_if_exists 'admin/namespace_plan_info', namespace: @group
          %li{ class: list_item_classes }
            = render 'shared/storage_counter_statistics', storage_size: @group.storage_size, storage_details: @group, namespace: @group
          %li{ class: list_item_classes }
            %span.gl-text-secondary= _('Group Git LFS status:')
            .gl-col-span-2
              %strong
                = group_lfs_status(@group)
                = link_to sprite_icon('question-o', css_class: 'gl-text-blue-600'), help_page_path('topics/git/lfs/index.md')
          = render_if_exists 'namespaces/shared_runner_status', namespace: @group
          = render_if_exists 'namespaces/additional_minutes_status', namespace: @group

    = render ::Layouts::CrudComponent.new(_('Projects'),
      icon: 'project',
      count: @group.projects.count) do |c|
      - c.with_body do
        - if @projects.any?
          %ul.content-list.content-list-items-padding
            - @projects.each do |project|
              %li{ class: '!gl-flex gl-flex-col' }
                %strong
                  = link_to project.full_name, [:admin, project]
                  = gl_badge_tag storage_counter(project.statistics.storage_size)
                %span.gl-font-monospace.gl-text-secondary.gl-text-sm
                  = project.full_path + '.git'
        - else
          %p.gl-text-center= _('No projects')
      - unless @projects.size < Kaminari.config.default_per_page
        - c.with_footer do
          = paginate @projects, param_name: 'projects_page', theme: 'gitlab'

    - shared_projects = @group.shared_projects.sort_by(&:name)
    - unless shared_projects.empty?
      = render ::Layouts::CrudComponent.new(_('Projects shared with %{group_name}') % { group_name: @group.name },
        icon: 'project',
        count: shared_projects.size) do |c|
        - c.with_body do
          %ul.content-list.content-list-items-padding
            - shared_projects.each do |project|
              %li{ class: '!gl-flex gl-flex-col' }
                %strong
                  = link_to project.full_name, [:admin, project]
                  = gl_badge_tag storage_counter(project.statistics.storage_size)
                %span.gl-font-monospace.gl-text-secondary.gl-text-sm
                  = project.full_path + '.git'

    - if can?(current_user, :admin_group_member, @group)
      = render 'shared/members/requests', membership_source: @group, group: @group, requesters: @requesters, force_mobile_view: true

  .gl-flex.gl-flex-col.gl-gap-5
    = render 'shared/admin/admin_note'

    = render ::Layouts::CrudComponent.new(_('Group members'),
      icon: 'user',
      count: @group.users_count) do |c|
      - c.with_description do
        - direct_members_link = link_to('', help_page_path('user/project/members/index.md', anchor: 'membership-types'))
        - direct_members_message = s_('The number of direct members in the current group. Members in subgroups are not included. %{link_start}What is a direct member%{link_end}?')
        - if @group.root?
          = safe_format(direct_members_message, tag_pair(direct_members_link, :link_start, :link_end))
      - c.with_actions do
        = render 'shared/members/manage_access_button', path: group_group_members_path(@group)
      - c.with_body do
        %ul.content-list.group-users-list.members-list
          = render partial: 'shared/members/member',
                  collection: @members, as: :member,
                  locals: { membership_source: @group,
                            group: @group,
                            current_user_is_group_owner: current_user_is_group_owner }
      - unless @members.size < Kaminari.config.default_per_page
        - c.with_footer do
          = paginate @members, param_name: 'members_page', theme: 'gitlab'

    = render 'shared/custom_attributes', custom_attributes: @group.custom_attributes

    = render_if_exists 'ldap_group_links/ldap_group_links_show', group: @group