diff options
author | Luke Bennett <lukeeeebennettplus@gmail.com> | 2018-05-28 12:27:06 +0100 |
---|---|---|
committer | Luke Bennett <lukeeeebennettplus@gmail.com> | 2018-05-28 12:27:06 +0100 |
commit | a9583bc9562512bd046a7f2c32fd267f32a5dac2 (patch) | |
tree | af91d0688d49850746de400afdacb5389c0cfb16 /app/views/groups | |
parent | a3e472e0a7a6b6ec5654edd20b947ba660ed2dc3 (diff) | |
parent | 265b1fafe64ae9fe8a3e92d83c1678b47533ba86 (diff) | |
download | gitlab-ce-a9583bc9562512bd046a7f2c32fd267f32a5dac2.tar.gz |
Merge remote-tracking branch 'origin/master' into 39549-label-list-page-redesign-with-draggable-labels
Diffstat (limited to 'app/views/groups')
-rw-r--r-- | app/views/groups/_create_chat_team.html.haml | 4 | ||||
-rw-r--r-- | app/views/groups/_group_admin_settings.html.haml | 52 | ||||
-rw-r--r-- | app/views/groups/edit.html.haml | 36 | ||||
-rw-r--r-- | app/views/groups/group_members/_new_group_member.html.haml | 6 | ||||
-rw-r--r-- | app/views/groups/group_members/index.html.haml | 28 | ||||
-rw-r--r-- | app/views/groups/issues.html.haml | 2 | ||||
-rw-r--r-- | app/views/groups/milestones/_form.html.haml | 10 | ||||
-rw-r--r-- | app/views/groups/new.html.haml | 10 | ||||
-rw-r--r-- | app/views/groups/projects.html.haml | 10 | ||||
-rw-r--r-- | app/views/groups/runners/_group_runners.html.haml | 24 | ||||
-rw-r--r-- | app/views/groups/runners/_index.html.haml | 9 | ||||
-rw-r--r-- | app/views/groups/runners/_runner.html.haml | 27 | ||||
-rw-r--r-- | app/views/groups/runners/edit.html.haml | 6 | ||||
-rw-r--r-- | app/views/groups/settings/ci_cd/show.html.haml | 28 | ||||
-rw-r--r-- | app/views/groups/show.html.haml | 2 |
15 files changed, 170 insertions, 84 deletions
diff --git a/app/views/groups/_create_chat_team.html.haml b/app/views/groups/_create_chat_team.html.haml index 20de1b4c973..9a3ff0313b5 100644 --- a/app/views/groups/_create_chat_team.html.haml +++ b/app/views/groups/_create_chat_team.html.haml @@ -1,10 +1,10 @@ .form-group - = f.label :create_chat_team, class: 'control-label' do + = f.label :create_chat_team, class: 'col-form-label' do %span.mattermost-icon = custom_icon('icon_mattermost') Mattermost .col-sm-10 - .checkbox.js-toggle-container + .form-check.js-toggle-container = f.label :create_chat_team do .js-toggle-button= f.check_box(:create_chat_team, { checked: true }, true, false) Create a Mattermost team for this group diff --git a/app/views/groups/_group_admin_settings.html.haml b/app/views/groups/_group_admin_settings.html.haml index 2ace1e2dd1e..3cd3fb32b9c 100644 --- a/app/views/groups/_group_admin_settings.html.haml +++ b/app/views/groups/_group_admin_settings.html.haml @@ -1,28 +1,26 @@ -- if current_user.admin? - .form-group - = f.label :lfs_enabled, 'Large File Storage', class: 'control-label' - .col-sm-10 - .checkbox - = f.label :lfs_enabled do - = f.check_box :lfs_enabled, checked: @group.lfs_enabled? - %strong - Allow projects within this group to use Git LFS - = link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs') - %br/ - %span.descr This setting can be overridden in each project. +.form-group.row + = f.label :lfs_enabled, 'Large File Storage', class: 'col-form-label col-sm-2' + .col-sm-10 + .form-check + = f.label :lfs_enabled do + = f.check_box :lfs_enabled, checked: @group.lfs_enabled? + %strong + Allow projects within this group to use Git LFS + = link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs') + %br/ + %span.descr This setting can be overridden in each project. -- if can? current_user, :admin_group, @group - .form-group - = f.label :require_two_factor_authentication, 'Two-factor authentication', class: 'control-label col-sm-2' - .col-sm-10 - .checkbox - = f.label :require_two_factor_authentication do - = f.check_box :require_two_factor_authentication - %strong - Require all users in this group to setup Two-factor authentication - = link_to icon('question-circle'), help_page_path('security/two_factor_authentication', anchor: 'enforcing-2fa-for-all-users-in-a-group') - .form-group - .col-sm-offset-2.col-sm-10 - .checkbox - = f.text_field :two_factor_grace_period, class: 'form-control' - .help-block Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication +.form-group.row + = f.label :require_two_factor_authentication, 'Two-factor authentication', class: 'col-form-label col-sm-2' + .col-sm-10 + .form-check + = f.label :require_two_factor_authentication do + = f.check_box :require_two_factor_authentication + %strong + Require all users in this group to setup Two-factor authentication + = link_to icon('question-circle'), help_page_path('security/two_factor_authentication', anchor: 'enforcing-2fa-for-all-users-in-a-group') +.form-group.row + .offset-sm-2.col-sm-10 + .form-check + = f.text_field :two_factor_grace_period, class: 'form-control' + .form-text.text-muted Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication diff --git a/app/views/groups/edit.html.haml b/app/views/groups/edit.html.haml index 86cd0759a2c..96ed63937fa 100644 --- a/app/views/groups/edit.html.haml +++ b/app/views/groups/edit.html.haml @@ -1,14 +1,16 @@ - breadcrumb_title "General Settings" -.panel.panel-default.prepend-top-default - .panel-heading +- @content_class = "limit-container-width" unless fluid_layout + +.card.prepend-top-default + .card-header Group settings - .panel-body - = form_for @group, html: { multipart: true, class: "form-horizontal gl-show-field-errors" }, authenticity_token: true do |f| + .card-body + = form_for @group, html: { multipart: true, class: "gl-show-field-errors" }, authenticity_token: true do |f| = form_errors(@group) = render 'shared/group_form', f: f - .form-group - .col-sm-offset-2.col-sm-10 + .form-group.row + .offset-sm-2.col-sm-10 .avatar-container.s160 = group_icon(@group, alt: '', class: 'avatar group-avatar s160') %p.light @@ -23,15 +25,15 @@ = render 'shared/visibility_level', f: f, visibility_level: @group.visibility_level, can_change_visibility_level: can_change_group_visibility_level?(@group), form_model: @group - .form-group - .col-sm-offset-2.col-sm-10 + .form-group.row + .offset-sm-2.col-sm-10 = render 'shared/allow_request_access', form: f - .form-group - %label.control-label + .form-group.row + %label.col-form-label.col-sm-2 = s_("GroupSettings|Share with group lock") .col-sm-10 - .checkbox + .form-check = f.label :share_with_group_lock do = f.check_box :share_with_group_lock, disabled: !can_change_share_with_group_lock?(@group) %strong @@ -45,9 +47,9 @@ .form-actions = f.submit 'Save group', class: "btn btn-save" -.panel.panel-danger - .panel-heading Remove group - .panel-body +.card.bg-danger + .card-header Remove group + .card-body = form_tag(@group, method: :delete) do %p Removing group will cause all child projects and resources to be removed. @@ -58,9 +60,9 @@ = button_to 'Remove group', '#', class: "btn btn-remove js-confirm-danger", data: { "confirm-danger-message" => remove_group_message(@group) } - if supports_nested_groups? - .panel.panel-warning - .panel-heading Transfer group - .panel-body + .card.bg-warning + .card-header Transfer group + .card-body = form_for @group, url: transfer_group_path(@group), method: :put do |f| .form-group = dropdown_tag('Select parent group', options: { toggle_class: 'js-groups-dropdown', title: 'Parent Group', filter: true, dropdown_class: 'dropdown-open-top dropdown-group-transfer', placeholder: "Search groups", data: { data: parent_group_options(@group) } }) diff --git a/app/views/groups/group_members/_new_group_member.html.haml b/app/views/groups/group_members/_new_group_member.html.haml index 5b1a4630c56..aa03f8365f9 100644 --- a/app/views/groups/group_members/_new_group_member.html.haml +++ b/app/views/groups/group_members/_new_group_member.html.haml @@ -2,12 +2,12 @@ .row .col-md-4.col-lg-6 = users_select_tag(:user_ids, multiple: true, class: 'input-clamp', scope: :all, email_user: true) - .help-block.append-bottom-10 + .form-text.text-muted.append-bottom-10 Search for members by name, username, or email, or invite new ones using their email address. .col-md-3.col-lg-2 = select_tag :access_level, options_for_select(GroupMember.access_level_roles, @group_member.access_level), class: "form-control project-access-select" - .help-block.append-bottom-10 + .form-text.text-muted.append-bottom-10 = link_to "Read more", help_page_path("user/permissions"), class: "vlink" about role permissions @@ -15,7 +15,7 @@ .clearable-input = text_field_tag :expires_at, nil, class: 'form-control js-access-expiration-date', placeholder: 'Expiration date' %i.clear-icon.js-clear-input - .help-block.append-bottom-10 + .form-text.text-muted.append-bottom-10 On this date, the member(s) will automatically lose access to this group and all of its projects. .col-md-2 diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index ad9d5562ded..6a0321bcd2b 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -1,10 +1,11 @@ - page_title "Members" +- can_manage_members = can?(current_user, :admin_group_member, @group) .project-members-page.prepend-top-default %h4 Members %hr - - if can?(current_user, :admin_group_member, @group) + - if can_manage_members .project-members-new.append-bottom-default %p.clearfix Add new member to @@ -13,20 +14,23 @@ = render 'shared/members/requests', membership_source: @group, requesters: @requesters - .append-bottom-default.clearfix + .clearfix %h5.member.existing-title Existing members - = form_tag group_group_members_path(@group), method: :get, class: 'form-inline member-search-form' do - .form-group - = search_field_tag :search, params[:search], { placeholder: 'Find existing members by name', class: 'form-control', spellcheck: false } - %button.member-search-btn{ type: "submit", "aria-label" => "Submit search" } - = icon("search") - = render 'shared/members/sort_dropdown' - .panel.panel-default - .panel-heading - Members with access to - %strong= @group.name + .card + .card-header.flex-project-members-panel + %span.flex-project-title + Members with access to + %strong= @group.name %span.badge= @members.total_count + = form_tag group_group_members_path(@group), method: :get, class: 'form-inline member-search-form flex-project-members-form' do + .form-group + = search_field_tag :search, params[:search], { placeholder: 'Find existing members by name', class: 'form-control', spellcheck: false } + %button.member-search-btn{ type: "submit", "aria-label" => "Submit search" } + = icon("search") + - if can_manage_members + = render 'shared/members/filter_2fa_dropdown' + = render 'shared/members/sort_dropdown' %ul.content-list.members-list = render partial: 'shared/members/member', collection: @members, as: :member = paginate @members, theme: 'gitlab' diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml index bbfbea4ac7a..662db18cf86 100644 --- a/app/views/groups/issues.html.haml +++ b/app/views/groups/issues.html.haml @@ -8,7 +8,7 @@ .top-area = render 'shared/issuable/nav', type: :issues .nav-controls - = link_to params.merge(rss_url_options), class: 'btn' do + = link_to safe_params.merge(rss_url_options), class: 'btn' do = icon('rss') %span.icon-label Subscribe diff --git a/app/views/groups/milestones/_form.html.haml b/app/views/groups/milestones/_form.html.haml index a1be0d3220a..6d35457a0ec 100644 --- a/app/views/groups/milestones/_form.html.haml +++ b/app/views/groups/milestones/_form.html.haml @@ -1,14 +1,14 @@ -= form_for [@group, @milestone], html: { class: 'form-horizontal milestone-form common-note-form js-quick-submit js-requires-input' } do |f| += form_for [@group, @milestone], html: { class: 'milestone-form common-note-form js-quick-submit js-requires-input' } do |f| .row = form_errors(@milestone) .col-md-6 - .form-group - = f.label :title, "Title", class: "control-label" + .form-group.row + = f.label :title, "Title", class: "col-form-label col-sm-2" .col-sm-10 = f.text_field :title, maxlength: 255, class: "form-control", required: true, autofocus: true - .form-group.milestone-description - = f.label :description, "Description", class: "control-label" + .form-group.row.milestone-description + = f.label :description, "Description", class: "col-form-label col-sm-2" .col-sm-10 = render layout: 'projects/md_preview', locals: { url: group_preview_markdown_path } do = render 'projects/zen', f: f, attr: :description, classes: 'note-textarea', placeholder: 'Write milestone description...', supports_autocomplete: false diff --git a/app/views/groups/new.html.haml b/app/views/groups/new.html.haml index e9daac95ca1..1e72d88db1e 100644 --- a/app/views/groups/new.html.haml +++ b/app/views/groups/new.html.haml @@ -8,12 +8,12 @@ New Group %hr -= form_for @group, html: { class: 'group-form form-horizontal gl-show-field-errors' } do |f| += form_for @group, html: { class: 'group-form gl-show-field-errors' } do |f| = form_errors(@group) = render 'shared/group_form', f: f, autofocus: true - .form-group.group-description-holder - = f.label :avatar, "Group avatar", class: 'control-label' + .form-group.row.group-description-holder + = f.label :avatar, "Group avatar", class: 'col-form-label col-sm-2' .col-sm-10 = render 'shared/choose_group_avatar_button', f: f @@ -21,8 +21,8 @@ = render 'create_chat_team', f: f if Gitlab.config.mattermost.enabled - .form-group - .col-sm-offset-2.col-sm-10 + .form-group.row + .offset-sm-2.col-sm-10 = render 'shared/group_tips' .form-actions diff --git a/app/views/groups/projects.html.haml b/app/views/groups/projects.html.haml index ef181b425bc..cd07b95155c 100644 --- a/app/views/groups/projects.html.haml +++ b/app/views/groups/projects.html.haml @@ -1,7 +1,7 @@ - breadcrumb_title "Projects" -.panel.panel-default.prepend-top-default - .panel-heading +.card.prepend-top-default + .card-header %strong= @group.name projects: - if can? current_user, :admin_group, @group @@ -15,10 +15,10 @@ %span{ class: visibility_level_color(project.visibility_level) } = visibility_level_icon(project.visibility_level) %strong= link_to project.full_name, project - .pull-right + .float-right - if project.archived - %span.label.label-warning archived - %span.badge + %span.badge.badge-warning archived + %span.badge.badge-pill = storage_counter(project.statistics.storage_size) = link_to 'Members', project_project_members_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-sm" = link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-sm" diff --git a/app/views/groups/runners/_group_runners.html.haml b/app/views/groups/runners/_group_runners.html.haml new file mode 100644 index 00000000000..e6c089c3494 --- /dev/null +++ b/app/views/groups/runners/_group_runners.html.haml @@ -0,0 +1,24 @@ +- link = link_to _('Runners API'), help_page_path('api/runners.md') + +%h3 + = _('Group Runners') + +.bs-callout.bs-callout-warning + = _('GitLab Group Runners can execute code for all the projects in this group.') + = _('They can be managed using the %{link}.').html_safe % { link: link } + +-# Proper policies should be implemented per +-# https://gitlab.com/gitlab-org/gitlab-ce/issues/45894 +- if can?(current_user, :admin_pipeline, @group) + = render partial: 'ci/runner/how_to_setup_runner', + locals: { registration_token: @group.runners_token, type: 'group' } + +- if @group.runners.empty? + %h4.underlined-title + = _('This group does not provide any group Runners yet.') + +- else + %h4.underlined-title + = _('Available group Runners : %{runners}.').html_safe % { runners: @group.runners.count } + %ul.bordered-list + = render partial: 'groups/runners/runner', collection: @group.runners, as: :runner diff --git a/app/views/groups/runners/_index.html.haml b/app/views/groups/runners/_index.html.haml new file mode 100644 index 00000000000..0cf9011b471 --- /dev/null +++ b/app/views/groups/runners/_index.html.haml @@ -0,0 +1,9 @@ += render 'shared/runners/runner_description' + +%hr + +%p.lead + = _('To start serving your jobs you can add Runners to your group') +.row + .col-sm-6 + = render 'groups/runners/group_runners' diff --git a/app/views/groups/runners/_runner.html.haml b/app/views/groups/runners/_runner.html.haml new file mode 100644 index 00000000000..76650a961d6 --- /dev/null +++ b/app/views/groups/runners/_runner.html.haml @@ -0,0 +1,27 @@ +%li.runner{ id: dom_id(runner) } + %h4 + = runner_status_icon(runner) + + = link_to runner.short_sha, group_runner_path(@group, runner), class: 'commit-sha' + + %small.edit-runner + = link_to edit_group_runner_path(@group, runner) do + = icon('edit') + + .pull-right + - if runner.active? + = link_to _('Pause'), pause_group_runner_path(@group, runner), method: :post, class: 'btn btn-sm btn-danger', data: { confirm: _("Are you sure?") } + - else + = link_to _('Resume'), resume_group_runner_path(@group, runner), method: :post, class: 'btn btn-success btn-sm' + = link_to _('Remove Runner'), group_runner_path(@group, runner), data: { confirm: _("Are you sure?") }, method: :delete, class: 'btn btn-danger btn-sm' + .pull-right + %small.light + \##{runner.id} + - if runner.description.present? + %p.runner-description + = runner.description + - if runner.tag_list.present? + %p + - runner.tag_list.sort.each do |tag| + %span.label.label-primary + = tag diff --git a/app/views/groups/runners/edit.html.haml b/app/views/groups/runners/edit.html.haml new file mode 100644 index 00000000000..fcd096eeaa0 --- /dev/null +++ b/app/views/groups/runners/edit.html.haml @@ -0,0 +1,6 @@ +- page_title _('Edit'), "#{@runner.description} ##{@runner.id}", 'Runners' + +%h4 Runner ##{@runner.id} + +%hr + = render 'shared/runners/form', runner: @runner, runner_form_url: group_runner_path(@group, @runner) diff --git a/app/views/groups/settings/ci_cd/show.html.haml b/app/views/groups/settings/ci_cd/show.html.haml index dd82922ec55..082e1b7befa 100644 --- a/app/views/groups/settings/ci_cd/show.html.haml +++ b/app/views/groups/settings/ci_cd/show.html.haml @@ -1,11 +1,27 @@ - breadcrumb_title "CI / CD Settings" - page_title "CI / CD" -%h4 - = _('Secret variables') - = link_to icon('question-circle'), help_page_path('ci/variables/README', anchor: 'secret-variables'), target: '_blank', rel: 'noopener noreferrer' +- expanded = Rails.env.test? -%p - = render "ci/variables/content" +%section.settings#secret-variables.no-animate{ class: ('expanded' if expanded) } + .settings-header + %h4 + = _('Secret variables') + = link_to icon('question-circle'), help_page_path('ci/variables/README', anchor: 'secret-variables'), target: '_blank', rel: 'noopener noreferrer' + %button.btn.btn-default.js-settings-toggle{ type: "button" } + = expanded ? _('Collapse') : _('Expand') + %p.append-bottom-0 + = render "ci/variables/content" + .settings-content + = render 'ci/variables/index', save_endpoint: group_variables_path -= render 'ci/variables/index', save_endpoint: group_variables_path +%section.settings#runners-settings.no-animate{ class: ('expanded' if expanded) } + .settings-header + %h4 + = _('Runners settings') + %button.btn.btn-default.js-settings-toggle{ type: "button" } + = expanded ? _('Collapse') : _('Expand') + %p + = _('Register and see your runners for this group.') + .settings-content + = render 'groups/runners/index' diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml index 8e1dea4afc1..8b0ef3cd87a 100644 --- a/app/views/groups/show.html.haml +++ b/app/views/groups/show.html.haml @@ -20,7 +20,7 @@ %input.btn.btn-success.dropdown-primary.js-new-group-child{ type: "button", value: new_project_label, data: { action: "new-project" } } %button.btn.btn-success.dropdown-toggle.js-dropdown-toggle{ type: "button", data: { "dropdown-trigger" => "#new-project-or-subgroup-dropdown" } } = icon("caret-down", class: "dropdown-btn-icon") - %ul#new-project-or-subgroup-dropdown.dropdown-menu.dropdown-menu-align-right{ data: { dropdown: true } } + %ul#new-project-or-subgroup-dropdown.dropdown-menu.dropdown-menu-right{ data: { dropdown: true } } %li.droplab-item-selected{ role: "button", data: { value: "new-project", text: new_project_label } } .menu-item .icon-container |