Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-05-31 15:09:02 +00:00
parent 8243505178
commit eb6b175049
214 changed files with 903 additions and 517 deletions

View File

@ -8,11 +8,6 @@ Style/OpenStructUse:
- ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb
- lib/gitlab/testing/request_inspector_middleware.rb
- spec/factories/wiki_pages.rb
- spec/graphql/mutations/branches/create_spec.rb
- spec/graphql/mutations/clusters/agent_tokens/create_spec.rb
- spec/graphql/mutations/clusters/agents/create_spec.rb
- spec/graphql/mutations/clusters/agents/delete_spec.rb
- spec/graphql/mutations/commits/create_spec.rb
- spec/helpers/application_settings_helper_spec.rb
- spec/helpers/profiles_helper_spec.rb
- spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb

View File

@ -101,9 +101,9 @@ export default {
<template>
<div>
<h3 class="page-title">
<h1 class="page-title">
{{ $options.i18n.pageTitle }}
</h3>
</h1>
<hr />
<gl-alert variant="info" :dismissible="false">
{{ $options.i18n.alertTitle }}

View File

@ -81,9 +81,9 @@ export default {
</script>
<template>
<div>
<h3 class="page-title">
<h1 class="page-title">
{{ title }}
</h3>
</h1>
<hr />
<div class="row gl-mt-3 gl-mb-3">
<div class="col-lg-3">

View File

@ -94,9 +94,9 @@ export default {
<template>
<header class="top-area gl-justify-content-between">
<div class="gl-display-flex gl-flex-grow-1 gl-align-items-center">
<h3 class="page-title">
<h1 class="page-title">
{{ environment.name }}
</h3>
</h1>
<p v-if="shouldShowCancelAutoStopButton" class="gl-mb-0 gl-ml-3" data-testid="auto-stops-at">
<gl-sprintf :message="$options.i18n.autoStopAtText">
<template #autoStopAt>

View File

@ -364,7 +364,6 @@ export default {
v-if="error.gitlabIssuePath"
data-qa-selector="view_issue_button"
:href="error.gitlabIssuePath"
variant="success"
>{{ __('View issue') }}</gl-dropdown-item
>
<gl-dropdown-item

View File

@ -24,7 +24,7 @@ export default {
</script>
<template>
<div>
<h3 class="page-title">{{ s__('FeatureFlags|New feature flag') }}</h3>
<h1 class="page-title">{{ s__('FeatureFlags|New feature flag') }}</h1>
<gl-alert v-if="error.length" variant="warning" class="gl-mb-5" :dismissible="false">
<p v-for="(message, index) in error" :key="index" class="gl-mb-0">{{ message }}</p>

View File

@ -254,7 +254,7 @@ export default {
</gl-sprintf>
</gl-alert>
<h3 class="page-title">{{ __('New Jira import') }}</h3>
<h1 class="page-title">{{ __('New Jira import') }}</h1>
<hr />

View File

@ -1,5 +1,5 @@
<script>
import { GlAlert, GlBadge, GlLink } from '@gitlab/ui';
import { GlAlert, GlBadge, GlLink, GlSprintf } from '@gitlab/ui';
import { s__ } from '~/locale';
/**
* Renders Stuck Runners block for job's view.
@ -9,6 +9,7 @@ export default {
GlAlert,
GlBadge,
GlLink,
GlSprintf,
},
props: {
hasOfflineRunnersForProject: {
@ -29,11 +30,15 @@ export default {
hasNoRunnersWithCorrespondingTags() {
return this.tags.length > 0;
},
protectedBranchSettingsDocsLink() {
return 'https://docs.gitlab.com/runner/security/index.html#reduce-the-security-risk-of-using-privileged-containers';
},
stuckData() {
if (this.hasNoRunnersWithCorrespondingTags) {
return {
text: s__(`Job|This job is stuck because you don't have
any active runners online or available with any of these tags assigned to them:`),
text: s__(
`Job|This job is stuck because of one of the following problems. There are no active runners online, no runners for the %{linkStart}protected branch%{linkEnd}, or no runners that match all of the job's tags:`,
),
dataTestId: 'job-stuck-with-tags',
showTags: true,
};
@ -59,7 +64,17 @@ export default {
<template>
<gl-alert variant="warning" :dismissible="false">
<p class="gl-mb-0" :data-testid="stuckData.dataTestId">
{{ stuckData.text }}
<gl-sprintf :message="stuckData.text">
<template #link="{ content }">
<a
class="gl-display-inline-block"
:href="protectedBranchSettingsDocsLink"
target="_blank"
>
{{ content }}
</a>
</template>
</gl-sprintf>
<template v-if="stuckData.showTags">
<gl-badge v-for="tag in tags" :key="tag" variant="info">
{{ tag }}

View File

@ -1,7 +1,12 @@
import { __ } from '~/locale';
<script>
import { GlForm, GlFormInput, GlButton } from '@gitlab/ui';
export default {
components: {
GlForm,
GlButton,
GlFormInput,
},
data() {
return {
inputEnabled: false,
@ -24,25 +29,26 @@ export default {
};
</script>
<template>
<div id="peek-view-add-request" class="view">
<form class="form-inline" @submit.prevent>
<button
class="btn-link bold gl-text-blue-300 gl-button"
type="button"
:title="__(`Add request manually`)"
<div id="peek-view-add-request" class="view gl-display-flex">
<gl-form class="gl-display-flex gl-align-items-center" @submit.prevent>
<gl-button
class="gl-text-blue-300! gl-mr-2"
category="tertiary"
variant="link"
icon="plus"
size="small"
:title="__('Add request manually')"
@click="toggleInput"
>
+
</button>
<input
/>
<gl-form-input
v-if="inputEnabled"
v-model="urlOrRequestId"
type="text"
:placeholder="__(`URL or request ID`)"
class="form-control form-control-sm d-inline-block ml-1"
class="gl-ml-2"
@keyup.enter="addRequest"
@keyup.esc="clearForm"
/>
</form>
</gl-form>
</div>
</template>

View File

@ -1,5 +1,5 @@
<script>
import { GlDeprecatedSkeletonLoading as GlSkeletonLoading } from '@gitlab/ui';
import { GlSkeletonLoader } from '@gitlab/ui';
import { createAlert } from '~/flash';
import runnerJobsQuery from '../graphql/show/runner_jobs.query.graphql';
import { I18N_FETCH_ERROR, I18N_NO_JOBS_FOUND, RUNNER_DETAILS_JOBS_PAGE_SIZE } from '../constants';
@ -11,7 +11,7 @@ import RunnerPagination from './runner_pagination.vue';
export default {
name: 'RunnerJobs',
components: {
GlSkeletonLoading,
GlSkeletonLoader,
RunnerJobsTable,
RunnerPagination,
},
@ -68,7 +68,9 @@ export default {
<template>
<div class="gl-pt-3">
<gl-skeleton-loading v-if="loading" class="gl-py-5" />
<div v-if="loading" class="gl-py-5">
<gl-skeleton-loader />
</div>
<runner-jobs-table v-else-if="jobs.items.length" :jobs="jobs.items" />
<p v-else>{{ $options.I18N_NO_JOBS_FOUND }}</p>

View File

@ -18,7 +18,7 @@
*/
import {
GlButton,
GlDeprecatedSkeletonLoading as GlSkeletonLoading,
GlSkeletonLoader,
GlTooltipDirective,
GlIcon,
GlSafeHtmlDirective as SafeHtml,
@ -46,7 +46,7 @@ export default {
noteHeader,
TimelineEntryItem,
GlButton,
GlSkeletonLoading,
GlSkeletonLoader,
},
directives: {
GlTooltip: GlTooltipDirective,
@ -172,7 +172,7 @@ export default {
</div>
<div v-if="shouldShowDescriptionVersion" class="description-version pt-2">
<pre v-if="isLoadingDescriptionVersion" class="loading-state">
<gl-skeleton-loading />
<gl-skeleton-loader />
</pre>
<pre v-else v-safe-html="descriptionVersion" class="wrapper mt-2"></pre>
<gl-button
@ -218,7 +218,9 @@ export default {
</tr>
</table>
</div>
<gl-skeleton-loading v-else-if="showLines" class="gl-mt-4" />
<div v-else-if="showLines" class="mt-4">
<gl-skeleton-loader />
</div>
</div>
</div>
</timeline-entry-item>

View File

@ -193,6 +193,7 @@ export default {
:key="label.id"
:label="label"
:is-label-set="label.set"
:is-label-indeterminate="label.indeterminate"
:highlight="index === currentHighlightItem"
@clickLabel="handleLabelClick(label)"
/>

View File

@ -1,5 +1,6 @@
<script>
import { GlLink, GlIcon } from '@gitlab/ui';
import { __ } from '~/locale';
export default {
functional: true,
@ -12,6 +13,11 @@ export default {
type: Boolean,
required: true,
},
isLabelIndeterminate: {
type: Boolean,
required: false,
default: false,
},
highlight: {
type: Boolean,
required: false,
@ -19,7 +25,7 @@ export default {
},
},
render(h, { props, listeners }) {
const { label, highlight, isLabelSet } = props;
const { label, highlight, isLabelSet, isLabelIndeterminate } = props;
const labelColorBox = h('span', {
class: 'dropdown-label-box gl-flex-shrink-0 gl-top-0 gl-mr-3',
@ -33,18 +39,36 @@ export default {
const checkedIcon = h(GlIcon, {
class: {
'gl-mr-3 gl-flex-shrink-0': true,
'gl-mr-3 gl-flex-shrink-0 has-tooltip': true,
hidden: !isLabelSet,
},
attrs: {
title: __('Selected for all items.'),
'data-testid': 'checked-icon',
},
props: {
name: 'mobile-issue-close',
},
});
const indeterminateIcon = h(GlIcon, {
class: {
'gl-mr-3 gl-flex-shrink-0 has-tooltip': true,
hidden: !isLabelIndeterminate,
},
attrs: {
title: __('Selected for some items.'),
'data-testid': 'indeterminate-icon',
},
props: {
name: 'dash',
},
});
const noIcon = h('span', {
class: {
'gl-mr-5 gl-pr-3': true,
hidden: isLabelSet,
hidden: isLabelSet || isLabelIndeterminate,
},
attrs: {
'data-testid': 'no-icon',
@ -63,7 +87,7 @@ export default {
},
},
},
[noIcon, checkedIcon, labelColorBox, labelTitle],
[noIcon, checkedIcon, indeterminateIcon, labelColorBox, labelTitle],
);
return h(

View File

@ -198,11 +198,12 @@ export default {
!state.showDropdownButton &&
!state.showDropdownContents
) {
let filterFn = (label) => label.touched;
if (this.isDropdownVariantEmbedded) {
filterFn = (label) => label.set;
}
this.handleDropdownClose(state.labels.filter(filterFn));
const filterTouchedLabelsFn = (label) => label.touched;
const filterSetLabelsFn = (label) => label.set;
const labels = this.isDropdownVariantEmbedded
? state.labels.filter(filterSetLabelsFn)
: state.labels.filter(filterTouchedLabelsFn);
this.handleDropdownClose(labels, state.labels.filter(filterTouchedLabelsFn));
}
},
/**
@ -265,11 +266,11 @@ export default {
isInDropdownContents
);
},
handleDropdownClose(labels) {
// Only emit label updates if there are any labels to update
// on UI.
handleDropdownClose(labels, touchedLabels) {
// Only emit label updates if there are any
// labels to update on UI.
if (labels.length) this.$emit('updateSelectedLabels', labels);
this.$emit('onDropdownClose');
this.$emit('onDropdownClose', touchedLabels);
},
handleCollapsedValueClick() {
this.$emit('toggleCollapse');

View File

@ -8,9 +8,10 @@ import { DropdownVariant } from '../constants';
* @param {object} state
*/
export const dropdownButtonText = (state, getters) => {
const selectedLabels = getters.isDropdownVariantSidebar
? state.labels.filter((label) => label.set)
: state.selectedLabels;
const selectedLabels =
getters.isDropdownVariantSidebar || getters.isDropdownVariantEmbedded
? state.labels.filter((label) => label.set || label.indeterminate)
: state.selectedLabels;
if (!selectedLabels.length) {
return state.dropdownButtonText || __('Label');

View File

@ -2,8 +2,39 @@ import { isScopedLabel, scopedLabelKey } from '~/lib/utils/common_utils';
import { DropdownVariant } from '../constants';
import * as types from './mutation_types';
const transformLabels = (labels, selectedLabels) =>
labels.map((label) => {
const selectedLabel = selectedLabels.find(({ id }) => id === label.id);
return {
...label,
set: Boolean(selectedLabel?.set),
indeterminate: Boolean(selectedLabel?.indeterminate),
};
});
export default {
[types.SET_INITIAL_STATE](state, props) {
// We need to ensure that selectedLabels have
// `set` & `indeterminate` properties defined.
if (props.selectedLabels?.length) {
props.selectedLabels.forEach((label) => {
/* eslint-disable no-param-reassign */
if (label.set === undefined && label.indeterminate === undefined) {
label.set = true;
label.indeterminate = false;
} else if (label.set === undefined && label.indeterminate !== undefined) {
label.set = false;
} else if (label.set !== undefined && label.indeterminate === undefined) {
label.indeterminate = false;
} else {
label.set = false;
label.indeterminate = false;
}
/* eslint-enable no-param-reassign */
});
}
Object.assign(state, { ...props });
},
@ -36,10 +67,7 @@ export default {
// selectedLabels array.
state.labelsFetchInProgress = false;
state.labelsFetched = true;
state.labels = labels.map((label) => ({
...label,
set: state.selectedLabels.some((selectedLabel) => selectedLabel.id === label.id),
}));
state.labels = transformLabels(labels, state.selectedLabels);
},
[types.RECEIVE_SET_LABELS_FAILURE](state) {
state.labelsFetchInProgress = false;
@ -62,7 +90,8 @@ export default {
const candidateLabel = state.labels.find((label) => labelId === label.id);
if (candidateLabel) {
candidateLabel.touched = true;
candidateLabel.set = !candidateLabel.set;
candidateLabel.set = candidateLabel.indeterminate ? true : !candidateLabel.set;
candidateLabel.indeterminate = false;
}
if (isScopedLabel(candidateLabel)) {
@ -80,9 +109,6 @@ export default {
},
[types.UPDATE_LABELS_SET_STATE](state) {
state.labels = state.labels.map((label) => ({
...label,
set: state.selectedLabels.some((selectedLabel) => selectedLabel.id === label.id),
}));
state.labels = transformLabels(state.labels, state.selectedLabels);
},
};

View File

@ -23,22 +23,8 @@ module Storage
former_parent_full_path = parent_was&.full_path
parent_full_path = parent&.full_path
Gitlab::UploadsTransfer.new.move_namespace(path, former_parent_full_path, parent_full_path)
if any_project_with_pages_deployed?
run_after_commit do
Gitlab::PagesTransfer.new.async.move_namespace(path, former_parent_full_path, parent_full_path)
end
end
else
Gitlab::UploadsTransfer.new.rename_namespace(full_path_before_last_save, full_path)
if any_project_with_pages_deployed?
full_path_was = full_path_before_last_save
run_after_commit do
Gitlab::PagesTransfer.new.async.rename_namespace(full_path_was, full_path)
end
end
end
# If repositories moved successfully we need to

View File

@ -95,20 +95,6 @@ module Projects
.new
.rename_project(path_before, project_path, namespace_full_path)
end
if project.pages_deployed?
# Block will be evaluated in the context of project so we need
# to bind to a local variable to capture it, as the instance
# variable and method aren't available on Project
path_before_local = @path_before
project.run_after_commit_or_now do
Gitlab::PagesTransfer
.new
.async
.rename_project(path_before_local, path, namespace.full_path)
end
end
end
def log_completion

View File

@ -120,7 +120,6 @@ module Projects
# Overridden in EE
def post_update_hooks(project)
move_pages(project)
ensure_personal_project_owner_membership(project)
end
@ -232,13 +231,6 @@ module Projects
)
end
def move_pages(project)
return unless project.pages_deployed?
transfer = Gitlab::PagesTransfer.new.async
transfer.move_project(project.path, @old_namespace.full_path, @new_namespace.full_path)
end
def old_wiki_repo_path
"#{old_path}#{::Gitlab::GlRepository::WIKI.path_suffix}"
end

View File

@ -1,5 +1,5 @@
- page_title _("Report abuse to admin")
%h3.page-title
%h1.page-title
= _("Report abuse to admin")
%p
= _("Please use this form to report to the admin users who create spam issues, comments or behave inappropriately.")

View File

@ -1,6 +1,6 @@
- page_title _('Abuse Reports')
%h3.page-title= _('Abuse Reports')
%h1.page-title= _('Abuse Reports')
.row-content-block.second-block
= form_tag admin_abuse_reports_path, method: :get, class: 'filter-form' do

View File

@ -2,7 +2,7 @@
- breadcrumb_title @application.name
- page_title _("Edit"), @application.name, _("Applications")
%h3.page-title
%h1.page-title
= _('Edit application')
- @url = admin_application_path(@application)
= render 'form', application: @application

View File

@ -1,6 +1,6 @@
- page_title s_('AdminArea|Instance OAuth applications')
%h3.page-title
%h1.page-title
= s_('AdminArea|Instance OAuth applications')
%p.light
- docs_link_path = help_page_path('integration/oauth_provider')

View File

@ -1,7 +1,7 @@
- breadcrumb_title _("Add new application")
- page_title _("Add new application")
%h3.page-title
%h1.page-title
= _("Add new application")
- @url = admin_applications_path
= render 'form', application: @application

View File

@ -1,6 +1,6 @@
- page_title @application.name, _("Applications")
%h3.page-title
%h1.page-title
Application: #{@application.name}
= render 'shared/doorkeeper/applications/show',

View File

@ -1,6 +1,6 @@
- page_title _("Background Jobs")
%h3.page-title= _('Background Jobs')
%h1.page-title= _('Background Jobs')
%p.light
- sidekiq_link_url = 'http://sidekiq.org/'
- sidekiq_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: sidekiq_link_url }

View File

@ -2,7 +2,7 @@
- page_title _("Broadcast Messages")
- targeted_broadcast_messages_enabled = Feature.enabled?(:role_targeted_broadcast_messages)
%h3.page-title
%h1.page-title
= _('Broadcast Messages')
%p.light
= _('Use banners and notifications to notify your users about scheduled maintenance, recent upgrades, and more.')

View File

@ -1,5 +1,5 @@
- page_title _('Edit Deploy Key')
%h3.page-title= _('Edit public deploy key')
%h1.page-title= _('Edit public deploy key')
%hr
%div

View File

@ -1,5 +1,5 @@
- page_title _('New Deploy Key')
%h3.page-title= _('New public deploy key')
%h1.page-title= _('New public deploy key')
%hr
%div

View File

@ -1,7 +1,7 @@
- breadcrumb_title _("Gitaly Servers")
- page_title _("Gitaly Servers")
%h3.page-title= _("Gitaly Servers")
%h1.page-title= _("Gitaly Servers")
%hr
.gitaly_servers
- if @gitaly_servers.any?

View File

@ -1,4 +1,4 @@
- page_title _("Edit"), @group.name, _("Groups")
%h3.page-title= _('Edit group: %{group_name}') % { group_name: @group.name }
%h1.page-title= _('Edit group: %{group_name}') % { group_name: @group.name }
%hr
= render 'form', visibility_level: @group.visibility_level

View File

@ -1,4 +1,4 @@
- page_title _("New Group")
%h3.page-title= _('New group')
%h1.page-title= _('New group')
%hr
= render 'form', visibility_level: default_group_visibility

View File

@ -4,7 +4,7 @@
- page_title @group.name, _("Groups")
- current_user_is_group_owner = @group && @group.has_owner?(current_user)
%h3.page-title
%h1.page-title
= _('Group: %{group_name}') % { group_name: @group.full_name }
= link_to admin_group_edit_path(@group), class: "btn btn-default gl-button float-right", data: { qa_selector: 'edit_group_link' } do

View File

@ -1,7 +1,7 @@
- page_title _('Health Check')
- no_errors = @errors.blank?
%h3.page-title= page_title
%h1.page-title= page_title
.bs-callout.clearfix
.float-left
%p

View File

@ -1,5 +1,5 @@
- page_title _('Request details')
%h3.page-title
%h1.page-title
= _("Request details")
%hr

View File

@ -2,7 +2,7 @@
- add_to_breadcrumbs @user.name, admin_user_identities_path(@user)
- breadcrumb_title _('Edit Identity')
- page_title _("Edit"), @identity.provider, _("Identities"), @user.name, _("Users")
%h3.page-title
%h1.page-title
= _('Edit identity for %{user_name}') % { user_name: @user.name }
%hr

View File

@ -2,6 +2,6 @@
- add_to_breadcrumbs @user.name, admin_user_identities_path(@user)
- breadcrumb_title _('New Identity')
- page_title _('New Identity')
%h3.page-title= _('New identity')
%h1.page-title= _('New identity')
%hr
= render 'form'

View File

@ -1,7 +1,7 @@
- add_to_breadcrumbs _("Labels"), admin_labels_path
- breadcrumb_title _("Edit Label")
- page_title _("Edit"), @label.name, _("Labels")
%h3.page-title
%h1.page-title
= _('Edit Label')
%hr
= render 'shared/labels/form', url: admin_label_path(@label), back_path: admin_labels_path

View File

@ -3,7 +3,7 @@
%div
= link_to new_admin_label_path, class: "float-right btn gl-button btn-confirm" do
= _('New label')
%h3.page-title
%h1.page-title
= _('Labels')
%hr
- if @labels.present?

View File

@ -1,5 +1,5 @@
- page_title _("New Label")
%h3.page-title
%h1.page-title
= _('New Label')
%hr
= render 'shared/labels/form', url: admin_labels_path, back_path: admin_labels_path

View File

@ -5,7 +5,7 @@
- @content_class = "admin-projects"
- current_user_is_group_owner = @group && @group.has_owner?(current_user)
%h3.page-title
%h1.page-title
= _('Project: %{name}') % { name: @project.full_name }
= link_to edit_project_path(@project), class: "btn btn-default gl-button float-right" do
= sprite_icon('pencil-square', css_class: 'gl-icon')

View File

@ -1,5 +1,5 @@
- page_title _("Spam Logs")
%h3.page-title= _('Spam Logs')
%h1.page-title= _('Spam Logs')
%hr
- if @spam_logs.present?
.table-holder

View File

@ -1,4 +1,4 @@
- page_title _("Edit"), @topic.name, _("Topics")
%h3.page-title= _('Edit topic: %{topic_name}') % { topic_name: @topic.name }
%h1.page-title= _('Edit topic: %{topic_name}') % { topic_name: @topic.name }
%hr
= render 'form', url: admin_topic_path(@topic)

View File

@ -1,4 +1,4 @@
- page_title _("New topic")
%h3.page-title= _('New topic')
%h1.page-title= _('New topic')
%hr
= render 'form', url: admin_topics_path(@topic)

View File

@ -1,6 +1,6 @@
.gl-display-flex.gl-flex-wrap.gl-justify-content-space-between.gl-align-items-center.gl-py-3.gl-mb-5.gl-border-b-solid.gl-border-gray-100.gl-border-b-1
.gl-my-3
%h3.page-title.gl-m-0
%h1.page-title.gl-m-0
= @user.name
- if @user.blocked_pending_approval?
%span.gl-text-red-500

View File

@ -1,5 +1,5 @@
- page_title _("Edit"), @user.name, _("Users")
%h3.page-title
%h1.page-title
= _("Edit user: %{user_name}") % { user_name: @user.name }
%hr
= render 'form'

View File

@ -1,5 +1,5 @@
- page_title _("New User")
%h3.page-title
%h1.page-title
= s_('AdminUsers|New user')
%hr
= render 'form'

View File

@ -1,5 +1,5 @@
- page_title _("Edit"), @application.name, _("Applications")
- @content_class = "limit-container-width" unless fluid_layout
%h3.page-title= _('Edit application')
%h1.page-title= _('Edit application')
= render 'shared/doorkeeper/applications/form', url: doorkeeper_submit_path(@application)

View File

@ -1,6 +1,6 @@
- page_title _("New Application")
%h3.page-title= _("New Application")
%h1.page-title= _("New Application")
%hr

View File

@ -3,7 +3,7 @@
- page_title @application.name, _("Applications")
- @content_class = "limit-container-width" unless fluid_layout
%h3.page-title
%h1.page-title
= _("Application: %{name}") % { name: @application.name }
= render 'shared/doorkeeper/applications/show',

View File

@ -1,3 +1,3 @@
%h3.page-title= _("An error has occurred")
%h1.page-title= _("An error has occurred")
%main{ :role => "main" }
%pre= @pre_auth.error_response.body[:error_description]

View File

@ -1,4 +1,4 @@
%h3.page-title= _("Redirecting")
%h1.page-title= _("Redirecting")
%div
%a{ :href => redirect_uri } Click here to redirect to #{redirect_uri}

View File

@ -1,3 +1,3 @@
%h3.page-title= _("Authorization code:")
%h1.page-title= _("Authorization code:")
%main{ :role => "main" }
%code#authorization_code= params[:code]

View File

@ -2,7 +2,7 @@
- breadcrumb_title _("Edit")
- page_title _("Edit"), @label.name, _("Labels")
%h3.page-title
%h1.page-title
= _('Edit Label')
%hr

View File

@ -2,7 +2,7 @@
- breadcrumb_title _("New")
- page_title _("New Label")
%h3.page-title
%h1.page-title
= _('New Label')
%hr

View File

@ -3,7 +3,7 @@
- render "header_title"
%h3.page-title
%h1.page-title
= _('Edit Milestone')
%hr

View File

@ -2,7 +2,7 @@
- breadcrumb_title _("New")
- page_title _("Milestones"), @milestone.name, _("Milestones")
%h3.page-title
%h1.page-title
= _("New Milestone")
%hr

View File

@ -1,5 +1,5 @@
- page_title _("Edit"), @application.name, _("Group applications")
- @content_class = "limit-container-width" unless fluid_layout
%h3.page-title= _('Edit group application')
%h1.page-title= _('Edit group application')
= render 'shared/doorkeeper/applications/form', url: group_settings_application_path(@group, @application)

View File

@ -3,7 +3,7 @@
- page_title @application.name, _("Group applications")
- @content_class = "limit-container-width" unless fluid_layout
%h3.page-title
%h1.page-title
= _("Group application: %{name}") % { name: @application.name }
= render 'shared/doorkeeper/applications/show',

View File

@ -1,7 +1,7 @@
- page_title _('Bitbucket import')
- header_title _('Projects'), root_path
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
= _('Import projects from Bitbucket')

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
= _('Import repositories from Bitbucket Server')

View File

@ -1,6 +1,6 @@
- page_title _('Bitbucket Server import')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
= _('Import projects from Bitbucket Server')

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bug', css_class: 'gl-mr-2')
= _('Import projects from FogBugz')

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bug', css_class: 'gl-mr-2')
= _('Import projects from FogBugz')

View File

@ -1,5 +1,5 @@
- page_title _("FogBugz import")
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('bug', css_class: 'gl-mr-2')
= _('Import projects from FogBugz')

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title
%h1.page-title
= custom_icon('gitea_logo')
= _('Import Projects from Gitea')

View File

@ -1,5 +1,5 @@
- page_title _("Gitea Import")
%h3.page-title
%h1.page-title
= custom_icon('gitea_logo')
= _('Import Projects from Gitea')

View File

@ -3,7 +3,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title
%h1.page-title
= title
%p

View File

@ -1,6 +1,6 @@
- title = has_ci_cd_only_params? ? _('Connect repositories from GitHub') : _('GitHub import')
- page_title title
%h3.page-title.mb-0.gl-display-flex
%h1.page-title.mb-0.gl-display-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('github', css_class: 'gl-mr-2')
= _('Import repositories from GitHub')

View File

@ -1,5 +1,5 @@
- page_title _("GitLab.com import")
%h3.page-title
%h1.page-title
= sprite_icon('heart', css_class: 'gl-vertical-align-middle')
= _('Import projects from GitLab.com')

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('tanuki', css_class: 'gl-mr-2')
= _('Import an exported GitLab project')

View File

@ -3,7 +3,7 @@
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title
%h1.page-title
= _('Manifest file import')
= render 'import/shared/errors'

View File

@ -1,6 +1,6 @@
- page_title _("Manifest import")
%h3.page-title
%h1.page-title
= _('Manifest file import')
= render 'import/githubish_status', provider: 'manifest'

View File

@ -2,7 +2,7 @@
- header_title _("New project"), new_project_path
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
%h3.page-title.d-flex
%h1.page-title.d-flex
.gl-display-flex.gl-align-items-center.gl-justify-content-center
= sprite_icon('issues', css_class: 'gl-mr-2')
= _('Import tasks from Phabricator into issues')

View File

@ -1,5 +1,5 @@
- page_title _("Invitation")
%h3.page-title= _("Invitation")
%h1.page-title= _("Invitation")
- if current_user_matches_invite?
- if member?

View File

@ -1,4 +1,4 @@
%h3.page-title
%h1.page-title
= _("Authorization required")
%main{ :role => "main" }
%p.h4

View File

@ -1,7 +1,7 @@
- page_title _('New Password')
- breadcrumb_title _('New Password')
%h3.page-title= _('Set up new password')
%h1.page-title= _('Set up new password')
%hr
= form_for @user, url: profile_password_path, method: :post do |f|
%p.slead

View File

@ -5,7 +5,7 @@
.modal-dialog
.modal-content
.modal-header
%h3.page-title= _('Reduce this projects visibility?')
%h1.page-title= _('Reduce this projects visibility?')
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
%span{ "aria-hidden": "true" }= sprite_icon("close")
.modal-body

View File

@ -2,7 +2,7 @@
.modal-dialog.modal-lg
.modal-content
.modal-header
%h3.page-title= _('Create New Directory')
%h1.page-title= _('Create New Directory')
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
%span{ "aria-hidden": "true" } &times;
.modal-body

View File

@ -2,7 +2,7 @@
.modal-dialog
.modal-content
.modal-header
%h3.page-title Delete #{@blob.name}
%h1.page-title Delete #{@blob.name}
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
%span{ "aria-hidden": "true" } &times;

View File

@ -2,7 +2,7 @@
.modal-dialog.modal-lg
.modal-content
.modal-header
%h3.page-title= title
%h1.page-title= title
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
%span{ "aria-hidden": "true" } &times;
.modal-body

View File

@ -15,7 +15,7 @@
= _('Someone edited the file the same time you did. Please check out %{link_start}the file %{icon}%{link_end} and make sure your changes will not unintentionally remove theirs.').html_safe % { link_start: blob_link_start, link_end: '</a>'.html_safe , icon: external_link_icon }
%h3.page-title.blob-edit-page-title
%h1.page-title.blob-edit-page-title
Edit file
.file-editor
= gl_tabs_nav({ class: 'js-edit-mode nav-links gl-border-0'}) do

View File

@ -1,7 +1,7 @@
- breadcrumb_title _("Repository")
- page_title _("New File"), @path.presence, @ref
%h3.page-title.blob-new-page-title
%h1.page-title.blob-new-page-title
= _('New file')
.file-editor
= form_tag(project_create_blob_path(@project, @id), method: :post, class: 'js-edit-blob-form js-new-blob-form js-quick-submit js-requires-input', data: blob_editor_paths(@project)) do

View File

@ -5,7 +5,7 @@
= render Pajamas::AlertComponent.new(variant: :danger) do |c|
= c.body do
= @error
%h3.page-title
%h1.page-title
= _('New Branch')
%hr

View File

@ -1,7 +1,7 @@
- breadcrumb_title _("Compare Revisions")
- page_title _("Compare")
%h3.page-title
%h1.page-title
= _("Compare Git revisions")
.sub-header-block
- example_branch = capture do

View File

@ -1,5 +1,5 @@
- page_title _('Edit Deploy Key')
%h3.page-title= _('Edit Deploy Key')
%h1.page-title= _('Edit Deploy Key')
%hr
%div

View File

@ -6,7 +6,7 @@
.top-area
.row
.col-sm-6
%h3.page-title
%h1.page-title
= _("Terminal for environment")
= @environment.name

View File

@ -2,7 +2,7 @@
- add_to_breadcrumbs _('Webhook Settings'), namespace_project_hooks_path
- page_title _('Webhook Logs')
%h3.page-title
%h1.page-title
= _("Request details")
%hr

View File

@ -1,5 +1,5 @@
- page_title _("Import repository")
%h3.page-title
%h1.page-title
= _('Import repository')
%hr

View File

@ -1,6 +1,6 @@
- page_title _("Edit"), "#{@issue.title} (#{@issue.to_reference})", _("Issues")
%h3.page-title
%h1.page-title
Edit Issue ##{@issue.iid}
%hr

View File

@ -2,7 +2,7 @@
- breadcrumb_title _("Edit")
- page_title _("Edit"), @label.name, _("Labels")
%h3.page-title
%h1.page-title
= _('Edit Label')
%hr
= render 'shared/labels/form', url: project_label_path(@project, @label), back_path: project_labels_path(@project)

View File

@ -2,7 +2,7 @@
- breadcrumb_title _("New")
- page_title _("New Label")
%h3.page-title
%h1.page-title
= _('New Label')
%hr
= render 'shared/labels/form', url: project_labels_path(@project), back_path: project_labels_path(@project)

View File

@ -1,4 +1,4 @@
%h1.h2.gl-mb-5
%h1.page-title
= _('New merge request')
= gitlab_ui_form_for [@project, @merge_request], html: { class: 'merge-request-form common-note-form js-requires-input js-quick-submit' } do |f|
= render 'shared/issuable/form', f: f, issuable: @merge_request, commits: @commits, presenter: @mr_presenter

View File

@ -2,6 +2,6 @@
- breadcrumb_title @merge_request.to_reference
- page_title _("Edit"), "#{@merge_request.title} (#{@merge_request.to_reference}", _("Merge requests")
%h3.page-title
%h1.page-title
Edit merge request #{@merge_request.to_reference}
= render 'form'

View File

@ -2,7 +2,7 @@
- add_to_breadcrumbs _('Milestones'), project_milestones_path(@project)
- page_title _('Edit'), @milestone.title, _('Milestones')
%h3.page-title
%h1.page-title
= _('Edit Milestone')
%hr

View File

@ -2,7 +2,7 @@
- breadcrumb_title _('New')
- page_title _('New Milestone')
%h3.page-title
%h1.page-title
= _('New Milestone')
%hr

View File

@ -1,7 +1,7 @@
- page_title _('Pages')
- if @project.pages_enabled?
%h3.page-title.with-button
%h1.page-title.with-button
= s_('GitLabPages|Pages')
- if can?(current_user, :update_pages, @project) && (Gitlab.config.pages.external_http || Gitlab.config.pages.external_https)

View File

@ -1,6 +1,6 @@
- add_to_breadcrumbs _("Pages"), project_pages_path(@project)
- page_title _('New Pages Domain')
%h3.page-title
%h1.page-title
= _("New Pages Domain")
= render 'projects/pages_domains/helper_text'
%div

View File

@ -11,7 +11,7 @@
.container-fluid.container-limited
= _("This domain is not verified. You will need to verify ownership before access is enabled.")
%h3.page-title
%h1.page-title
= _('Pages Domain')
= render 'projects/pages_domains/helper_text'
%div

View File

@ -3,7 +3,7 @@
- page_title _("Edit"), @schedule.description, _("Pipeline Schedule")
- add_page_specific_style 'page_bundles/pipeline_schedules'
%h3.page-title
%h1.page-title
= _("Edit Pipeline Schedule")
%hr

Some files were not shown because too many files have changed in this diff Show More