From 9f46488805e86b1bc341ea1620b866016c2ce5ed Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 May 2020 14:34:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-0-stable-ee --- .../projects/alert_management/details.html.haml | 4 +++ .../projects/alert_management/index.html.haml | 3 ++ app/views/projects/blob/_header.html.haml | 8 ++--- .../projects/blob/_template_selectors.html.haml | 2 +- app/views/projects/buttons/_download.html.haml | 15 +++++----- app/views/projects/commit/_signature.html.haml | 2 +- .../projects/commit/_signature_badge.html.haml | 6 ++-- .../commit/x509/_signature_badge_user.html.haml | 2 +- app/views/projects/commits/_commit.html.haml | 2 ++ app/views/projects/cycle_analytics/show.html.haml | 5 +++- app/views/projects/deploy_keys/_form.html.haml | 24 --------------- app/views/projects/deploy_keys/_index.html.haml | 15 ---------- app/views/projects/graphs/charts.html.haml | 21 +++++++++++++ app/views/projects/graphs/show.html.haml | 2 +- app/views/projects/import/jira/show.html.haml | 1 + .../projects/issues/_design_management.html.haml | 15 ++++++++++ app/views/projects/issues/_issue.html.haml | 5 ++-- .../projects/issues/_related_branches.html.haml | 8 ++--- app/views/projects/issues/_tabs.html.haml | 14 +++++++++ .../projects/issues/export_csv/_modal.html.haml | 1 - app/views/projects/issues/index.html.haml | 6 ++++ app/views/projects/issues/show.html.haml | 10 ++++--- app/views/projects/labels/index.html.haml | 4 +-- .../merge_requests/_how_to_merge.html.haml | 2 +- .../merge_requests/_merge_request.html.haml | 2 +- .../projects/merge_requests/_widget.html.haml | 1 + .../creations/update_branches.html.haml | 3 -- app/views/projects/mirrors/_mirror_repos.html.haml | 2 +- .../projects/mirrors/_mirror_repos_push.html.haml | 12 ++++---- app/views/projects/new.html.haml | 2 +- app/views/projects/pipelines/_with_tabs.html.haml | 10 ++++++- app/views/projects/pipelines/index.html.haml | 1 + .../services/_deprecated_message.html.haml | 3 -- app/views/projects/services/_form.html.haml | 8 ++--- app/views/projects/services/_index.html.haml | 30 ------------------- app/views/projects/services/edit.html.haml | 3 +- .../services/prometheus/_custom_metrics.html.haml | 4 +-- .../services/slack_slash_commands/_help.html.haml | 2 +- app/views/projects/settings/_general.html.haml | 2 +- .../settings/access_tokens/index.html.haml | 34 ++++++++++++++++++++++ .../settings/ci_cd/_autodevops_form.html.haml | 2 +- app/views/projects/settings/ci_cd/_form.html.haml | 4 +-- app/views/projects/settings/ci_cd/show.html.haml | 2 +- .../projects/settings/integrations/show.html.haml | 4 ++- .../settings/operations/_incidents.html.haml | 8 ++--- .../projects/settings/repository/show.html.haml | 2 +- app/views/projects/snippets/show.html.haml | 2 +- app/views/projects/tags/_tag.html.haml | 3 ++ app/views/projects/tags/show.html.haml | 2 ++ app/views/projects/wikis/_sidebar.html.haml | 2 +- app/views/projects/wikis/git_access.html.haml | 5 ---- 51 files changed, 184 insertions(+), 148 deletions(-) create mode 100644 app/views/projects/alert_management/details.html.haml create mode 100644 app/views/projects/alert_management/index.html.haml delete mode 100644 app/views/projects/deploy_keys/_form.html.haml delete mode 100644 app/views/projects/deploy_keys/_index.html.haml create mode 100644 app/views/projects/issues/_design_management.html.haml create mode 100644 app/views/projects/issues/_tabs.html.haml delete mode 100644 app/views/projects/merge_requests/creations/update_branches.html.haml delete mode 100644 app/views/projects/services/_deprecated_message.html.haml delete mode 100644 app/views/projects/services/_index.html.haml create mode 100644 app/views/projects/settings/access_tokens/index.html.haml (limited to 'app/views/projects') diff --git a/app/views/projects/alert_management/details.html.haml b/app/views/projects/alert_management/details.html.haml new file mode 100644 index 00000000000..5230d5e3476 --- /dev/null +++ b/app/views/projects/alert_management/details.html.haml @@ -0,0 +1,4 @@ +- add_to_breadcrumbs s_('AlertManagement|Alerts'), project_alert_management_index_path(@project) +- page_title s_('AlertManagement|Alert detail') + +#js-alert_details{ data: alert_management_detail_data(@project, @alert_id) } diff --git a/app/views/projects/alert_management/index.html.haml b/app/views/projects/alert_management/index.html.haml new file mode 100644 index 00000000000..415820ac3ad --- /dev/null +++ b/app/views/projects/alert_management/index.html.haml @@ -0,0 +1,3 @@ +- page_title _('Alerts') + +#js-alert_management{ data: alert_management_data(@current_user, @project) } diff --git a/app/views/projects/blob/_header.html.haml b/app/views/projects/blob/_header.html.haml index 76a9d3df5d7..2a1545e7db7 100644 --- a/app/views/projects/blob/_header.html.haml +++ b/app/views/projects/blob/_header.html.haml @@ -4,13 +4,13 @@ .file-actions< = render 'projects/blob/viewer_switcher', blob: blob unless blame - = edit_blob_button - = ide_edit_button + = edit_blob_button(@project, @ref, @path, blob: blob) + = ide_edit_button(@project, @ref, @path, blob: blob) .btn-group.ml-2{ role: "group" }> = render_if_exists 'projects/blob/header_file_locks_link' - if current_user - = replace_blob_link - = delete_blob_link + = replace_blob_link(@project, @ref, @path, blob: blob) + = delete_blob_link(@project, @ref, @path, blob: blob) .btn-group.ml-2{ role: "group" } = copy_blob_source_button(blob) unless blame = open_raw_blob_button(blob) diff --git a/app/views/projects/blob/_template_selectors.html.haml b/app/views/projects/blob/_template_selectors.html.haml index 2be95bc5541..ba8029ac32a 100644 --- a/app/views/projects/blob/_template_selectors.html.haml +++ b/app/views/projects/blob/_template_selectors.html.haml @@ -1,4 +1,4 @@ -.template-selectors-menu.gl-pl-2 +.template-selectors-menu.gl-pl-2-deprecated-no-really-do-not-use-me .template-selector-dropdowns-wrap .template-type-selector.js-template-type-selector-wrap.hidden - toggle_text = should_suggest_gitlab_ci_yml? ? '.gitlab-ci.yml' : 'Select a template type' diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml index cae8bbf8c01..445752d0a15 100644 --- a/app/views/projects/buttons/_download.html.haml +++ b/app/views/projects/buttons/_download.html.haml @@ -12,14 +12,13 @@ %h5.m-0.dropdown-bold-header= _('Download source code') .dropdown-menu-content = render 'projects/buttons/download_links', project: project, ref: ref, archive_prefix: archive_prefix, path: nil - - if Feature.enabled?(:git_archive_path, default_enabled: true) - - if vue_file_list_enabled? - #js-directory-downloads{ data: { links: directory_download_links(project, ref, archive_prefix).to_json } } - - elsif directory? - %section.border-top.pt-1.mt-1 - %h5.m-0.dropdown-bold-header= _('Download this directory') - .dropdown-menu-content - = render 'projects/buttons/download_links', project: project, ref: ref, archive_prefix: archive_prefix, path: @path + - if vue_file_list_enabled? + #js-directory-downloads{ data: { links: directory_download_links(project, ref, archive_prefix).to_json } } + - elsif directory? + %section.border-top.pt-1.mt-1 + %h5.m-0.dropdown-bold-header= _('Download this directory') + .dropdown-menu-content + = render 'projects/buttons/download_links', project: project, ref: ref, archive_prefix: archive_prefix, path: @path - if pipeline && pipeline.latest_builds_with_artifacts.any? %section.border-top.pt-1.mt-1 %h5.m-0.dropdown-bold-header= _('Download artifacts') diff --git a/app/views/projects/commit/_signature.html.haml b/app/views/projects/commit/_signature.html.haml index aa7c90bad66..fb31ac44118 100644 --- a/app/views/projects/commit/_signature.html.haml +++ b/app/views/projects/commit/_signature.html.haml @@ -1,3 +1,3 @@ - if signature - - uri = "projects/commit/#{"x509/" if signature.instance_of?(X509CommitSignature)}" + - uri = "projects/commit/#{"x509/" if x509_signature?(signature)}" = render partial: "#{uri}#{signature.verification_status}_signature_badge", locals: { signature: signature } diff --git a/app/views/projects/commit/_signature_badge.html.haml b/app/views/projects/commit/_signature_badge.html.haml index 8ecaa1329fd..8004a5facd7 100644 --- a/app/views/projects/commit/_signature_badge.html.haml +++ b/app/views/projects/commit/_signature_badge.html.haml @@ -17,13 +17,13 @@ - content = capture do - if show_user .clearfix - - uri_signature_badge_user = "projects/commit/#{"x509/" if signature.instance_of?(X509CommitSignature)}signature_badge_user" + - uri_signature_badge_user = "projects/commit/#{"x509/" if x509_signature?(signature)}signature_badge_user" = render partial: "#{uri_signature_badge_user}", locals: { signature: signature } - - if signature.instance_of?(X509CommitSignature) + - if x509_signature?(signature) = render partial: "projects/commit/x509/certificate_details", locals: { signature: signature } - = link_to(_('Learn more about x509 signed commits'), help_page_path('user/project/repository/x509_signed_commits/index.md'), class: 'gpg-popover-help-link') + = link_to(_('Learn more about X.509 signed commits'), help_page_path('user/project/repository/x509_signed_commits/index.md'), class: 'gpg-popover-help-link') - else = _('GPG Key ID:') %span.monospace= signature.gpg_key_primary_keyid diff --git a/app/views/projects/commit/x509/_signature_badge_user.html.haml b/app/views/projects/commit/x509/_signature_badge_user.html.haml index b64ccba2a18..f3d39b21ec2 100644 --- a/app/views/projects/commit/x509/_signature_badge_user.html.haml +++ b/app/views/projects/commit/x509/_signature_badge_user.html.haml @@ -1,5 +1,5 @@ -- user = signature.commit.committer - user_email = signature.x509_certificate.email +- user = signature.user - if user = link_to user_path(user), class: 'gpg-popover-user-link' do diff --git a/app/views/projects/commits/_commit.html.haml b/app/views/projects/commits/_commit.html.haml index 8b659034fe6..b42eef32a76 100644 --- a/app/views/projects/commits/_commit.html.haml +++ b/app/views/projects/commits/_commit.html.haml @@ -1,6 +1,8 @@ -#----------------------------------------------------------------- WARNING: Please keep changes up-to-date with the following files: - `assets/javascripts/diffs/components/commit_item.vue` + + EXCEPTION WARNING - see above `.vue` file for de-sync drift -#----------------------------------------------------------------- - view_details = local_assigns.fetch(:view_details, false) - merge_request = local_assigns.fetch(:merge_request, nil) diff --git a/app/views/projects/cycle_analytics/show.html.haml b/app/views/projects/cycle_analytics/show.html.haml index da20fee227a..b6c30c680e4 100644 --- a/app/views/projects/cycle_analytics/show.html.haml +++ b/app/views/projects/cycle_analytics/show.html.haml @@ -5,6 +5,9 @@ %banner{ "v-if" => "!isOverviewDialogDismissed", "documentation-link": help_page_path('user/analytics/value_stream_analytics.md'), "v-on:dismiss-overview-dialog" => "dismissOverviewDialog()" } + .mb-3 + %h3 + = _("Value Stream Analytics") %gl-loading-icon{ "v-show" => "isLoading", "size" => "lg" } .wrapper{ "v-show" => "!isLoading && !hasError" } .card @@ -54,7 +57,7 @@ %nav.stage-nav %ul %stage-nav-item{ "v-for" => "stage in state.stages", ":key" => '`ca-stage-title-${stage.title}`', '@select' => 'selectStage(stage)', ":title" => "stage.title", ":is-user-allowed" => "stage.isUserAllowed", ":value" => "stage.value", ":is-active" => "stage.active" } - .section.stage-events + .section.stage-events.overflow-auto %gl-loading-icon{ "v-show" => "isLoadingStage", "size" => "lg" } %template{ "v-if" => "currentStage && !currentStage.isUserAllowed" } = render partial: "no_access" diff --git a/app/views/projects/deploy_keys/_form.html.haml b/app/views/projects/deploy_keys/_form.html.haml deleted file mode 100644 index 568930595a2..00000000000 --- a/app/views/projects/deploy_keys/_form.html.haml +++ /dev/null @@ -1,24 +0,0 @@ -= form_for [@project.namespace.becomes(Namespace), @project, @deploy_keys.new_key], url: namespace_project_deploy_keys_path, html: { class: "js-requires-input container" } do |f| - = form_errors(@deploy_keys.new_key) - .form-group.row - = f.label :title, class: "label-bold" - = f.text_field :title, class: 'form-control', required: true - .form-group.row - = f.label :key, class: "label-bold" - = f.text_area :key, class: "form-control", rows: 5, required: true - .form-group.row - %p.light.append-bottom-0 - Paste a machine public key here. Read more about how to generate it - = link_to "here", help_page_path("ssh/README") - - = f.fields_for :deploy_keys_projects do |deploy_keys_project_form| - .form-group.row - = deploy_keys_project_form.label :can_push do - = deploy_keys_project_form.check_box :can_push - %strong Write access allowed - .form-group.row - %p.light.append-bottom-0 - Allow this key to push to repository as well? (Default only allows pull access.) - - .form-group.row - = f.submit "Add key", class: "btn-success btn" diff --git a/app/views/projects/deploy_keys/_index.html.haml b/app/views/projects/deploy_keys/_index.html.haml deleted file mode 100644 index 6b3b824f72f..00000000000 --- a/app/views/projects/deploy_keys/_index.html.haml +++ /dev/null @@ -1,15 +0,0 @@ -- expanded = expanded_by_default? -%section.qa-deploy-keys-settings.settings.no-animate#js-deploy-keys-settings{ class: ('expanded' if expanded), data: { qa_selector: 'deploy_keys_settings' } } - .settings-header - %h4 - Deploy Keys - %button.btn.js-settings-toggle{ type: 'button' } - = expanded ? 'Collapse' : 'Expand' - %p - Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one. - .settings-content - %h5.prepend-top-0 - Create a new deploy key for this project - = render @deploy_keys.form_partial_path - %hr - #js-deploy-keys{ data: { endpoint: project_deploy_keys_path(@project), project_id: @project.id } } diff --git a/app/views/projects/graphs/charts.html.haml b/app/views/projects/graphs/charts.html.haml index 19fe7ba4360..7257dacf680 100644 --- a/app/views/projects/graphs/charts.html.haml +++ b/app/views/projects/graphs/charts.html.haml @@ -1,5 +1,9 @@ - page_title _("Repository Analytics") +.mb-3 + %h3 + = _("Repository Analytics") + .repo-charts %h4.sub-header = _("Programming languages used in this repository") @@ -9,6 +13,23 @@ #js-languages-chart{ data: { chart_data: @languages.to_json.html_safe } } +- if defined?(@daily_coverage_options) + .repo-charts.my-5 + .sub-header-block.border-top + .d-flex.justify-content-between.align-items-center + %h4.sub-header.m-0 + - start_date = capture do + #{@daily_coverage_options[:base_params][:start_date].strftime('%b %d')} + - end_date = capture do + #{@daily_coverage_options[:base_params][:end_date].strftime('%b %d')} + = (_("Code coverage statistics for master %{start_date} - %{end_date}") % {start_date: start_date, end_date: end_date}) + - download_path = capture do + #{@daily_coverage_options[:download_path]} + %a.btn.btn-sm{ href: "#{download_path}?#{@daily_coverage_options[:base_params].to_query}" } + %small + = _("Download raw data (.csv)") + #js-code-coverage-chart{ data: { daily_coverage_options: @daily_coverage_options.to_json.html_safe } } + .repo-charts .sub-header-block.border-top diff --git a/app/views/projects/graphs/show.html.haml b/app/views/projects/graphs/show.html.haml index a952db0eea3..495a4ac50bf 100644 --- a/app/views/projects/graphs/show.html.haml +++ b/app/views/projects/graphs/show.html.haml @@ -1,6 +1,6 @@ - page_title _('Contributors') -.sub-header-block.bg-gray-light.gl-p-3 +.sub-header-block.bg-gray-light.gl-p-3-deprecated-no-really-do-not-use-me .tree-ref-holder.inline.vertical-align-middle = render 'shared/ref_switcher', destination: 'graphs' = link_to s_('Commits|History'), project_commits_path(@project, current_ref), class: 'btn' diff --git a/app/views/projects/import/jira/show.html.haml b/app/views/projects/import/jira/show.html.haml index 4106bcc2e5a..cddd97cbc84 100644 --- a/app/views/projects/import/jira/show.html.haml +++ b/app/views/projects/import/jira/show.html.haml @@ -1,6 +1,7 @@ - if Feature.enabled?(:jira_issue_import_vue, @project, default_enabled: true) .js-jira-import-root{ data: { project_path: @project.full_path, issues_path: project_issues_path(@project), + jira_integration_path: edit_project_service_path(@project, :jira), is_jira_configured: @project.jira_service.present?.to_s, jira_projects: @jira_projects.to_json, in_progress_illustration: image_path('illustrations/export-import.svg'), diff --git a/app/views/projects/issues/_design_management.html.haml b/app/views/projects/issues/_design_management.html.haml new file mode 100644 index 00000000000..96f1dc0155c --- /dev/null +++ b/app/views/projects/issues/_design_management.html.haml @@ -0,0 +1,15 @@ +- if @project.design_management_enabled? + .js-design-management{ data: { project_path: @project.full_path, issue_iid: @issue.iid, issue_path: project_issue_path(@project, @issue) } } +- else + .mt-4 + .row.empty-state + .col-12 + .text-content + %h4.center + = _('The one place for your designs') + %p.center + - requirements_link_url = help_page_path('user/project/issues/design_management', anchor: 'requirements') + - requirements_link_start = ''.html_safe % { url: requirements_link_url } + - support_link_start = ''.html_safe % { url: support_url } + - link_end = ''.html_safe + = s_("DesignManagement|To enable design management, you'll need to %{requirements_link_start}meet the requirements%{requirements_link_end}. If you need help, reach out to our %{support_link_start}support team%{support_link_end} for assistance.").html_safe % { requirements_link_start: requirements_link_start, requirements_link_end: link_end, support_link_start: support_link_start, support_link_end: link_end } diff --git a/app/views/projects/issues/_issue.html.haml b/app/views/projects/issues/_issue.html.haml index 54002b9ca2e..1bf0c8eb031 100644 --- a/app/views/projects/issues/_issue.html.haml +++ b/app/views/projects/issues/_issue.html.haml @@ -6,12 +6,13 @@ = check_box_tag dom_id(issue, "selected"), nil, false, 'data-id' => issue.id, class: "selected-issuable" .issuable-info-container .issuable-main-info - .issue-title.title + .issue-title.title.d-flex.align-items-center %span.issue-title-text.js-onboarding-issue-item{ dir: "auto" } - if issue.confidential? %span.has-tooltip{ title: _('Confidential') } = confidential_icon(issue) = link_to issue.title, issue_path(issue) + = render_if_exists 'projects/issues/subepic_flag', issue: issue - if issue.tasks? %span.task-status.d-none.d-sm-inline-block   @@ -24,7 +25,7 @@ · opened #{time_ago_with_tooltip(issue.created_at, placement: 'bottom')} by #{link_to_member(@project, issue.author, avatar: false)} - = gitlab_team_member_badge(issue.author) + = render_if_exists 'shared/issuable/gitlab_team_member_badge', {author: issue.author} - if issue.milestone %span.issuable-milestone.d-none.d-sm-inline-block   diff --git a/app/views/projects/issues/_related_branches.html.haml b/app/views/projects/issues/_related_branches.html.haml index 69b030ed76a..0604e89be6e 100644 --- a/app/views/projects/issues/_related_branches.html.haml +++ b/app/views/projects/issues/_related_branches.html.haml @@ -4,11 +4,9 @@ %ul.unstyled-list.related-merge-requests - @related_branches.each do |branch| %li - - target = @project.repository.find_branch(branch).dereferenced_target - - pipeline = @project.pipeline_for(branch, target.sha) if target - - if can?(current_user, :read_pipeline, pipeline) + - if branch[:pipeline_status].present? %span.related-branch-ci-status - = render 'ci/status/icon', status: pipeline.detailed_status(current_user) + = render 'ci/status/icon', status: branch[:pipeline_status] %span.related-branch-info %strong - = link_to branch, project_compare_path(@project, from: @project.default_branch, to: branch), class: "ref-name" + = link_to branch[:name], branch[:link], class: "ref-name" diff --git a/app/views/projects/issues/_tabs.html.haml b/app/views/projects/issues/_tabs.html.haml new file mode 100644 index 00000000000..d998a01623f --- /dev/null +++ b/app/views/projects/issues/_tabs.html.haml @@ -0,0 +1,14 @@ +%ul.nav-tabs.nav.nav-links{ role: 'tablist' } + %li + = link_to '#discussion-tab', class: 'active js-issue-tabs', id: 'discussion', role: 'tab', 'aria-controls': 'js-discussion', 'aria-selected': 'true', data: { toggle: 'tab', target: '#discussion-tab', qa_selector: 'discussion_tab_link' } do + = _('Discussion') + %span.badge.badge-pill.js-discussions-count + %li + = link_to '#designs-tab', class: 'js-issue-tabs', id: 'designs', role: 'tab', 'aria-controls': 'js-designs', 'aria-selected': 'false', data: { toggle: 'tab', target: '#designs-tab', qa_selector: 'designs_tab_link' } do + = _('Designs') + %span.badge.badge-pill.js-designs-count +.tab-content + #discussion-tab.tab-pane.show.active{ role: 'tabpanel', 'aria-labelledby': 'discussion', data: { qa_selector: 'discussion_tab_content' } } + = render 'projects/issues/discussion' + #designs-tab.tab-pane{ role: 'tabpanel', 'aria-labelledby': 'designs', data: { qa_selector: 'designs_tab_content' } } + = render 'projects/issues/design_management' diff --git a/app/views/projects/issues/export_csv/_modal.html.haml b/app/views/projects/issues/export_csv/_modal.html.haml index af3a087ca59..9fdeb901b56 100644 --- a/app/views/projects/issues/export_csv/_modal.html.haml +++ b/app/views/projects/issues/export_csv/_modal.html.haml @@ -1,4 +1,3 @@ --# haml-lint:disable NoPlainNodes - if current_user .issues-export-modal.modal .modal-dialog diff --git a/app/views/projects/issues/index.html.haml b/app/views/projects/issues/index.html.haml index 2633a3899f7..0aef4e39466 100644 --- a/app/views/projects/issues/index.html.haml +++ b/app/views/projects/issues/index.html.haml @@ -6,6 +6,12 @@ = content_for :meta_tags do = auto_discovery_link_tag(:atom, safe_params.merge(rss_url_options).to_h, title: "#{@project.name} issues") +- if @project.jira_issues_import_feature_flag_enabled? + .js-projects-issues-root{ data: { can_edit: can?(current_user, :admin_project, @project).to_s, + is_jira_configured: @project.jira_service.present?.to_s, + issues_path: project_issues_path(@project), + project_path: @project.full_path } } + - if project_issues(@project).exists? .top-area = render 'shared/issuable/nav', type: :issues diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index 4fc67884584..c8ffa2e3720 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -10,6 +10,8 @@ - can_report_spam = @issue.submittable_as_spam_by?(current_user) - can_create_issue = show_new_issue_link?(@project) += render_if_exists "projects/issues/alert_blocked", issue: @issue, current_user: current_user + .detail-page-header .detail-page-header-body .issuable-status-box.status-box.status-box-issue-closed{ class: issue_status_visibility(@issue, status_box: :closed) } @@ -50,7 +52,7 @@ %li.divider %li= link_to 'New issue', new_project_issue_path(@project), id: 'new_issue_link' - = render 'shared/issuable/close_reopen_button', issuable: @issue, can_update: can_update_issue, can_reopen: can_reopen_issue + = render 'shared/issuable/close_reopen_button', issuable: @issue, can_update: can_update_issue, can_reopen: can_reopen_issue, warn_before_close: defined?(@issue.blocked?) && @issue.blocked? - if can_report_spam = link_to 'Submit as spam', mark_as_spam_project_issue_path(@project, @issue), method: :post, class: 'd-none d-sm-none d-md-block btn btn-grouped btn-spam', title: 'Submit as spam' @@ -84,13 +86,13 @@ .content-block.emoji-block.emoji-block-sticky .row - .col-md-12.col-lg-6.js-noteable-awards + .col-md-12.col-lg-4.js-noteable-awards = render 'award_emoji/awards_block', awardable: @issue, inline: true - .col-md-12.col-lg-6.new-branch-col + .col-md-12.col-lg-8.new-branch-col #js-vue-sort-issue-discussions #js-vue-discussion-filter{ data: { default_filter: current_user&.notes_filter_for(@issue), notes_filters: UserPreference.notes_filters.to_json } } = render 'new_branch' if show_new_branch_button? - = render_if_exists 'projects/issues/discussion' + = render 'projects/issues/tabs' = render 'shared/issuable/sidebar', issuable_sidebar: @issuable_sidebar, assignees: @issue.assignees diff --git a/app/views/projects/labels/index.html.haml b/app/views/projects/labels/index.html.haml index 0373e37818d..760d81136c6 100644 --- a/app/views/projects/labels/index.html.haml +++ b/app/views/projects/labels/index.html.haml @@ -22,13 +22,13 @@ .content-list.manage-labels-list.js-prioritized-labels{ data: { url: set_priorities_project_labels_path(@project), sortable: can_admin_label } } #js-priority-labels-empty-state.priority-labels-empty-state{ class: "#{'hidden' unless @prioritized_labels.empty? && search.blank?}" } = render 'shared/empty_states/priority_labels' - - if @prioritized_labels.present? + - if @prioritized_labels.any? = render partial: 'shared/label', collection: @prioritized_labels, as: :label, locals: { force_priority: true, subject: @project } - elsif search.present? .nothing-here-block = _('No prioritized labels with such name or description') - - if @labels.present? + - if @labels.any? .other-labels %h5{ class: ('hide' if hide) }= _('Other Labels') .content-list.manage-labels-list.js-other-labels diff --git a/app/views/projects/merge_requests/_how_to_merge.html.haml b/app/views/projects/merge_requests/_how_to_merge.html.haml index 9cdbbe7204b..a2da0e707d3 100644 --- a/app/views/projects/merge_requests/_how_to_merge.html.haml +++ b/app/views/projects/merge_requests/_how_to_merge.html.haml @@ -53,4 +53,4 @@ %strong Tip: = succeed '.' do You can also checkout merge requests locally by - = link_to 'following these guidelines', help_page_path('user/project/merge_requests/index.md', anchor: "checkout-merge-requests-locally"), target: '_blank', rel: 'noopener noreferrer' + = link_to 'following these guidelines', help_page_path('user/project/merge_requests/reviewing_and_managing_merge_requests.md', anchor: "checkout-merge-requests-locally"), target: '_blank', rel: 'noopener noreferrer' diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml index f7f5388a54a..a753ee50c43 100644 --- a/app/views/projects/merge_requests/_merge_request.html.haml +++ b/app/views/projects/merge_requests/_merge_request.html.haml @@ -20,7 +20,7 @@ · opened #{time_ago_with_tooltip(merge_request.created_at, placement: 'bottom')} by #{link_to_member(@project, merge_request.author, avatar: false)} - = gitlab_team_member_badge(merge_request.author) + = render_if_exists 'shared/issuable/gitlab_team_member_badge', {author: merge_request.author} - if merge_request.milestone %span.issuable-milestone.d-none.d-sm-inline-block   diff --git a/app/views/projects/merge_requests/_widget.html.haml b/app/views/projects/merge_requests/_widget.html.haml index 1853d40c2e4..6aba5c98d52 100644 --- a/app/views/projects/merge_requests/_widget.html.haml +++ b/app/views/projects/merge_requests/_widget.html.haml @@ -8,6 +8,7 @@ window.gl.mrWidgetData.squash_before_merge_help_path = '#{help_page_path("user/project/merge_requests/squash_and_merge")}'; window.gl.mrWidgetData.troubleshooting_docs_path = '#{help_page_path('user/project/merge_requests/reviewing_and_managing_merge_requests.md', anchor: 'troubleshooting')}'; + window.gl.mrWidgetData.pipeline_must_succeed_docs_path = '#{help_page_path('user/project/merge_requests/merge_when_pipeline_succeeds.md', anchor: 'only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds')}'; window.gl.mrWidgetData.security_approvals_help_page_path = '#{help_page_path('user/application_security/index.html', anchor: 'security-approvals-in-merge-requests-ultimate')}'; window.gl.mrWidgetData.eligible_approvers_docs_path = '#{help_page_path('user/project/merge_requests/merge_request_approvals', anchor: 'eligible-approvers')}'; window.gl.mrWidgetData.pipelines_empty_svg_path = '#{image_path('illustrations/pipelines_empty.svg')}'; diff --git a/app/views/projects/merge_requests/creations/update_branches.html.haml b/app/views/projects/merge_requests/creations/update_branches.html.haml deleted file mode 100644 index 64482973a89..00000000000 --- a/app/views/projects/merge_requests/creations/update_branches.html.haml +++ /dev/null @@ -1,3 +0,0 @@ -= render 'projects/merge_requests/dropdowns/branch', -branches: @target_branches, -selected: nil diff --git a/app/views/projects/mirrors/_mirror_repos.html.haml b/app/views/projects/mirrors/_mirror_repos.html.haml index 4004c4f4b07..38e4fbf73e0 100644 --- a/app/views/projects/mirrors/_mirror_repos.html.haml +++ b/app/views/projects/mirrors/_mirror_repos.html.haml @@ -10,7 +10,7 @@ = expanded ? _('Collapse') : _('Expand') %p = _('Set up your project to automatically push and/or pull changes to/from another repository. Branches, tags, and commits will be synced automatically.') - = link_to _('Read more'), help_page_path('workflow/repository_mirroring'), target: '_blank' + = link_to _('Read more'), help_page_path('user/project/repository/repository_mirroring.md'), target: '_blank' .settings-content - if mirror_settings_enabled diff --git a/app/views/projects/mirrors/_mirror_repos_push.html.haml b/app/views/projects/mirrors/_mirror_repos_push.html.haml index 8482424a184..9b5b31bfc15 100644 --- a/app/views/projects/mirrors/_mirror_repos_push.html.haml +++ b/app/views/projects/mirrors/_mirror_repos_push.html.haml @@ -1,15 +1,13 @@ - protocols = Gitlab::UrlSanitizer::ALLOWED_SCHEMES.join('|') -- keep_divergent_refs = Feature.enabled?(:keep_divergent_refs, @project) = f.fields_for :remote_mirrors, @project.remote_mirrors.build do |rm_f| = rm_f.hidden_field :enabled, value: '1' = rm_f.hidden_field :url, class: 'js-mirror-url-hidden', required: true, pattern: "(#{protocols}):\/\/.+" = rm_f.hidden_field :only_protected_branches, class: 'js-mirror-protected-hidden' - - if keep_divergent_refs - = rm_f.hidden_field :keep_divergent_refs, class: 'js-mirror-keep-divergent-refs-hidden' + = rm_f.hidden_field :keep_divergent_refs, class: 'js-mirror-keep-divergent-refs-hidden' = render partial: 'projects/mirrors/ssh_host_keys', locals: { f: rm_f } = render partial: 'projects/mirrors/authentication_method', locals: { f: rm_f } - - if keep_divergent_refs - .form-check.append-bottom-10 - = check_box_tag :keep_divergent_refs, '1', false, class: 'js-mirror-keep-divergent-refs form-check-input' - = label_tag :keep_divergent_refs, 'Keep divergent refs', class: 'form-check-label' + .form-check.append-bottom-10 + = check_box_tag :keep_divergent_refs, '1', false, class: 'js-mirror-keep-divergent-refs form-check-input' + = label_tag :keep_divergent_refs, _('Keep divergent refs'), class: 'form-check-label' + = link_to icon('question-circle'), help_page_path('user/project/repository/repository_mirroring', anchor: 'keep-divergent-refs-core'), target: '_blank' diff --git a/app/views/projects/new.html.haml b/app/views/projects/new.html.haml index 3ff4ab354b9..c18af6a267b 100644 --- a/app/views/projects/new.html.haml +++ b/app/views/projects/new.html.haml @@ -18,7 +18,7 @@ = _('All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings.') = render_if_exists 'projects/new_ci_cd_banner_external_repo' %p - - pages_getting_started_guide = link_to _('Pages getting started guide'), help_page_path("user/project/pages/getting_started_part_two", anchor: "fork-a-project-to-get-started-from"), target: '_blank' + - pages_getting_started_guide = link_to _('Pages getting started guide'), help_page_path("user/project/pages/index", anchor: "getting-started"), target: '_blank' = _('Information about additional Pages templates and how to install them can be found in our %{pages_getting_started_guide}.').html_safe % { pages_getting_started_guide: pages_getting_started_guide } .md = brand_new_project_guidelines diff --git a/app/views/projects/pipelines/_with_tabs.html.haml b/app/views/projects/pipelines/_with_tabs.html.haml index 37ca020cfb6..e39f543d42e 100644 --- a/app/views/projects/pipelines/_with_tabs.html.haml +++ b/app/views/projects/pipelines/_with_tabs.html.haml @@ -1,4 +1,5 @@ -- test_reports_enabled = Feature.enabled?(:junit_pipeline_view) +- test_reports_enabled = Feature.enabled?(:junit_pipeline_view, @project) +- dag_pipeline_tab_enabled = Feature.enabled?(:dag_pipeline_tab) .tabs-holder %ul.pipelines-tabs.nav-links.no-top.no-bottom.mobile-separator.nav.nav-tabs @@ -9,6 +10,10 @@ = link_to builds_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-builds', action: 'builds', toggle: 'tab' }, class: 'builds-tab' do = _('Jobs') %span.badge.badge-pill.js-builds-counter= pipeline.total_size + - if dag_pipeline_tab_enabled + %li.js-dag-tab-link + = link_to dag_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-dag', action: 'dag', toggle: 'tab' }, class: 'dag-tab' do + = _('DAG') - if @pipeline.failed_builds.present? %li.js-failures-tab-link = link_to failures_project_pipeline_path(@project, @pipeline), data: { target: '#js-tab-failures', action: 'failures', toggle: 'tab' }, class: 'failures-tab' do @@ -75,6 +80,9 @@ %code.bash.js-build-output = build_summary(build) + - if dag_pipeline_tab_enabled + #js-tab-dag.tab-pane + #js-tab-tests.tab-pane #js-pipeline-tests-detail = render_if_exists "projects/pipelines/tabs_content", pipeline: @pipeline, project: @project diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml index f64f07487fd..64789c7c263 100644 --- a/app/views/projects/pipelines/index.html.haml +++ b/app/views/projects/pipelines/index.html.haml @@ -3,6 +3,7 @@ = render_if_exists "shared/shared_runners_minutes_limit_flash_message" #pipelines-list-vue{ data: { endpoint: project_pipelines_path(@project, format: :json), + project_id: @project.id, "help-page-path" => help_page_path('ci/quick_start/README'), "help-auto-devops-path" => help_page_path('topics/autodevops/index.md'), "empty-state-svg-path" => image_path('illustrations/pipelines_empty.svg'), diff --git a/app/views/projects/services/_deprecated_message.html.haml b/app/views/projects/services/_deprecated_message.html.haml deleted file mode 100644 index fea9506a4bb..00000000000 --- a/app/views/projects/services/_deprecated_message.html.haml +++ /dev/null @@ -1,3 +0,0 @@ -.flash-container.flash-container-page - .flash-alert.deprecated-service - %span= @service.deprecation_message diff --git a/app/views/projects/services/_form.html.haml b/app/views/projects/services/_form.html.haml index 0dbd6a48ec5..3f91bdc4266 100644 --- a/app/views/projects/services/_form.html.haml +++ b/app/views/projects/services/_form.html.haml @@ -1,19 +1,19 @@ .row.prepend-top-default.append-bottom-default - .col-lg-3 + .col-lg-4 %h4.prepend-top-0 = @service.title - [true, false].each do |value| - - hide_class = 'd-none' if @service.activated? != value + - hide_class = 'd-none' if @service.operating? != value %span.js-service-active-status{ class: hide_class, data: { value: value.to_s } } = boolean_to_icon value - if @service.respond_to?(:detailed_description) %p= @service.detailed_description - .col-lg-9 + .col-lg-8 = form_for(@service, as: :service, url: scoped_integration_path(@service), method: :put, html: { class: 'gl-show-field-errors integration-settings-form js-integration-settings-form', data: { 'can-test' => @service.can_test?, 'test-url' => test_project_service_path(@project, @service) } }) do |form| = render 'shared/service_settings', form: form, service: @service .footer-block.row-content-block - = service_save_button(@service) + = service_save_button   = link_to _('Cancel'), project_settings_integrations_path(@project), class: 'btn btn-cancel' diff --git a/app/views/projects/services/_index.html.haml b/app/views/projects/services/_index.html.haml deleted file mode 100644 index dca324ac846..00000000000 --- a/app/views/projects/services/_index.html.haml +++ /dev/null @@ -1,30 +0,0 @@ -.row.prepend-top-default - .col-lg-4 - %h4.prepend-top-0 - = _('Integrations') - %p= _('Integrations allow you to integrate GitLab with other applications') - .col-lg-8 - %table.table - %colgroup - %col - %col - %col - %col{ width: "120" } - %thead - %tr - %th - %th= _('Integration') - %th.d-none.d-sm-block= _("Description") - %th= s_("ProjectService|Last edit") - - @services.sort_by(&:title).each do |service| - %tr - %td{ "aria-label" => (service.activated? ? s_("ProjectService|%{service_title}: status on") : s_("ProjectService|%{service_title}: status off")) % { service_title: service.title } } - = boolean_to_icon service.activated? - %td - = link_to edit_project_service_path(@project, service.to_param), { data: { qa_selector: "#{service.title.downcase.gsub(/[\s\(\)]/,'_')}_link" } } do - %strong= service.title - %td.d-none.d-sm-block - = service.description - %td.light - - if service.updated_at.present? - = time_ago_with_tooltip service.updated_at diff --git a/app/views/projects/services/edit.html.haml b/app/views/projects/services/edit.html.haml index 4195dce7780..1aaea50c8d5 100644 --- a/app/views/projects/services/edit.html.haml +++ b/app/views/projects/services/edit.html.haml @@ -1,8 +1,7 @@ - breadcrumb_title @service.title - add_to_breadcrumbs _('Integration Settings'), project_settings_integrations_path(@project) - page_title @service.title, _('Integrations') - -= render 'deprecated_message' if @service.deprecation_message +- @content_class = 'limit-container-width' unless fluid_layout = render 'form' - if @web_hook_logs diff --git a/app/views/projects/services/prometheus/_custom_metrics.html.haml b/app/views/projects/services/prometheus/_custom_metrics.html.haml index 21f9d1125e0..210d0f37d65 100644 --- a/app/views/projects/services/prometheus/_custom_metrics.html.haml +++ b/app/views/projects/services/prometheus/_custom_metrics.html.haml @@ -6,14 +6,14 @@ = link_to s_('PrometheusService|More information'), help_page_path('user/project/integrations/prometheus', anchor: 'adding-custom-metrics'), target: '_blank', rel: "noopener noreferrer" .col-lg-9 - .card.custom-monitored-metrics.js-panel-custom-monitored-metrics{ data: { active_custom_metrics: project_prometheus_metrics_path(project), environments_data: environments_list_data, service_active: "#{@service.active}" } } + .card.custom-monitored-metrics.js-panel-custom-monitored-metrics{ data: { qa_selector: 'custom_metrics_container', active_custom_metrics: project_prometheus_metrics_path(project), environments_data: environments_list_data, service_active: "#{@service.active}" } } .card-header %strong = s_('PrometheusService|Custom metrics') -# haml-lint:disable NoPlainNodes %span.badge.badge-pill.js-custom-monitored-count 0 -# haml-lint:enable NoPlainNodes - = link_to s_('PrometheusService|New metric'), new_project_prometheus_metric_path(project), class: 'btn btn-success js-new-metric-button hidden' + = link_to s_('PrometheusService|New metric'), new_project_prometheus_metric_path(project), class: 'btn btn-success js-new-metric-button hidden', data: { qa_selector: 'new_metric_button' } .card-body .flash-container.hidden .flash-warning diff --git a/app/views/projects/services/slack_slash_commands/_help.html.haml b/app/views/projects/services/slack_slash_commands/_help.html.haml index 93ea17a3a3d..0cf78d4f681 100644 --- a/app/views/projects/services/slack_slash_commands/_help.html.haml +++ b/app/views/projects/services/slack_slash_commands/_help.html.haml @@ -57,7 +57,7 @@ .form-group = label_tag nil, _('Customize icon'), class: 'col-12 col-form-label label-bold' .col-12 - = image_tag(asset_url('slash-command-logo.png'), width: 36, height: 36, class: 'mr-3') + = image_tag(asset_url('slash-command-logo.png', skip_pipeline: true), width: 36, height: 36, class: 'mr-3') = link_to(_('Download image'), asset_url('gitlab_logo.png'), class: 'btn btn-sm', target: '_blank', rel: 'noopener noreferrer') .form-group diff --git a/app/views/projects/settings/_general.html.haml b/app/views/projects/settings/_general.html.haml index 0f60fc18026..5eeebe4160f 100644 --- a/app/views/projects/settings/_general.html.haml +++ b/app/views/projects/settings/_general.html.haml @@ -16,7 +16,7 @@ .row .form-group.col-md-9 - = f.label :tag_list, _('Topics'), class: 'label-bold' + = f.label :tag_list, _('Topics (optional)'), class: 'label-bold' = f.text_field :tag_list, value: @project.tag_list.join(', '), maxlength: 2000, class: "form-control" %p.form-text.text-muted= _('Separate topics with commas.') diff --git a/app/views/projects/settings/access_tokens/index.html.haml b/app/views/projects/settings/access_tokens/index.html.haml new file mode 100644 index 00000000000..07784dce677 --- /dev/null +++ b/app/views/projects/settings/access_tokens/index.html.haml @@ -0,0 +1,34 @@ +- breadcrumb_title s_('AccessTokens|Access Tokens') +- page_title _('Project Access Tokens') +- type = _('project access token') +- type_plural = _('project access tokens') +- @content_class = 'limit-container-width' unless fluid_layout + +.row.prepend-top-default + .col-lg-4.profile-settings-sidebar + %h4.prepend-top-0 + = page_title + %p + = _('You can generate an access token scoped to this project for each application to use the GitLab API.') + %p + = _('You can also use project access tokens to authenticate against Git over HTTP.') + + .col-lg-8 + - if @new_project_access_token + = render 'shared/access_tokens/created_container', + type: type, + new_token_value: @new_project_access_token + + = render 'shared/access_tokens/form', + type: type, + path: project_settings_access_tokens_path(@project), + token: @project_access_token, + scopes: @scopes, + prefix: :project_access_token + + = render 'shared/access_tokens/table', + active_tokens: @active_project_access_tokens, + type: type, + type_plural: type_plural, + revoke_route_helper: ->(token) { revoke_namespace_project_settings_access_token_path(id: token) }, + no_active_tokens_message: _('This project has no active access tokens.') diff --git a/app/views/projects/settings/ci_cd/_autodevops_form.html.haml b/app/views/projects/settings/ci_cd/_autodevops_form.html.haml index 6702786fdb3..8b84acb67c1 100644 --- a/app/views/projects/settings/ci_cd/_autodevops_form.html.haml +++ b/app/views/projects/settings/ci_cd/_autodevops_form.html.haml @@ -30,7 +30,7 @@ .card-footer.js-extra-settings{ class: auto_devops_enabled || 'hidden' } - if @project.all_clusters.empty? %p.settings-message.text-center - = s_('CICD|You must add a %{kubernetes_cluster_link_start}Kubernetes cluster integration%{link_end} to this project with a domain in order for your deployment strategy to work correctly.').html_safe % { kubernetes_cluster_link_start: kubernetes_cluster_link_start, link_end: link_end } + = s_('CICD|Add a %{kubernetes_cluster_link_start}Kubernetes cluster integration%{link_end} with a domain or create an AUTO_DEVOPS_PLATFORM_TARGET CI variable.').html_safe % { kubernetes_cluster_link_start: kubernetes_cluster_link_start, link_end: link_end } - elsif !has_base_domain %p.settings-message.text-center = s_('CICD|You must add a %{base_domain_link_start}base domain%{link_end} to your %{kubernetes_cluster_link_start}Kubernetes cluster%{link_end} in order for your deployment strategy to work.').html_safe % { base_domain_link_start: base_domain_link_start, kubernetes_cluster_link_start: kubernetes_cluster_link_start, link_end: link_end } diff --git a/app/views/projects/settings/ci_cd/_form.html.haml b/app/views/projects/settings/ci_cd/_form.html.haml index 4040b1094aa..b50f712922f 100644 --- a/app/views/projects/settings/ci_cd/_form.html.haml +++ b/app/views/projects/settings/ci_cd/_form.html.haml @@ -103,7 +103,7 @@ .input-group %span.input-group-prepend .input-group-text / - = f.text_field :build_coverage_regex, class: 'form-control', placeholder: 'Regular expression' + = f.text_field :build_coverage_regex, class: 'form-control', placeholder: 'Regular expression', data: { qa_selector: 'build_coverage_regex_field' } %span.input-group-append .input-group-text / %p.form-text.text-muted @@ -143,7 +143,7 @@ go test -cover (Go) %code coverage: \d+.\d+% of statements - = f.submit _('Save changes'), class: "btn btn-success" + = f.submit _('Save changes'), class: "btn btn-success", data: { qa_selector: 'save_general_pipelines_changes_button' } %hr diff --git a/app/views/projects/settings/ci_cd/show.html.haml b/app/views/projects/settings/ci_cd/show.html.haml index 1358077f2b2..4e14426a069 100644 --- a/app/views/projects/settings/ci_cd/show.html.haml +++ b/app/views/projects/settings/ci_cd/show.html.haml @@ -5,7 +5,7 @@ - expanded = expanded_by_default? - general_expanded = @project.errors.empty? ? expanded : true -%section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded) } +%section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded), data: { qa_selector: 'general_pipelines_settings_content' } } .settings-header %h4 = _("General pipelines") diff --git a/app/views/projects/settings/integrations/show.html.haml b/app/views/projects/settings/integrations/show.html.haml index f603f23a2c7..4372763fcf7 100644 --- a/app/views/projects/settings/integrations/show.html.haml +++ b/app/views/projects/settings/integrations/show.html.haml @@ -12,4 +12,6 @@ .gl-alert-actions = link_to _('Go to Webhooks'), project_hooks_path(@project), class: 'btn gl-alert-action btn-info new-gl-button' -= render 'projects/services/index' +%h4= s_('Integrations') +%p= s_('Integrations allow you to integrate GitLab with other applications') += render 'shared/integrations/index', integrations: @services diff --git a/app/views/projects/settings/operations/_incidents.html.haml b/app/views/projects/settings/operations/_incidents.html.haml index a96a41b78c2..92fffa42b73 100644 --- a/app/views/projects/settings/operations/_incidents.html.haml +++ b/app/views/projects/settings/operations/_incidents.html.haml @@ -2,7 +2,7 @@ - setting = project_incident_management_setting - templates = setting.available_issue_templates.map { |t| [t.name, t.key] } -%section.settings.no-animate.qa-incident-management-settings +%section.settings.no-animate.qa-incident-management-settings{ data: { qa_selector: 'incidents_settings_content' } } .settings-header %h3{ :class => "h4" }= _('Incidents') %button.btn.js-settings-toggle{ type: 'button' } @@ -17,16 +17,16 @@ .form-group = f.fields_for :incident_management_setting_attributes, setting do |form| .form-group - = form.check_box :create_issue + = form.check_box :create_issue, data: { qa_selector: 'create_issue_checkbox' } = form.label :create_issue, _('Create an issue. Issues are created for each alert triggered.'), class: 'form-check-label' .form-group.col-sm-8 = form.label :issue_template_key, class: 'label-bold' do = _('Issue template (optional)') = link_to icon('question-circle'), help_page_path('user/project/description_templates', anchor: 'creating-issue-templates'), target: '_blank', rel: 'noopener noreferrer' .select-wrapper - = form.select :issue_template_key, templates, {include_blank: 'No template selected'}, class: "form-control select-control" + = form.select :issue_template_key, templates, {include_blank: 'No template selected'}, class: "form-control select-control", data: { qa_selector: 'incident_templates_dropdown' } = icon('chevron-down') .form-group = form.check_box :send_email = form.label :send_email, _('Send a separate email notification to Developers.'), class: 'form-check-label' - = f.submit _('Save changes'), class: 'btn btn-success' + = f.submit _('Save changes'), class: 'btn btn-success', data: { qa_selector: 'save_changes_button' } diff --git a/app/views/projects/settings/repository/show.html.haml b/app/views/projects/settings/repository/show.html.haml index 193053c8c97..24fc137fd29 100644 --- a/app/views/projects/settings/repository/show.html.haml +++ b/app/views/projects/settings/repository/show.html.haml @@ -1,7 +1,7 @@ - breadcrumb_title _("Repository Settings") - page_title _("Repository") - @content_class = "limit-container-width" unless fluid_layout -- deploy_token_description = s_('DeployTokens|Deploy tokens allow access to your repository and registry images.') +- deploy_token_description = s_('DeployTokens|Deploy tokens allow access to packages, your repository, and registry images.') = render "projects/default_branch/show" = render_if_exists "projects/push_rules/index" diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml index ccf109968fc..7cf5de8947c 100644 --- a/app/views/projects/snippets/show.html.haml +++ b/app/views/projects/snippets/show.html.haml @@ -3,7 +3,7 @@ - breadcrumb_title @snippet.to_reference - page_title "#{@snippet.title} (#{@snippet.to_reference})", _("Snippets") -- if Feature.enabled?(:snippets_vue) +- if Feature.enabled?(:snippets_vue, default_enabled: true) #js-snippet-view{ data: {'qa-selector': 'snippet_view', 'snippet-gid': @snippet.to_global_id} } - else = render 'shared/snippets/header' diff --git a/app/views/projects/tags/_tag.html.haml b/app/views/projects/tags/_tag.html.haml index 75805192a61..da693a15ec2 100644 --- a/app/views/projects/tags/_tag.html.haml +++ b/app/views/projects/tags/_tag.html.haml @@ -30,6 +30,9 @@ = markdown_field(release, :description) .row-fixed-content.controls.flex-row + - if tag.has_signature? + = render partial: 'projects/commit/signature', object: tag.signature + = render 'projects/buttons/download', project: @project, ref: tag.name, pipeline: @tags_pipelines[tag.name] - if can?(current_user, :admin_tag, @project) diff --git a/app/views/projects/tags/show.html.haml b/app/views/projects/tags/show.html.haml index 8086d47479d..6f53a687fb9 100644 --- a/app/views/projects/tags/show.html.haml +++ b/app/views/projects/tags/show.html.haml @@ -39,6 +39,8 @@ = s_("TagsPage|Can't find HEAD commit for this tag") .nav-controls + - if @tag.has_signature? + = render partial: 'projects/commit/signature', object: @tag.signature - if can?(current_user, :admin_tag, @project) = link_to edit_project_tag_release_path(@project, @tag.name), class: 'btn btn-edit controls-item has-tooltip', title: s_('TagsPage|Edit release notes') do = icon("pencil") diff --git a/app/views/projects/wikis/_sidebar.html.haml b/app/views/projects/wikis/_sidebar.html.haml index 0f2938686cc..2b8da83b126 100644 --- a/app/views/projects/wikis/_sidebar.html.haml +++ b/app/views/projects/wikis/_sidebar.html.haml @@ -17,6 +17,6 @@ %ul.wiki-pages = render @sidebar_wiki_entries, context: 'sidebar' .block.w-100 - - if @sidebar_wiki_entries&.length.to_i >= 15 + - if @sidebar_limited = link_to project_wikis_pages_path(@project), class: 'btn btn-block' do = s_("Wiki|View All Pages") diff --git a/app/views/projects/wikis/git_access.html.haml b/app/views/projects/wikis/git_access.html.haml index 6972eda9bb7..72c9f45779a 100644 --- a/app/views/projects/wikis/git_access.html.haml +++ b/app/views/projects/wikis/git_access.html.haml @@ -18,11 +18,6 @@ %pre.dark :preserve gem install gollum - %p - = (s_("WikiClone|It is recommended to install %{markdown} so that GFM features render locally:") % { markdown: "github-markdown" }).html_safe - %pre.dark - :preserve - gem install github-markdown %h3= s_("WikiClone|Clone your wiki") %pre.dark -- cgit v1.2.3