diff options
Diffstat (limited to 'app/views/groups')
21 files changed, 59 insertions, 49 deletions
diff --git a/app/views/groups/_activities.html.haml b/app/views/groups/_activities.html.haml index b1a40bfc96b..1695d3b5539 100644 --- a/app/views/groups/_activities.html.haml +++ b/app/views/groups/_activities.html.haml @@ -6,4 +6,4 @@ .content_list .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md diff --git a/app/views/groups/_archived_projects.html.haml b/app/views/groups/_archived_projects.html.haml index 48e9f630050..959c26acae0 100644 --- a/app/views/groups/_archived_projects.html.haml +++ b/app/views/groups/_archived_projects.html.haml @@ -5,4 +5,4 @@ %ul.content-list{ data: { hide_projects: 'false', group_id: group.id, path: group_path(group) } } .js-groups-list-holder .loading-container.text-center.prepend-top-20 - .spinner.spinner-md + .gl-spinner.gl-spinner-md diff --git a/app/views/groups/_import_group_from_another_instance_panel.html.haml b/app/views/groups/_import_group_from_another_instance_panel.html.haml index 2c9d9349f14..2b9277c67e9 100644 --- a/app/views/groups/_import_group_from_another_instance_panel.html.haml +++ b/app/views/groups/_import_group_from_another_instance_panel.html.haml @@ -18,7 +18,8 @@ = f.text_field :bulk_import_gitlab_url, placeholder: 'https://gitlab.example.com', class: 'gl-form-input col-xs-12 col-sm-8', required: true, title: s_('GroupsNew|Please fill in GitLab source URL.'), - id: 'import_gitlab_url' + id: 'import_gitlab_url', + data: { qa_selector: 'import_gitlab_url' } .form-group.gl-display-flex.gl-flex-direction-column = f.label :bulk_import_gitlab_access_token, s_('GroupsNew|Personal access token'), for: 'import_gitlab_token' .gl-font-weight-normal @@ -27,6 +28,7 @@ = f.text_field :bulk_import_gitlab_access_token, placeholder: s_('GroupsNew|e.g. h8d3f016698e...'), class: 'gl-form-input gl-mt-3 col-xs-12 col-sm-8', required: true, title: s_('GroupsNew|Please fill in your personal access token.'), - id: 'import_gitlab_token' + id: 'import_gitlab_token', + data: { qa_selector: 'import_gitlab_token' } .gl-border-gray-100.gl-border-solid.gl-border-1.gl-bg-gray-10.gl-p-5 - = f.submit s_('GroupsNew|Connect instance'), class: 'btn gl-button btn-confirm' + = f.submit s_('GroupsNew|Connect instance'), class: 'btn gl-button btn-confirm', data: { qa_selector: 'connect_instance_button' } diff --git a/app/views/groups/_invite_members_modal.html.haml b/app/views/groups/_invite_members_modal.html.haml index ba6dfcb70ff..69ed94e99cc 100644 --- a/app/views/groups/_invite_members_modal.html.haml +++ b/app/views/groups/_invite_members_modal.html.haml @@ -1,4 +1,4 @@ -- if can_invite_members_for_group?(group) +- if can?(current_user, :admin_group_member, group) .js-invite-members-modal{ data: { id: group.id, name: group.name, is_project: 'false', diff --git a/app/views/groups/_shared_projects.html.haml b/app/views/groups/_shared_projects.html.haml index 2769b69add3..bfd056ccdd2 100644 --- a/app/views/groups/_shared_projects.html.haml +++ b/app/views/groups/_shared_projects.html.haml @@ -5,4 +5,4 @@ %ul.content-list{ data: { hide_projects: 'false', group_id: group.id, path: group_path(group) } } .js-groups-list-holder .loading-container.text-center.prepend-top-20 - .spinner.spinner-md + .gl-spinner.gl-spinner-md diff --git a/app/views/groups/_subgroups_and_projects.html.haml b/app/views/groups/_subgroups_and_projects.html.haml index d9ab828a83b..651d182b9cc 100644 --- a/app/views/groups/_subgroups_and_projects.html.haml +++ b/app/views/groups/_subgroups_and_projects.html.haml @@ -5,4 +5,4 @@ %section{ data: { hide_projects: 'false', group_id: group.id, path: group_path(group) } } .js-groups-list-holder{ data: { show_schema_markup: 'true'} } .loading-container.text-center.prepend-top-20 - .spinner.spinner-md + .gl-spinner.gl-spinner-md diff --git a/app/views/groups/boards/show.html.haml b/app/views/groups/boards/show.html.haml index 92838fa4b11..dbbf78eed00 100644 --- a/app/views/groups/boards/show.html.haml +++ b/app/views/groups/boards/show.html.haml @@ -1 +1,3 @@ += render 'shared/alerts/positioning_disabled' + = render "shared/boards/show", board: @board, group: true diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index 106a7832cc7..45488791272 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -1,27 +1,26 @@ - add_page_specific_style 'page_bundles/members' - page_title _('Group members') -- can_manage_members = can?(current_user, :admin_group_member, @group) -- show_invited_members = can_manage_members && @invited_members.exists? -- show_access_requests = can_manage_members && @requesters.exists? +- show_invited_members = can_manage_members? && @invited_members.load.any? +- show_access_requests = can_manage_members? && @requesters.load.any? - invited_active = params[:search_invited].present? || params[:invited_members_page].present? .js-remove-member-modal .row.gl-mt-3 .col-lg-12 .gl-display-flex.gl-flex-wrap - - if can_manage_members + - if can_manage_members? .gl-w-half.gl-xs-w-full %h4 = _('Group members') %p = html_escape(_('You can invite a new member to %{strong_start}%{group_name}%{strong_end}.')) % { group_name: @group.name, strong_start: '<strong>'.html_safe, strong_end: '</strong>'.html_safe } - - if can_invite_members_for_group?(@group) + - if Feature.enabled?(:invite_members_group_modal, @group) .gl-w-half.gl-xs-w-full .gl-display-flex.gl-flex-wrap.gl-justify-content-end.gl-mb-3 .js-invite-group-trigger{ data: { classes: 'gl-mt-3 gl-sm-w-auto gl-w-full', display_text: _('Invite a group') } } .js-invite-members-trigger{ data: { variant: 'success', classes: 'gl-mt-3 gl-sm-w-auto gl-w-full gl-sm-ml-3', display_text: _('Invite members') } } = render 'groups/invite_members_modal', group: @group - - if can_manage_members && !can_invite_members_for_group?(@group) + - if can_manage_members? && 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' } @@ -42,7 +41,7 @@ %span = _('Members') %span.badge.gl-tab-counter-badge.badge-muted.badge-pill.gl-badge.sm= @members.total_count - - if @group.shared_with_group_links.any? + - if @group.shared_with_group_links.present? %li.nav-item = link_to '#tab-groups', class: ['nav-link'] , data: { toggle: 'tab', qa_selector: 'groups_list_tab' } do %span @@ -62,23 +61,21 @@ %span.badge.gl-tab-counter-badge.badge-muted.badge-pill.gl-badge.sm= @requesters.count .tab-content #tab-members.tab-pane{ class: ('active' unless invited_active) } - .js-group-members-list{ data: group_members_list_data_attributes(@group, @members) } + .js-group-members-list{ data: { members_data: group_members_list_data_json(@group, @members, { param_name: :page, params: { invited_members_page: nil, search_invited: nil } }) } } .loading - .spinner.spinner-md - = paginate @members, theme: 'gitlab', params: { invited_members_page: nil, search_invited: nil } - - if @group.shared_with_group_links.any? + .gl-spinner.gl-spinner-md + - if @group.shared_with_group_links.present? #tab-groups.tab-pane - .js-group-group-links-list{ data: group_group_links_list_data_attributes(@group) } + .js-group-group-links-list{ data: { members_data: group_group_links_list_data_json(@group) } } .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md - if show_invited_members #tab-invited-members.tab-pane{ class: ('active' if invited_active) } - .js-group-invited-members-list{ data: group_members_list_data_attributes(@group, @invited_members) } + .js-group-invited-members-list{ data: { members_data: group_members_list_data_json(@group, @invited_members, { param_name: :invited_members_page, params: { page: nil } }) } } .loading - .spinner.spinner-md - = paginate @invited_members, param_name: 'invited_members_page', theme: 'gitlab', params: { page: nil } + .gl-spinner.gl-spinner-md - if show_access_requests #tab-access-requests.tab-pane - .js-group-access-requests-list{ data: group_members_list_data_attributes(@group, @requesters) } + .js-group-access-requests-list{ data: { members_data: group_members_list_data_json(@group, @requesters) } } .loading - .spinner.spinner-md + .gl-spinner.gl-spinner-md diff --git a/app/views/groups/imports/show.html.haml b/app/views/groups/imports/show.html.haml index ac8ca8797fe..79cac364016 100644 --- a/app/views/groups/imports/show.html.haml +++ b/app/views/groups/imports/show.html.haml @@ -4,7 +4,7 @@ .save-group-loader .center %h2 - %i.loading.spinner.spinner-sm + %i.loading.gl-spinner = page_title %p = s_('GroupImport|Please wait while we import the group for you. Refresh at will.') diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml index ae4b0807fc5..fdd6962eb21 100644 --- a/app/views/groups/issues.html.haml +++ b/app/views/groups/issues.html.haml @@ -1,4 +1,4 @@ -- @can_bulk_update = can?(current_user, :admin_issue, @group) && @group.feature_available?(:group_bulk_edit) +- @can_bulk_update = can?(current_user, :admin_issue, @group) && @group.licensed_feature_available?(:group_bulk_edit) - page_title _("Issues") - add_page_specific_style 'page_bundles/issues_list' diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml index 15864e18f7c..33f836c2de0 100644 --- a/app/views/groups/merge_requests.html.haml +++ b/app/views/groups/merge_requests.html.haml @@ -1,4 +1,4 @@ -- @can_bulk_update = can?(current_user, :admin_merge_request, @group) && @group.feature_available?(:group_bulk_edit) +- @can_bulk_update = can?(current_user, :admin_merge_request, @group) && @group.licensed_feature_available?(:group_bulk_edit) - page_title _("Merge requests") diff --git a/app/views/groups/milestones/_form.html.haml b/app/views/groups/milestones/_form.html.haml index d4d8a7a57ef..259e96901fd 100644 --- a/app/views/groups/milestones/_form.html.haml +++ b/app/views/groups/milestones/_form.html.haml @@ -12,7 +12,11 @@ = f.label :description, _("Description") .col-sm-10 = render layout: 'shared/md_preview', locals: { url: group_preview_markdown_path } do - = render 'shared/zen', f: f, attr: :description, classes: 'note-textarea', qa_selector: 'milestone_description_field', placeholder: _('Write milestone description...'), supports_autocomplete: false + = render 'shared/zen', f: f, attr: :description, + classes: 'note-textarea', + qa_selector: 'milestone_description_field', + supports_autocomplete: true, + placeholder: _('Write milestone description...') .clearfix .error-alert = render "shared/milestones/form_dates", f: f diff --git a/app/views/groups/milestones/_header_title.html.haml b/app/views/groups/milestones/_header_title.html.haml index 24eb39b8e2f..f222dba1f90 100644 --- a/app/views/groups/milestones/_header_title.html.haml +++ b/app/views/groups/milestones/_header_title.html.haml @@ -1,2 +1,2 @@ - breadcrumb_title @milestone.title -- add_to_breadcrumbs "Milestones", group_milestones_path(@group) +- add_to_breadcrumbs _("Milestones"), group_milestones_path(@group) diff --git a/app/views/groups/milestones/new.html.haml b/app/views/groups/milestones/new.html.haml index 2c93b0e4efd..0d4565706d4 100644 --- a/app/views/groups/milestones/new.html.haml +++ b/app/views/groups/milestones/new.html.haml @@ -3,7 +3,7 @@ - page_title _("Milestones"), @milestone.name, _("Milestones") %h3.page-title - New Milestone + = _("New Milestone") %hr diff --git a/app/views/groups/runners/edit.html.haml b/app/views/groups/runners/edit.html.haml index 3794c345aa6..a0d7b8acb47 100644 --- a/app/views/groups/runners/edit.html.haml +++ b/app/views/groups/runners/edit.html.haml @@ -1,4 +1,7 @@ -- page_title _('Edit'), "#{@runner.description} ##{@runner.id}", _('Runners') +- breadcrumb_title _('Edit') +- page_title _('Edit'), "##{@runner.id} (#{@runner.short_sha})" +- add_to_breadcrumbs _('CI/CD Settings'), group_settings_ci_cd_path(@group) +- add_to_breadcrumbs "#{@runner.short_sha}", group_runner_path(@group, @runner) %h2.page-title = s_('Runners|Runner #%{runner_id}' % { runner_id: @runner.id }) diff --git a/app/views/groups/runners/show.html.haml b/app/views/groups/runners/show.html.haml new file mode 100644 index 00000000000..5cf83e8ccfd --- /dev/null +++ b/app/views/groups/runners/show.html.haml @@ -0,0 +1,3 @@ +- add_to_breadcrumbs _('CI/CD Settings'), group_settings_ci_cd_path(@group) + += render 'shared/runners/runner_details', runner: @runner diff --git a/app/views/groups/settings/_lfs.html.haml b/app/views/groups/settings/_lfs.html.haml index 77c84862316..b16c9faafa4 100644 --- a/app/views/groups/settings/_lfs.html.haml +++ b/app/views/groups/settings/_lfs.html.haml @@ -6,10 +6,8 @@ %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 - .form-check - = f.check_box :lfs_enabled, checked: @group.lfs_enabled?, class: 'form-check-input', data: { qa_selector: 'lfs_checkbox' } - = f.label :lfs_enabled, class: 'form-check-label' do - %span - = _('Allow projects within this group to use Git LFS') - %br/ - %span.text-muted= _('This setting can be overridden in each project.') + .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.') diff --git a/app/views/groups/settings/_two_factor_auth.html.haml b/app/views/groups/settings/_two_factor_auth.html.haml index fac3df5237f..bd3b3283288 100644 --- a/app/views/groups/settings/_two_factor_auth.html.haml +++ b/app/views/groups/settings/_two_factor_auth.html.haml @@ -7,17 +7,17 @@ %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 - .form-check - = f.check_box :require_two_factor_authentication, class: 'form-check-input', data: { qa_selector: 'require_2fa_checkbox' } - = f.label :require_two_factor_authentication, class: 'form-check-label' do - %span= _('Require all users in this group to setup two-factor authentication') + .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') .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 - .form-check - = f.check_box :allow_mfa_for_subgroups, class: 'form-check-input', checked: group.namespace_settings&.allow_mfa_for_subgroups - = f.label :allow_mfa_for_subgroups, class: 'form-check-label' do + .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') diff --git a/app/views/groups/settings/packages_and_registries/index.html.haml b/app/views/groups/settings/packages_and_registries/show.html.haml index 1a12ad4902b..1a12ad4902b 100644 --- a/app/views/groups/settings/packages_and_registries/index.html.haml +++ b/app/views/groups/settings/packages_and_registries/show.html.haml diff --git a/app/views/groups/settings/repository/_initial_branch_name.html.haml b/app/views/groups/settings/repository/_initial_branch_name.html.haml index efe690a0c2d..23ac7d51e4f 100644 --- a/app/views/groups/settings/repository/_initial_branch_name.html.haml +++ b/app/views/groups/settings/repository/_initial_branch_name.html.haml @@ -9,12 +9,12 @@ .settings-content = form_for @group, url: group_path(@group, anchor: 'js-default-branch-name'), html: { class: 'fieldset-form' } do |f| = form_errors(@group) - - fallback_branch_name = '<code>master</code>' + - fallback_branch_name = "<code>#{Gitlab::DefaultBranch.value(object: @group)}</code>" %fieldset .form-group = f.label :default_branch_name, _('Default initial branch name'), class: 'label-light' - = f.text_field :default_branch_name, value: group.namespace_settings&.default_branch_name, placeholder: 'master', class: 'form-control' + = f.text_field :default_branch_name, value: group.namespace_settings&.default_branch_name, placeholder: Gitlab::DefaultBranch.value(object: @group), class: 'form-control' %span.form-text.text-muted = (_("Changes affect new repositories only. If not specified, either the configured application-wide default or Git's default name %{branch_name_default} will be used.") % { branch_name_default: fallback_branch_name }).html_safe diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml index a1557cda071..9f7f0a08df5 100644 --- a/app/views/groups/show.html.haml +++ b/app/views/groups/show.html.haml @@ -12,6 +12,7 @@ is_dismissed_key: "invite_#{@group.id}_#{current_user.id}", track_label: 'invite_members_banner', invite_members_path: group_group_members_path(@group) } } + = render 'groups/invite_members_modal', group: @group = content_for :meta_tags do = auto_discovery_link_tag(:atom, group_url(@group, rss_url_options), title: "#{@group.name} activity") |