diff options
Diffstat (limited to 'app/views/groups')
-rw-r--r-- | app/views/groups/_import_group_from_file_panel.html.haml | 3 | ||||
-rw-r--r-- | app/views/groups/_invite_members_modal.html.haml | 8 | ||||
-rw-r--r-- | app/views/groups/dependency_proxies/_url.html.haml | 6 | ||||
-rw-r--r-- | app/views/groups/dependency_proxies/show.html.haml | 2 | ||||
-rw-r--r-- | app/views/groups/group_members/index.html.haml | 13 | ||||
-rw-r--r-- | app/views/groups/runners/_group_runners.html.haml | 11 | ||||
-rw-r--r-- | app/views/groups/runners/_settings.html.haml | 3 | ||||
-rw-r--r-- | app/views/groups/runners/_sort_dropdown.html.haml | 10 | ||||
-rw-r--r-- | app/views/groups/runners/index.html.haml | 6 | ||||
-rw-r--r-- | app/views/groups/settings/_advanced.html.haml | 4 | ||||
-rw-r--r-- | app/views/groups/settings/_lfs.html.haml | 9 | ||||
-rw-r--r-- | app/views/groups/settings/_permissions.html.haml | 40 | ||||
-rw-r--r-- | app/views/groups/settings/_project_access_token_creation.html.haml | 13 | ||||
-rw-r--r-- | app/views/groups/settings/_two_factor_auth.html.haml | 14 | ||||
-rw-r--r-- | app/views/groups/sidebar/_packages.html.haml | 27 | ||||
-rw-r--r-- | app/views/groups/sidebar/_packages_settings.html.haml | 5 |
16 files changed, 73 insertions, 101 deletions
diff --git a/app/views/groups/_import_group_from_file_panel.html.haml b/app/views/groups/_import_group_from_file_panel.html.haml index 3bc2146b313..8d6e043ebf7 100644 --- a/app/views/groups/_import_group_from_file_panel.html.haml +++ b/app/views/groups/_import_group_from_file_panel.html.haml @@ -30,7 +30,8 @@ id: 'import_group_path', required: true, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, - title: _('Please choose a group URL with no special characters.'), + title: group_url_error_message, + maxlength: ::Namespace::URL_MAX_LENGTH, "data-bind-in" => "#{'create_chat_team' if Gitlab.config.mattermost.enabled}" %p.validation-error.gl-field-error.field-validation.hide = _("Group path is already taken. We've suggested one that is available.") diff --git a/app/views/groups/_invite_members_modal.html.haml b/app/views/groups/_invite_members_modal.html.haml index 3be1a142ca6..78f079df158 100644 --- a/app/views/groups/_invite_members_modal.html.haml +++ b/app/views/groups/_invite_members_modal.html.haml @@ -1,8 +1,6 @@ -- return unless can_manage_members?(group) +- return unless can_admin_group_member?(group) -.js-invite-members-modal{ data: { id: group.id, - name: group.name, - is_project: 'false', +.js-invite-members-modal{ data: { is_project: 'false', access_levels: GroupMember.access_level_roles.to_json, default_access_level: Gitlab::Access::GUEST, - help_link: help_page_url('user/permissions') }.merge(group_select_data(group)) } + help_link: help_page_url('user/permissions') }.merge(group_select_data(group)).merge(common_invite_modal_dataset(group)).merge(users_filter_data(group)) } diff --git a/app/views/groups/dependency_proxies/_url.html.haml b/app/views/groups/dependency_proxies/_url.html.haml index 785ad8f94fd..a8034c50ed8 100644 --- a/app/views/groups/dependency_proxies/_url.html.haml +++ b/app/views/groups/dependency_proxies/_url.html.haml @@ -1,6 +1,6 @@ -- proxy_url = group_dependency_proxy_url(@group) +- proxy_url = group_dependency_proxy_image_prefix(@group) -%h5.prepend-top-20= _('Dependency proxy URL') +%h5.prepend-top-20= _('Dependency proxy image prefix') .row .col-lg-8.col-md-12.input-group @@ -8,5 +8,5 @@ = clipboard_button(text: "#{proxy_url}", title: _("Copy %{proxy_url}") % { proxy_url: proxy_url }) .row - .col-12.help-block.gl-mt-3 + .col-12.help-block.gl-mt-3{ data: { qa_selector: 'dependency_proxy_count' } } = _('Contains %{count} blobs of images (%{size})') % { count: @blobs_count, size: number_to_human_size(@blobs_total_size) } diff --git a/app/views/groups/dependency_proxies/show.html.haml b/app/views/groups/dependency_proxies/show.html.haml index 5cf4ff4bc26..177018af830 100644 --- a/app/views/groups/dependency_proxies/show.html.haml +++ b/app/views/groups/dependency_proxies/show.html.haml @@ -13,7 +13,7 @@ .form-group %h5.prepend-top-20= _('Enable proxy') .js-dependency-proxy-toggle-area - = render "shared/buttons/project_feature_toggle", is_checked: @dependency_proxy.enabled?, label: s_("DependencyProxy|Toggle Dependency Proxy") do + = render "shared/buttons/project_feature_toggle", is_checked: @dependency_proxy.enabled?, label: s_("DependencyProxy|Toggle Dependency Proxy"), data: { qa_selector: 'dependency_proxy_setting_toggle' } do = f.hidden_field :enabled, { class: 'js-project-feature-toggle-input'} - if @dependency_proxy.enabled diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index c5b8c5e25a3..97867e312af 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -2,11 +2,10 @@ - page_title _('Group members') - groups_select_tag_data = group_select_data(@group).merge({ skip_groups: @skip_groups }) -.js-remove-member-modal .row.gl-mt-3 .col-lg-12 .gl-display-flex.gl-flex-wrap - - if can_manage_members? + - if can_admin_group_member?(@group) .gl-w-half.gl-xs-w-full %h4 = _('Group members') @@ -21,7 +20,7 @@ trigger_source: 'group-members-page', display_text: _('Invite members') } } = render 'groups/invite_members_modal', group: @group - - if can_manage_members? && Feature.disabled?(:invite_members_group_modal, @group) + - if can_admin_group_member?(@group) && Feature.disabled?(:invite_members_group_modal, @group) %hr.gl-mt-4 %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' } %li.nav-tab{ role: 'presentation' } @@ -36,9 +35,9 @@ = render_if_exists 'groups/group_members/ldap_sync' - .js-group-members-list-app{ data: { members_data: group_members_app_data_json(@group, - members: @members, - invited: @invited_members, - access_requests: @requesters) } } + .js-group-members-list-app{ data: { members_data: group_members_app_data(@group, + members: @members, + invited: @invited_members, + access_requests: @requesters).to_json } } .loading .gl-spinner.gl-spinner-md diff --git a/app/views/groups/runners/_group_runners.html.haml b/app/views/groups/runners/_group_runners.html.haml index 49e297ee13d..1cccce9f59a 100644 --- a/app/views/groups/runners/_group_runners.html.haml +++ b/app/views/groups/runners/_group_runners.html.haml @@ -3,17 +3,14 @@ %h4 = _('Group runners') -%p - = _('These runners are shared across projects in this group.') - = _('Group runners can be managed with the %{link}.').html_safe % { link: link } - -# Proper policies should be implemented per -# https://gitlab.com/gitlab-org/gitlab-foss/issues/45894 .bs-callout.help-callout + %p + = _('These runners are shared across projects in this group.') + = _('Group runners can be managed with the %{link}.').html_safe % { link: link } + - if can?(current_user, :admin_pipeline, @group) && valid_runner_registrars.include?('group') - = render partial: 'ci/runner/how_to_setup_runner_automatically', - locals: { type: 'group', - clusters_path: group_clusters_path(@group) } - if params[:ci_runner_templates] %hr = render partial: 'ci/runner/setup_runner_in_aws', diff --git a/app/views/groups/runners/_settings.html.haml b/app/views/groups/runners/_settings.html.haml index 187588f5f11..55960703f9a 100644 --- a/app/views/groups/runners/_settings.html.haml +++ b/app/views/groups/runners/_settings.html.haml @@ -75,7 +75,7 @@ = button_tag class: 'clear-search hidden' do = sprite_icon('close', size: 16, css_class: 'clear-search-icon') .filter-dropdown-container - = render 'admin/runners/sort_dropdown' + = render 'groups/runners/sort_dropdown' .col-sm-3.text-right-lg = _('Runners currently online: %{active_runners_count}') % { active_runners_count: limited_counter_with_delimiter(@all_group_runners.online) } @@ -96,6 +96,7 @@ .table-section.section-10{ role: 'rowheader' } - @group_runners.each do |runner| + - runner = runner.present(current_user: current_user) = render 'groups/runners/runner', runner: runner = paginate @group_runners, theme: 'gitlab', :params => { :anchor => 'runners-settings' } - else diff --git a/app/views/groups/runners/_sort_dropdown.html.haml b/app/views/groups/runners/_sort_dropdown.html.haml new file mode 100644 index 00000000000..e914bd00dac --- /dev/null +++ b/app/views/groups/runners/_sort_dropdown.html.haml @@ -0,0 +1,10 @@ +- sorted_by = sort_options_hash[@sort] || sort_title_created_date + +.dropdown.inline.gl-ml-3 + %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown', display: 'static' } } + = sorted_by + = sprite_icon('chevron-down', css_class: 'dropdown-menu-toggle-icon gl-top-3') + %ul.dropdown-menu.dropdown-menu-right.dropdown-menu-selectable.dropdown-menu-sort + %li + = sortable_item(sort_title_created_date, page_filter_path(sort: sort_value_created_date), sorted_by) + = sortable_item(sort_title_contacted_date, page_filter_path(sort: sort_value_contacted_date), sorted_by) diff --git a/app/views/groups/runners/index.html.haml b/app/views/groups/runners/index.html.haml new file mode 100644 index 00000000000..4e7bc99b1f0 --- /dev/null +++ b/app/views/groups/runners/index.html.haml @@ -0,0 +1,6 @@ +- page_title s_('Runners|Runners') + +%h2.page-title + = s_('Runners|Group Runners') + +#js-group-runners{ data: { registration_token: @group.runners_token, group_id: @group.id } } diff --git a/app/views/groups/settings/_advanced.html.haml b/app/views/groups/settings/_advanced.html.haml index fea0736ffc8..cdff533e3c7 100644 --- a/app/views/groups/settings/_advanced.html.haml +++ b/app/views/groups/settings/_advanced.html.haml @@ -20,10 +20,12 @@ = f.text_field :path, placeholder: 'open-source', class: 'form-control', autofocus: local_assigns[:autofocus] || false, required: true, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, - title: s_('GroupSettings|Please choose a group URL with no special characters.'), + title: group_url_error_message, + maxlength: ::Namespace::URL_MAX_LENGTH, "data-bind-in" => "#{'create_chat_team' if Gitlab.config.mattermost.enabled}" = f.submit s_('GroupSettings|Change group URL'), class: 'btn gl-button btn-warning' = render 'groups/settings/transfer', group: @group = render 'groups/settings/remove', group: @group = render_if_exists 'groups/settings/restore', group: @group += render_if_exists 'groups/settings/immediately_remove', group: @group diff --git a/app/views/groups/settings/_lfs.html.haml b/app/views/groups/settings/_lfs.html.haml index b16c9faafa4..1255a2901ea 100644 --- a/app/views/groups/settings/_lfs.html.haml +++ b/app/views/groups/settings/_lfs.html.haml @@ -6,8 +6,7 @@ %p= s_('Check the %{docs_link_start}documentation%{docs_link_end}.').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe } .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :lfs_enabled, checked: @group.lfs_enabled?, class: 'custom-control-input', data: { qa_selector: 'lfs_checkbox' } - = f.label :lfs_enabled, class: 'custom-control-label' do - = _('Allow projects within this group to use Git LFS') - %p.help-text= _('This setting can be overridden in each project.') + = f.gitlab_ui_checkbox_component :lfs_enabled, + _('Allow projects within this group to use Git LFS'), + help_text: _('This setting can be overridden in each project.'), + checkbox_options: { checked: @group.lfs_enabled?, data: { qa_selector: 'lfs_checkbox' } } diff --git a/app/views/groups/settings/_permissions.html.haml b/app/views/groups/settings/_permissions.html.haml index d1f356ed665..683e70248b6 100644 --- a/app/views/groups/settings/_permissions.html.haml +++ b/app/views/groups/settings/_permissions.html.haml @@ -1,4 +1,4 @@ -= form_for @group, html: { multipart: true, class: 'gl-show-field-errors js-general-permissions-form' }, authenticity_token: true do |f| += gitlab_ui_form_for @group, html: { multipart: true, class: 'gl-show-field-errors js-general-permissions-form' }, authenticity_token: true do |f| %input{ type: 'hidden', name: 'update_section', value: 'js-permissions-settings' } = form_errors(@group) @@ -9,34 +9,28 @@ - if @group.root? .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :prevent_sharing_groups_outside_hierarchy, disabled: !can_change_prevent_sharing_groups_outside_hierarchy?(@group), class: 'custom-control-input' - = f.label :prevent_sharing_groups_outside_hierarchy, class: 'custom-control-label' do - %span - = s_('GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups.').html_safe % { group: link_to_group(@group) } - %p.js-descr.help-text= prevent_sharing_groups_outside_hierarchy_help_text(@group) + = f.gitlab_ui_checkbox_component :prevent_sharing_groups_outside_hierarchy, + s_('GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups.').html_safe % { group: link_to_group(@group) }, + help_text: prevent_sharing_groups_outside_hierarchy_help_text(@group), + checkbox_options: { disabled: !can_change_prevent_sharing_groups_outside_hierarchy?(@group) } .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :share_with_group_lock, disabled: !can_change_share_with_group_lock?(@group), class: 'custom-control-input' - = f.label :share_with_group_lock, class: 'custom-control-label' do - %span - = s_('GroupSettings|Prevent sharing a project within %{group} with other groups').html_safe % { group: link_to_group(@group) } - %p.js-descr.help-text= share_with_group_lock_help_text(@group) + = f.gitlab_ui_checkbox_component :share_with_group_lock, + s_('GroupSettings|Prevent sharing a project within %{group} with other groups').html_safe % { group: link_to_group(@group) }, + checkbox_options: { disabled: !can_change_share_with_group_lock?(@group) }, + help_text: share_with_group_lock_help_text(@group) .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :emails_disabled, checked: @group.emails_disabled?, disabled: !can_disable_group_emails?(@group), class: 'custom-control-input' - = f.label :emails_disabled, class: 'custom-control-label' do - %span= s_('GroupSettings|Disable email notifications') - %p.help-text= s_('GroupSettings|This setting will override user notification preferences for all members of the group, subgroups, and projects.') + = f.gitlab_ui_checkbox_component :emails_disabled, + s_('GroupSettings|Disable email notifications'), + checkbox_options: { checked: @group.emails_disabled?, disabled: !can_disable_group_emails?(@group) }, + help_text: s_('GroupSettings|This setting will override user notification preferences for all members of the group, subgroups, and projects.') .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :mentions_disabled, checked: @group.mentions_disabled?, class: 'custom-control-input' - = f.label :mentions_disabled, class: 'custom-control-label' do - %span= s_('GroupSettings|Disable group mentions') - %p.help-text= s_('GroupSettings|This setting will prevent group members from being notified if the group is mentioned.') + = f.gitlab_ui_checkbox_component :mentions_disabled, + s_('GroupSettings|Disable group mentions'), + checkbox_options: { checked: @group.mentions_disabled? }, + help_text: s_('GroupSettings|This setting will prevent group members from being notified if the group is mentioned.') = render 'groups/settings/project_access_token_creation', f: f, group: @group = render_if_exists 'groups/settings/delayed_project_removal', f: f, group: @group diff --git a/app/views/groups/settings/_project_access_token_creation.html.haml b/app/views/groups/settings/_project_access_token_creation.html.haml index 8be17c6cc30..948b25390ba 100644 --- a/app/views/groups/settings/_project_access_token_creation.html.haml +++ b/app/views/groups/settings/_project_access_token_creation.html.haml @@ -1,10 +1,9 @@ - return unless render_setting_to_allow_project_access_token_creation?(group) .form-group.gl-mb-3 - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :resource_access_token_creation_allowed, checked: group.namespace_settings.resource_access_token_creation_allowed?, class: 'custom-control-input', data: { qa_selector: 'resource_access_token_creation_allowed_checkbox' } - = f.label :resource_access_token_creation_allowed, class: 'custom-control-label' do - %span= s_('GroupSettings|Allow project access token creation') - - project_access_tokens_link = help_page_path('user/project/settings/project_access_tokens') - - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: project_access_tokens_link } - %p.help-text= s_('GroupSettings|Users can create %{link_start}project access tokens%{link_end} for projects in this group.').html_safe % { link_start: link_start, link_end: '</a>'.html_safe } + - project_access_tokens_link = help_page_path('user/project/settings/project_access_tokens') + - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: project_access_tokens_link } + = f.gitlab_ui_checkbox_component :resource_access_token_creation_allowed, + s_('GroupSettings|Allow project access token creation'), + checkbox_options: { checked: group.namespace_settings.resource_access_token_creation_allowed?, data: { qa_selector: 'resource_access_token_creation_allowed_checkbox' } }, + help_text: s_('GroupSettings|Users can create %{link_start}project access tokens%{link_end} for projects in this group.').html_safe % { link_start: link_start, link_end: '</a>'.html_safe } diff --git a/app/views/groups/settings/_two_factor_auth.html.haml b/app/views/groups/settings/_two_factor_auth.html.haml index bd3b3283288..9e5eeee2e2a 100644 --- a/app/views/groups/settings/_two_factor_auth.html.haml +++ b/app/views/groups/settings/_two_factor_auth.html.haml @@ -7,17 +7,15 @@ %p= s_('Check the %{docs_link_start}documentation%{docs_link_end}.').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe } .form-group - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :require_two_factor_authentication, class: 'custom-control-input', data: { qa_selector: 'require_2fa_checkbox' } - = f.label :require_two_factor_authentication, class: 'custom-control-label' do - = _('Require all users in this group to setup two-factor authentication') + = f.gitlab_ui_checkbox_component :require_two_factor_authentication, + _('Require all users in this group to setup two-factor authentication'), + checkbox_options: { data: { qa_selector: 'require_2fa_checkbox' } } .form-group = f.label :two_factor_grace_period, _('Time before enforced'), class: 'label-bold' = f.text_field :two_factor_grace_period, class: 'form-control form-control-sm w-auto' .form-text.text-muted= _('Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication') - unless group.has_parent? .form-group - .gl-form-checkbox.custom-control.custom-checkbox - = f.check_box :allow_mfa_for_subgroups, class: 'custom-control-input', checked: group.namespace_settings&.allow_mfa_for_subgroups - = f.label :allow_mfa_for_subgroups, class: 'custom-control-label' do - = _('Allow subgroups to set up their own two-factor authentication rules') + = f.gitlab_ui_checkbox_component :allow_mfa_for_subgroups, + _('Allow subgroups to set up their own two-factor authentication rules'), + checkbox_options: { checked: group.namespace_settings&.allow_mfa_for_subgroups } diff --git a/app/views/groups/sidebar/_packages.html.haml b/app/views/groups/sidebar/_packages.html.haml deleted file mode 100644 index e0158e4bf22..00000000000 --- a/app/views/groups/sidebar/_packages.html.haml +++ /dev/null @@ -1,27 +0,0 @@ -- packages_link = group_packages_list_nav? ? group_packages_path(@group) : group_container_registries_path(@group) - -- if group_packages_nav? - = nav_link(controller: ['groups/packages', 'groups/registry/repositories', 'groups/dependency_proxies']) do - = link_to packages_link, title: _('Packages'), class: 'has-sub-items' do - .nav-icon-container - = sprite_icon('package') - %span.nav-item-name - = _('Packages & Registries') - %ul.sidebar-sub-level-items - = nav_link(controller: [:packages, :repositories], html_options: { class: "fly-out-top-item" } ) do - = link_to packages_link, title: _('Packages & Registries') do - %strong.fly-out-top-item-name - = _('Packages & Registries') - %li.divider.fly-out-top-item - - if group_packages_list_nav? - = nav_link(controller: 'groups/packages') do - = link_to group_packages_path(@group), title: _('Packages') do - %span= _('Package Registry') - - if group_container_registry_nav? - = nav_link(controller: 'groups/registry/repositories') do - = link_to group_container_registries_path(@group), title: _('Container Registry') do - %span= _('Container Registry') - - if group_dependency_proxy_nav? - = nav_link(controller: 'groups/dependency_proxies') do - = link_to group_dependency_proxy_path(@group), title: _('Dependency Proxy') do - %span= _('Dependency Proxy') diff --git a/app/views/groups/sidebar/_packages_settings.html.haml b/app/views/groups/sidebar/_packages_settings.html.haml deleted file mode 100644 index 78533aba75f..00000000000 --- a/app/views/groups/sidebar/_packages_settings.html.haml +++ /dev/null @@ -1,5 +0,0 @@ -- if group_packages_list_nav? - = nav_link(controller: :packages_and_registries) do - = link_to group_settings_packages_and_registries_path(@group), title: _('Packages & Registries'), data: { qa_selector: 'group_package_settings_link' } do - %span - = _('Packages & Registries') |