summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-27 21:08:29 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-27 21:08:29 +0000
commit441dc12073755df98808a37512062451fa184964 (patch)
treece512a2c212c5857eeb4a7ffe82392ef48746292 /app
parent3e1f93c033ed7744696f7763716b51ab5acda17a (diff)
downloadgitlab-ce-441dc12073755df98808a37512062451fa184964.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/analytics/devops_reports/components/devops_score.vue2
-rw-r--r--app/assets/javascripts/ci_secure_files/components/secure_files_list.vue6
-rw-r--r--app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue65
-rw-r--r--app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue15
-rw-r--r--app/assets/javascripts/packages_and_registries/settings/group/constants.js12
-rw-r--r--app/helpers/projects_helper.rb2
-rw-r--r--app/helpers/search_helper.rb6
-rw-r--r--app/models/hooks/system_hook.rb2
-rw-r--r--app/models/integration.rb2
-rw-r--r--app/views/admin/groups/_form.html.haml25
-rw-r--r--app/views/admin/users/_access_levels.html.haml100
-rw-r--r--app/views/admin/users/_admin_notes.html.haml15
-rw-r--r--app/views/admin/users/_form.html.haml115
-rw-r--r--app/views/groups/_group_admin_settings.html.haml59
-rw-r--r--app/views/groups/_new_group_fields.html.haml2
-rw-r--r--app/views/projects/_new_project_fields.html.haml2
-rw-r--r--app/views/projects/forks/new.html.haml2
-rw-r--r--app/views/shared/_old_visibility_level.html.haml9
-rw-r--r--app/views/shared/_visibility_level.html.haml2
-rw-r--r--app/views/shared/admin/_admin_note_form.html.haml8
-rw-r--r--app/views/shared/deploy_keys/_form.html.haml2
-rw-r--r--app/views/shared/deploy_keys/_project_group_form.html.haml2
-rw-r--r--app/views/shared/snippets/_form.html.haml2
23 files changed, 207 insertions, 250 deletions
diff --git a/app/assets/javascripts/analytics/devops_reports/components/devops_score.vue b/app/assets/javascripts/analytics/devops_reports/components/devops_score.vue
index 5a394059931..fd966425920 100644
--- a/app/assets/javascripts/analytics/devops_reports/components/devops_score.vue
+++ b/app/assets/javascripts/analytics/devops_reports/components/devops_score.vue
@@ -40,7 +40,7 @@ export default {
return this.devopsScoreMetrics.averageScore === undefined;
},
},
- devopsReportDocsPath: helpPagePath('user/admin_area/analytics/dev_ops_report'),
+ devopsReportDocsPath: helpPagePath('user/admin_area/analytics/dev_ops_reports'),
tableHeaderFields: [
{
key: 'title',
diff --git a/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue b/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
index ebcc4b85ac4..0fb8539a48a 100644
--- a/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
+++ b/app/assets/javascripts/ci_secure_files/components/secure_files_list.vue
@@ -17,6 +17,7 @@ import Api, { DEFAULT_PER_PAGE } from '~/api';
import { helpPagePath } from '~/helpers/help_page_helper';
import httpStatusCodes from '~/lib/utils/http_status';
import { __, s__, sprintf } from '~/locale';
+import Tracking from '~/tracking';
import TimeagoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
export default {
@@ -36,6 +37,7 @@ export default {
GlTooltip: GlTooltipDirective,
GlModal: GlModalDirective,
},
+ mixins: [Tracking.mixin()],
inject: ['projectId', 'admin', 'fileSizeLimit'],
docsLink: helpPagePath('ci/secure_files/index'),
DEFAULT_PER_PAGE,
@@ -113,6 +115,8 @@ export default {
try {
await Api.deleteProjectSecureFile(this.projectId, secureFileId);
this.getProjectSecureFiles();
+
+ this.track('delete_secure_file');
} catch (error) {
Sentry.captureException(error);
this.error = true;
@@ -129,6 +133,7 @@ export default {
this.loading = false;
this.uploading = false;
+ this.track('render_secure_files_list');
},
async uploadSecureFile() {
this.error = null;
@@ -137,6 +142,7 @@ export default {
try {
await Api.uploadProjectSecureFile(this.projectId, this.uploadFormData(file));
this.getProjectSecureFiles();
+ this.track('upload_secure_file');
} catch (error) {
this.error = true;
this.errorMessage = this.formattedErrorMessage(error);
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue b/app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue
index b0088838acc..9e4e409c38b 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue
+++ b/app/assets/javascripts/packages_and_registries/settings/group/components/duplicates_settings.vue
@@ -1,11 +1,9 @@
<script>
-import { GlSprintf, GlToggle, GlFormGroup, GlFormInput } from '@gitlab/ui';
+import { GlToggle, GlFormGroup, GlFormInput } from '@gitlab/ui';
import { isEqual } from 'lodash';
import {
DUPLICATES_TOGGLE_LABEL,
- DUPLICATES_ALLOWED_DISABLED,
- DUPLICATES_ALLOWED_ENABLED,
DUPLICATES_SETTING_EXCEPTION_TITLE,
DUPLICATES_SETTINGS_EXCEPTION_LEGEND,
} from '~/packages_and_registries/settings/group/constants';
@@ -18,7 +16,6 @@ export default {
DUPLICATES_SETTINGS_EXCEPTION_LEGEND,
},
components: {
- GlSprintf,
GlToggle,
GlFormGroup,
GlFormInput,
@@ -63,9 +60,6 @@ export default {
},
},
computed: {
- enabledButtonLabel() {
- return this.duplicatesAllowed ? DUPLICATES_ALLOWED_ENABLED : DUPLICATES_ALLOWED_DISABLED;
- },
isExceptionRegexValid() {
return !this.duplicateExceptionRegexError;
},
@@ -80,41 +74,30 @@ export default {
<template>
<form>
- <div class="gl-display-flex">
- <gl-toggle
- :data-qa-selector="toggleQaSelector"
- :label="$options.i18n.DUPLICATES_TOGGLE_LABEL"
- label-position="hidden"
- :value="duplicatesAllowed"
+ <gl-toggle
+ :data-qa-selector="toggleQaSelector"
+ :label="$options.i18n.DUPLICATES_TOGGLE_LABEL"
+ :value="duplicatesAllowed"
+ :disabled="loading"
+ @change="update(modelNames.allowed, $event)"
+ />
+ <gl-form-group
+ v-if="!duplicatesAllowed"
+ class="gl-mt-4"
+ :label="$options.i18n.DUPLICATES_SETTING_EXCEPTION_TITLE"
+ label-size="sm"
+ :state="isExceptionRegexValid"
+ :invalid-feedback="duplicateExceptionRegexError"
+ :description="$options.i18n.DUPLICATES_SETTINGS_EXCEPTION_LEGEND"
+ label-for="maven-duplicated-settings-regex-input"
+ >
+ <gl-form-input
+ id="maven-duplicated-settings-regex-input"
:disabled="loading"
- @change="update(modelNames.allowed, $event)"
+ size="lg"
+ :value="duplicateExceptionRegex"
+ @change="update(modelNames.exception, $event)"
/>
- <div class="gl-ml-5">
- <div data-testid="toggle-label" :data-qa-selector="labelQaSelector">
- <gl-sprintf :message="enabledButtonLabel">
- <template #bold="{ content }">
- <strong>{{ content }}</strong>
- </template>
- </gl-sprintf>
- </div>
- <gl-form-group
- v-if="!duplicatesAllowed"
- class="gl-mt-4"
- :label="$options.i18n.DUPLICATES_SETTING_EXCEPTION_TITLE"
- label-size="sm"
- :state="isExceptionRegexValid"
- :invalid-feedback="duplicateExceptionRegexError"
- :description="$options.i18n.DUPLICATES_SETTINGS_EXCEPTION_LEGEND"
- label-for="maven-duplicated-settings-regex-input"
- >
- <gl-form-input
- id="maven-duplicated-settings-regex-input"
- :disabled="loading"
- :value="duplicateExceptionRegex"
- @change="update(modelNames.exception, $event)"
- />
- </gl-form-group>
- </div>
- </div>
+ </gl-form-group>
</form>
</template>
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue b/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
index b7e88945dbd..14b51a92754 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
+++ b/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
@@ -1,12 +1,10 @@
<script>
-import { GlSprintf, GlLink } from '@gitlab/ui';
import DuplicatesSettings from '~/packages_and_registries/settings/group/components/duplicates_settings.vue';
import GenericSettings from '~/packages_and_registries/settings/group/components/generic_settings.vue';
import MavenSettings from '~/packages_and_registries/settings/group/components/maven_settings.vue';
import {
PACKAGE_SETTINGS_HEADER,
PACKAGE_SETTINGS_DESCRIPTION,
- PACKAGES_DOCS_PATH,
} from '~/packages_and_registries/settings/group/constants';
import updateNamespacePackageSettings from '~/packages_and_registries/settings/group/graphql/mutations/update_group_packages_settings.mutation.graphql';
import { updateGroupPackageSettings } from '~/packages_and_registries/settings/group/graphql/utils/cache_update';
@@ -19,12 +17,7 @@ export default {
PACKAGE_SETTINGS_HEADER,
PACKAGE_SETTINGS_DESCRIPTION,
},
- links: {
- PACKAGES_DOCS_PATH,
- },
components: {
- GlSprintf,
- GlLink,
SettingsBlock,
MavenSettings,
GenericSettings,
@@ -98,13 +91,7 @@ export default {
<template #title> {{ $options.i18n.PACKAGE_SETTINGS_HEADER }}</template>
<template #description>
<span data-testid="description">
- <gl-sprintf :message="$options.i18n.PACKAGE_SETTINGS_DESCRIPTION">
- <template #link="{ content }">
- <gl-link :href="$options.links.PACKAGES_DOCS_PATH" target="_blank">{{
- content
- }}</gl-link>
- </template>
- </gl-sprintf>
+ {{ $options.i18n.PACKAGE_SETTINGS_DESCRIPTION }}
</span>
</template>
<template #default>
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/constants.js b/app/assets/javascripts/packages_and_registries/settings/group/constants.js
index 0355ad39241..34764663892 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/constants.js
+++ b/app/assets/javascripts/packages_and_registries/settings/group/constants.js
@@ -1,17 +1,13 @@
import { helpPagePath } from '~/helpers/help_page_helper';
import { s__, __ } from '~/locale';
-export const PACKAGE_SETTINGS_HEADER = s__('PackageRegistry|Package Registry');
+export const PACKAGE_SETTINGS_HEADER = s__('PackageRegistry|Duplicate packages');
export const PACKAGE_SETTINGS_DESCRIPTION = s__(
- 'PackageRegistry|Use GitLab as a private registry for common package formats. %{linkStart}Learn more.%{linkEnd}',
+ 'PackageRegistry|Allow packages with the same name and version to be uploaded to the registry. The newest version of a package is always used when installing.',
);
-export const DUPLICATES_TOGGLE_LABEL = s__('PackageRegistry|Allow duplicates');
-export const DUPLICATES_ALLOWED_DISABLED = s__(
- 'PackageRegistry|%{boldStart}Do not allow duplicates%{boldEnd} - Reject packages with the same name and version.',
-);
-export const DUPLICATES_ALLOWED_ENABLED = s__(
- 'PackageRegistry|%{boldStart}Allow duplicates%{boldEnd} - Accept packages with the same name and version.',
+export const DUPLICATES_TOGGLE_LABEL = s__(
+ 'PackageRegistry|Reject packages with the same name and version',
);
export const DUPLICATES_SETTING_EXCEPTION_TITLE = __('Exceptions');
export const DUPLICATES_SETTINGS_EXCEPTION_LEGEND = s__(
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 004075ed636..6de01a016ab 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -376,7 +376,7 @@ module ProjectsHelper
canDisableEmails: can_disable_emails?(project, current_user),
canChangeVisibilityLevel: can_change_visibility_level?(project, current_user),
allowedVisibilityOptions: project_allowed_visibility_levels(project),
- visibilityHelpPath: help_page_path('public_access/public_access'),
+ visibilityHelpPath: help_page_path('user/public_access'),
registryAvailable: Gitlab.config.registry.enabled,
registryHelpPath: help_page_path('user/packages/container_registry/index'),
lfsAvailable: Gitlab.config.lfs.enabled,
diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb
index c8750cd9b52..23391bd1148 100644
--- a/app/helpers/search_helper.rb
+++ b/app/helpers/search_helper.rb
@@ -207,10 +207,10 @@ module SearchHelper
{ category: "Help", label: _("API Help"), url: help_page_path("api/index") },
{ category: "Help", label: _("Markdown Help"), url: help_page_path("user/markdown") },
{ category: "Help", label: _("Permissions Help"), url: help_page_path("user/permissions") },
- { category: "Help", label: _("Public Access Help"), url: help_page_path("public_access/public_access") },
+ { category: "Help", label: _("Public Access Help"), url: help_page_path("user/public_access") },
{ category: "Help", label: _("Rake Tasks Help"), url: help_page_path("raketasks/index") },
- { category: "Help", label: _("SSH Keys Help"), url: help_page_path("ssh/index") },
- { category: "Help", label: _("System Hooks Help"), url: help_page_path("system_hooks/system_hooks") },
+ { category: "Help", label: _("SSH Keys Help"), url: help_page_path("user/ssh") },
+ { category: "Help", label: _("System Hooks Help"), url: help_page_path("administration/system_hooks") },
{ category: "Help", label: _("Webhooks Help"), url: help_page_path("user/project/integrations/webhooks") }
]
end
diff --git a/app/models/hooks/system_hook.rb b/app/models/hooks/system_hook.rb
index c8a0cc05912..c0073f9a9b8 100644
--- a/app/models/hooks/system_hook.rb
+++ b/app/models/hooks/system_hook.rb
@@ -26,6 +26,6 @@ class SystemHook < WebHook
end
def help_path
- 'system_hooks/system_hooks'
+ 'administration/system_hooks'
end
end
diff --git a/app/models/integration.rb b/app/models/integration.rb
index ec1b1661391..727f7d2eeba 100644
--- a/app/models/integration.rb
+++ b/app/models/integration.rb
@@ -13,8 +13,6 @@ class Integration < ApplicationRecord
include IgnorableColumns
extend ::Gitlab::Utils::Override
- ignore_column :properties, remove_with: '15.1', remove_after: '2022-05-22'
-
UnknownType = Class.new(StandardError)
self.inheritance_column = :type_new
diff --git a/app/views/admin/groups/_form.html.haml b/app/views/admin/groups/_form.html.haml
index 43a8d56d584..5c45e37bb27 100644
--- a/app/views/admin/groups/_form.html.haml
+++ b/app/views/admin/groups/_form.html.haml
@@ -8,33 +8,28 @@
= render_if_exists 'shared/old_repository_size_limit_setting', form: f, type: :group
= render_if_exists 'admin/namespace_plan', f: f
- .form-group.row.group-description-holder
- .col-sm-2.col-form-label
- = f.label :avatar, _("Group avatar")
- .col-sm-10
- = render 'shared/choose_avatar_button', f: f
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :avatar, _("Group avatar"), class: 'gl-display-block col-form-label'
+ = render 'shared/choose_avatar_button', f: f
= render 'shared/old_visibility_level', f: f, visibility_level: visibility_level, can_change_visibility_level: can_change_group_visibility_level?(@group), form_model: @group, with_label: false
- .form-group.row
- .offset-sm-2.col-sm-10
- = render 'shared/allow_request_access', form: f
+ .form-group.gl-form-group{ role: 'group' }
+ = render 'shared/allow_request_access', form: f
= render 'groups/group_admin_settings', f: f
= render_if_exists 'namespaces/shared_runners_minutes_settings', group: @group, form: f
- if @group.new_record?
- .form-group.row
- .offset-sm-2.col-sm-10
- = render Pajamas::AlertComponent.new(dismissible: false) do |c|
- = c.body do
- = render 'shared/group_tips'
- .form-actions
+ = render Pajamas::AlertComponent.new(dismissible: false) do |c|
+ = c.body do
+ = render 'shared/group_tips'
+ .gl-mt-5
= f.submit _('Create group'), class: "gl-button btn btn-confirm"
= link_to _('Cancel'), admin_groups_path, class: "gl-button btn btn-default btn-cancel"
- else
- .form-actions
+ .gl-mt-5
= f.submit _('Save changes'), class: "gl-button btn btn-confirm", data: { qa_selector: 'save_changes_button' }
= link_to _('Cancel'), admin_group_path(@group), class: "gl-button btn btn-cancel"
diff --git a/app/views/admin/users/_access_levels.html.haml b/app/views/admin/users/_access_levels.html.haml
index cf951ae0265..b255354f2c1 100644
--- a/app/views/admin/users/_access_levels.html.haml
+++ b/app/views/admin/users/_access_levels.html.haml
@@ -1,52 +1,48 @@
-%fieldset
- %legend.gl-border-bottom-0
- = s_('AdminUsers|Access')
- .form-group.row
- .col-12
- = f.label :projects_limit
- = f.number_field :projects_limit, min: 0, max: Gitlab::Database::MAX_INT_VALUE, class: 'form-control gl-form-input'
-
- .form-group.row
- .col-12.gl-pt-0
- = f.label :can_create_group
- = f.gitlab_ui_checkbox_component :can_create_group, ''
-
- .form-group.row
- .col-12.gl-pt-0
- = f.label :access_level
- - editing_current_user = (current_user == @user)
-
- = f.gitlab_ui_radio_component :access_level, :regular,
- s_('AdminUsers|Regular'),
- radio_options: { disabled: editing_current_user },
- help_text: s_('AdminUsers|Regular users have access to their groups and projects.')
-
- = render_if_exists 'admin/users/auditor_access_level_radio', f: f, disabled: editing_current_user
-
- - help_text = s_('AdminUsers|The user has unlimited access to all groups, projects, users, and features.')
- - help_text += ' ' + s_('AdminUsers|You cannot remove your own administrator access.') if editing_current_user
- = f.gitlab_ui_radio_component :access_level, :admin,
- s_('AdminUsers|Administrator'),
- radio_options: { disabled: editing_current_user },
- help_text: help_text
-
-
- .form-group.row
- .col-12.gl-pt-0
- = f.label :external
- .hidden{ data: user_internal_regex_data }
- .col-12.gl-display-flex.gl-align-items-baseline
- = f.gitlab_ui_checkbox_component :external, s_('AdminUsers|External users cannot see internal or private projects unless access is explicitly granted. Also, external users cannot create projects, groups, or personal snippets.')
- %row.hidden#warning_external_automatically_set
- = gl_badge_tag s_('AdminUsers|Automatically marked as default internal user'), variant: :warning
-
- .form-group.row
- - @user.credit_card_validation || @user.build_credit_card_validation
- = f.fields_for :credit_card_validation do |ff|
- .col-12.gl-pt-0
- = ff.label s_('AdminUsers|Validate user account')
- .col-12.gl-display-flex.gl-align-items-baseline
- = ff.gitlab_ui_checkbox_component :credit_card_validated_at,
- s_('AdminUsers|User is validated and can use free CI minutes on shared runners.'),
- help_text: s_('AdminUsers|A user can validate themselves by inputting a credit/debit card, or an admin can manually validate a user.'),
- checkbox_options: { checked: @user.credit_card_validated_at.present? }
+.gl-border-b.gl-pb-3.gl-mb-6
+ .row
+ .col-lg-4
+ %h4.gl-mt-0
+ = s_('AdminUsers|Access')
+ .col-lg-8
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :projects_limit, class: 'gl-display-block col-form-label'
+ = f.number_field :projects_limit, min: 0, max: Gitlab::Database::MAX_INT_VALUE, class: 'form-control gl-form-input'
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.gitlab_ui_checkbox_component :can_create_group, s_('AdminUsers|Can create group')
+
+ %fieldset.form-group.gl-form-group
+ %legend.col-form-label.col-form-label
+ = s_('AdminUsers|Access level')
+ - editing_current_user = (current_user == @user)
+
+ = f.gitlab_ui_radio_component :access_level, :regular,
+ s_('AdminUsers|Regular'),
+ radio_options: { disabled: editing_current_user },
+ help_text: s_('AdminUsers|Regular users have access to their groups and projects.')
+
+ = render_if_exists 'admin/users/auditor_access_level_radio', f: f, disabled: editing_current_user
+
+ - help_text = s_('AdminUsers|The user has unlimited access to all groups, projects, users, and features.')
+ - help_text += ' ' + s_('AdminUsers|You cannot remove your own administrator access.') if editing_current_user
+ = f.gitlab_ui_radio_component :access_level, :admin,
+ s_('AdminUsers|Administrator'),
+ radio_options: { disabled: editing_current_user },
+ help_text: help_text
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.gitlab_ui_checkbox_component :external,
+ s_('AdminUsers|External'),
+ help_text: s_('AdminUsers|External users cannot see internal or private projects unless access is explicitly granted. Also, external users cannot create projects, groups, or personal snippets.')
+ .hidden{ data: user_internal_regex_data }
+ .gl-display-flex.gl-align-items-baseline
+ %row.hidden#warning_external_automatically_set
+ = gl_badge_tag s_('AdminUsers|Automatically marked as default internal user'), variant: :warning
+
+ .form-group.gl-form-group{ role: 'group' }
+ - @user.credit_card_validation || @user.build_credit_card_validation
+ = f.fields_for :credit_card_validation do |ff|
+ = ff.gitlab_ui_checkbox_component :credit_card_validated_at,
+ s_('AdminUsers|Validate user account'),
+ help_text: s_('AdminUsers|A user can validate themselves by inputting a credit/debit card, or an admin can manually validate a user. Validated users can use free CI minutes on shared runners.'),
+ checkbox_options: { checked: @user.credit_card_validated_at.present? }
diff --git a/app/views/admin/users/_admin_notes.html.haml b/app/views/admin/users/_admin_notes.html.haml
index 10f654e0f71..dce008afb26 100644
--- a/app/views/admin/users/_admin_notes.html.haml
+++ b/app/views/admin/users/_admin_notes.html.haml
@@ -1,6 +1,9 @@
-%fieldset
- %legend.gl-border-bottom-0= _('Admin notes')
- .form-group.row
- .col-12
- = f.label :note, s_('Admin|Note')
- = f.text_area :note, class: 'form-control gl-form-input gl-form-textarea'
+.gl-mb-3
+ .row
+ .col-lg-4
+ %h4.gl-mt-0
+ = _('Admin notes')
+ .col-lg-8
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :note, s_('Admin|Note')
+ = f.text_area :note, class: 'form-control gl-form-input gl-form-textarea'
diff --git a/app/views/admin/users/_form.html.haml b/app/views/admin/users/_form.html.haml
index 7995bc1b6f4..3aa29527f08 100644
--- a/app/views/admin/users/_form.html.haml
+++ b/app/views/admin/users/_form.html.haml
@@ -2,41 +2,41 @@
= gitlab_ui_form_for [:admin, @user], html: { class: 'fieldset-form' } do |f|
= form_errors(@user, pajamas_alert: true)
- %fieldset
- %legend.gl-border-bottom-0= _('Account')
- .form-group.row
- .col-12
- = f.label "#{:name} (required)"
- = f.text_field :name, required: true, autocomplete: 'off', class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label "#{:username} (required)"
- = f.text_field :username, required: true, autocomplete: 'off', autocorrect: 'off', autocapitalize: 'off', spellcheck: false, class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label "#{:email} (required)"
- = f.text_field :email, required: true, autocomplete: 'off', class: 'form-control gl-form-input'
+ .gl-border-b.gl-pb-3.gl-mb-6
+ .row
+ .col-lg-4
+ %h4.gl-mt-0
+ = _('Account')
+ .col-lg-8
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :name, _('Name'), class: 'gl-display-block col-form-label'
+ = f.text_field :name, required: true, autocomplete: 'off', class: 'form-control gl-form-input'
- - if @user.new_record?
- %fieldset
- %legend.gl-border-bottom-0= _('Password')
- .form-group.row
- .col-12
- %strong
- = _('Reset link will be generated and sent to the user. %{break} User will be forced to set the password on first sign in.').html_safe % { break: '<br />'.html_safe }
- - else
- %fieldset
- %legend.gl-border-bottom-0= _('Password')
- .form-group.row
- .col-12
- = f.label :password
- .col-12
- = f.password_field :password, disabled: f.object.force_random_password, autocomplete: 'new-password', class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label :password_confirmation
- .col-12
- = f.password_field :password_confirmation, disabled: f.object.force_random_password, autocomplete: 'new-password', class: 'form-control gl-form-input'
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :username, _('Username'), class: 'gl-display-block col-form-label'
+ = f.text_field :username, required: true, autocomplete: 'off', autocorrect: 'off', autocapitalize: 'off', spellcheck: false, class: 'form-control gl-form-input'
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :email, _('Email'), class: 'gl-display-block col-form-label'
+ = f.text_field :email, required: true, autocomplete: 'off', class: 'form-control gl-form-input'
+
+ .gl-border-b.gl-pb-3.gl-mb-6
+ .row
+ .col-lg-4
+ %h4.gl-mt-0
+ = _('Password')
+ .col-lg-8
+ - if @user.new_record?
+ = render Pajamas::AlertComponent.new(variant: :info, dismissible: false, alert_options: { class: 'gl-mb-5' }) do |c|
+ = c.body do
+ = s_('AdminUsers|Reset link will be generated and sent to the user. User will be forced to set the password on first sign in.')
+ - else
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :password, _('Password'), class: 'gl-display-block col-form-label'
+ = f.password_field :password, disabled: f.object.force_random_password, autocomplete: 'new-password', class: 'form-control gl-form-input'
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :password_confirmation, _('Password confirmation'), class: 'gl-display-block col-form-label'
+ = f.password_field :password_confirmation, disabled: f.object.force_random_password, autocomplete: 'new-password', class: 'form-control gl-form-input'
= render partial: 'access_levels', locals: { f: f }
@@ -44,30 +44,31 @@
= render_if_exists 'admin/users/limits', f: f
- %fieldset
- %legend.gl-border-bottom-0= _('Profile')
- .form-group.row
- .col-12
- = f.label :avatar
- .col-12
- = f.file_field :avatar
+ .gl-border-b.gl-pb-6.gl-mb-6
+ .row
+ .col-lg-4
+ %h4.gl-mt-0
+ = _('Profile')
+ .col-lg-8
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :avatar, s_('AdminUsers|Avatar'), class: 'gl-display-block col-form-label'
+ = f.file_field :avatar
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :skype, s_('AdminUsers|Skype'), class: 'gl-display-block col-form-label'
+ = f.text_field :skype, class: 'form-control gl-form-input'
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :linkedin, s_('AdminUsers|Linkedin'), class: 'gl-display-block col-form-label'
+ = f.text_field :linkedin, class: 'form-control gl-form-input'
+
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :twitter, _('Twitter'), class: 'gl-display-block col-form-label'
+ = f.text_field :twitter, class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label :skype
- = f.text_field :skype, class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label :linkedin
- = f.text_field :linkedin, class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label :twitter
- = f.text_field :twitter, class: 'form-control gl-form-input'
- .form-group.row
- .col-12
- = f.label :website_url
- = f.text_field :website_url, class: 'form-control gl-form-input'
+ .form-group.gl-form-group{ role: 'group' }
+ = f.label :website_url, s_('AdminUsers|Website URL'), class: 'gl-display-block col-form-label'
+ = f.text_field :website_url, class: 'form-control gl-form-input'
= render 'admin/users/admin_notes', f: f
diff --git a/app/views/groups/_group_admin_settings.html.haml b/app/views/groups/_group_admin_settings.html.haml
index 5d2b54b00b2..0e69921315a 100644
--- a/app/views/groups/_group_admin_settings.html.haml
+++ b/app/views/groups/_group_admin_settings.html.haml
@@ -1,34 +1,29 @@
-.form-group.row
- .col-sm-2.col-form-label.pt-0
- = f.label :lfs_enabled, _('Large File Storage')
- .col-sm-10
- = f.gitlab_ui_checkbox_component :lfs_enabled, checkbox_options: { checked: @group.lfs_enabled? } do |c|
- = c.label do
- = _('Projects in this group can use Git LFS')
- = link_to sprite_icon('question-o'), help_page_path('topics/git/lfs/index'), class: 'gl-ml-2'
- = c.help_text do
- = _('This setting can be overridden in each project.')
-.form-group.row
- .col-sm-2.col-form-label
- = f.label s_('ProjectCreationLevel|Allowed to create projects')
- .col-sm-10
- = f.select :project_creation_level, options_for_select(::Gitlab::Access.project_creation_options, @group.project_creation_level), {}, class: 'form-control'
+%fieldset.form-group.gl-form-group
+ %legend.col-form-label.col-form-label
+ = _('Large File Storage')
+ = f.gitlab_ui_checkbox_component :lfs_enabled, checkbox_options: { checked: @group.lfs_enabled? } do |c|
+ = c.label do
+ = _('Projects in this group can use Git LFS')
+ = link_to sprite_icon('question-o'), help_page_path('topics/git/lfs/index'), class: 'gl-ml-2'
+ = c.help_text do
+ = _('This setting can be overridden in each project.')
+.form-group.gl-form-group{ role: 'group' }
+ = f.label s_('ProjectCreationLevel|Allowed to create projects'), class: 'gl-display-block col-form-label'
+ = f.select :project_creation_level, options_for_select(::Gitlab::Access.project_creation_options, @group.project_creation_level), {}, class: 'gl-form-select custom-select'
-.form-group.row
- .col-sm-2.col-form-label
- = f.label s_('SubgroupCreationlevel|Allowed to create subgroups')
- .col-sm-10
- = f.select :subgroup_creation_level, options_for_select(::Gitlab::Access.subgroup_creation_options, @group.subgroup_creation_level), {}, class: 'form-control'
+.form-group.gl-form-group{ role: 'group' }
+ = f.label s_('SubgroupCreationlevel|Allowed to create subgroups'), class: 'gl-display-block col-form-label'
+ = f.select :subgroup_creation_level, options_for_select(::Gitlab::Access.subgroup_creation_options, @group.subgroup_creation_level), {}, class: 'gl-form-select custom-select'
-.form-group.row
- .col-sm-2.col-form-label.pt-0
- = f.label :require_two_factor_authentication, _('Two-factor authentication')
- .col-sm-10
- - label = _("All users in this group must set up two-factor authentication")
- - help_link = link_to sprite_icon('question-o'), help_page_path('security/two_factor_authentication', anchor: 'enforce-2fa-for-all-users-in-a-group'), class: 'gl-ml-2'
- = f.gitlab_ui_checkbox_component :require_two_factor_authentication, '%{label}%{help_link}'.html_safe % { label: label, help_link: help_link }
-.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= _("Time (in hours) that users are allowed to skip forced configuration of two-factor authentication.")
+%fieldset.form-group.gl-form-group
+ %legend.col-form-label.col-form-label
+ = _('Two-factor authentication')
+ - label = _("All users in this group must set up two-factor authentication")
+ - help_link = link_to sprite_icon('question-o'), help_page_path('security/two_factor_authentication', anchor: 'enforce-2fa-for-all-users-in-a-group'), class: 'gl-ml-2'
+ = f.gitlab_ui_checkbox_component :require_two_factor_authentication, '%{label}%{help_link}'.html_safe % { label: label, help_link: help_link }
+
+.form-group.gl-form-group{ role: 'group' }
+ = f.label :two_factor_grace_period, _('Two-factor authentication grace period'), class: 'gl-display-block col-form-label'
+ = f.text_field :two_factor_grace_period, class: 'form-control gl-form-input'
+ %small.form-text.text-gl-muted
+ = _("Time (in hours) that users are allowed to skip forced configuration of two-factor authentication.")
diff --git a/app/views/groups/_new_group_fields.html.haml b/app/views/groups/_new_group_fields.html.haml
index 83211505f36..2191d10ecd2 100644
--- a/app/views/groups/_new_group_fields.html.haml
+++ b/app/views/groups/_new_group_fields.html.haml
@@ -7,7 +7,7 @@
= _('Visibility level')
%p
= _('Who will be able to see this group?')
- = link_to _('View the documentation'), help_page_path("public_access/public_access"), target: '_blank', rel: 'noopener noreferrer'
+ = link_to _('View the documentation'), help_page_path("user/public_access"), target: '_blank', rel: 'noopener noreferrer'
= render 'shared/visibility_level', f: f, visibility_level: default_group_visibility, can_change_visibility_level: true, form_model: @group, with_label: false
- if Gitlab.config.mattermost.enabled
diff --git a/app/views/projects/_new_project_fields.html.haml b/app/views/projects/_new_project_fields.html.haml
index 2cbb9758703..36504e2312d 100644
--- a/app/views/projects/_new_project_fields.html.haml
+++ b/app/views/projects/_new_project_fields.html.haml
@@ -54,7 +54,7 @@
= f.label :visibility_level, class: 'label-bold' do
= s_('ProjectsNew|Visibility Level')
- = link_to sprite_icon('question-o'), help_page_path('public_access/public_access'), aria: { label: 'Documentation for Visibility Level' }, target: '_blank', rel: 'noopener noreferrer'
+ = link_to sprite_icon('question-o'), help_page_path('user/public_access'), aria: { label: 'Documentation for Visibility Level' }, target: '_blank', rel: 'noopener noreferrer'
= render 'shared/visibility_level', f: f, visibility_level: visibility_level.to_i, can_change_visibility_level: true, form_model: @project, with_label: false, data: { qa_selector: 'visibility_radios'}
- if !hide_init_with_readme
diff --git a/app/views/projects/forks/new.html.haml b/app/views/projects/forks/new.html.haml
index 7243852e1f5..36347776ec9 100644
--- a/app/views/projects/forks/new.html.haml
+++ b/app/views/projects/forks/new.html.haml
@@ -4,7 +4,7 @@
endpoint: new_project_fork_path(@project, format: :json),
new_group_path: new_group_path,
project_full_path: project_path(@project),
- visibility_help_path: help_page_path("public_access/public_access"),
+ visibility_help_path: help_page_path("user/public_access"),
project_id: @project.id,
project_name: @project.name,
project_path: @project.path,
diff --git a/app/views/shared/_old_visibility_level.html.haml b/app/views/shared/_old_visibility_level.html.haml
index 104c722ee65..6bcac2b0e6b 100644
--- a/app/views/shared/_old_visibility_level.html.haml
+++ b/app/views/shared/_old_visibility_level.html.haml
@@ -1,6 +1,5 @@
-.form-group.row
- .col-sm-2.col-form-label
+%fieldset.form-group.gl-form-group
+ %legend.col-form-label.col-form-label
= _('Visibility level')
- = link_to sprite_icon('question-o'), help_page_path('public_access/public_access'), target: '_blank', rel: 'noopener noreferrer'
- .col-sm-10
- = render 'shared/visibility_level', f: f, visibility_level: visibility_level, can_change_visibility_level: can_change_visibility_level, form_model: form_model, with_label: with_label
+ = link_to sprite_icon('question-o'), help_page_path('user/public_access'), target: '_blank', rel: 'noopener noreferrer'
+ = render 'shared/visibility_level', f: f, visibility_level: visibility_level, can_change_visibility_level: can_change_visibility_level, form_model: form_model, with_label: with_label
diff --git a/app/views/shared/_visibility_level.html.haml b/app/views/shared/_visibility_level.html.haml
index 3e30dcaf35a..b7c0077f61a 100644
--- a/app/views/shared/_visibility_level.html.haml
+++ b/app/views/shared/_visibility_level.html.haml
@@ -5,7 +5,7 @@
= f.label :visibility_level, _('Visibility level'), class: 'label-bold gl-mb-0'
%p
= _('Who can see this group?')
- - visibility_docs_path = help_page_path('public_access/public_access')
+ - visibility_docs_path = help_page_path('user/public_access')
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: visibility_docs_path }
= _('%{docs_link_start}Learn about visibility levels.%{docs_link_end}').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
- if can_change_visibility_level
diff --git a/app/views/shared/admin/_admin_note_form.html.haml b/app/views/shared/admin/_admin_note_form.html.haml
index 0bc26f9120f..09b059774bc 100644
--- a/app/views/shared/admin/_admin_note_form.html.haml
+++ b/app/views/shared/admin/_admin_note_form.html.haml
@@ -1,6 +1,4 @@
-.form-group.row
+.form-group.gl-form-group{ role: 'group' }
= f.fields_for :admin_note do |an|
- .col-sm-2.col-form-label.gl-text-right
- = an.label :note, s_('Admin|Admin notes')
- .col-sm-10
- = an.text_area :note, class: 'form-control'
+ = an.label :note, s_('Admin|Admin notes'), class: 'gl-display-block col-form-label'
+ = an.text_area :note, class: 'form-control gl-form-input gl-form-textarea'
diff --git a/app/views/shared/deploy_keys/_form.html.haml b/app/views/shared/deploy_keys/_form.html.haml
index 4ab93030638..28abbf59875 100644
--- a/app/views/shared/deploy_keys/_form.html.haml
+++ b/app/views/shared/deploy_keys/_form.html.haml
@@ -13,7 +13,7 @@
= form.label :key, class: 'col-form-label col-sm-2'
.col-sm-10
%p.light
- - link_start = "<a href='#{help_page_path('ssh/index')}' target='_blank' rel='noreferrer noopener'>".html_safe
+ - link_start = "<a href='#{help_page_path('user/ssh')}' target='_blank' rel='noreferrer noopener'>".html_safe
- link_end = '</a>'
= _('Paste a public key here. %{link_start}How do I generate it?%{link_end}').html_safe % { link_start: link_start, link_end: link_end.html_safe }
= form.text_area :key, class: 'form-control gl-form-input thin_area', rows: 5, data: { qa_selector: 'deploy_key_field' }
diff --git a/app/views/shared/deploy_keys/_project_group_form.html.haml b/app/views/shared/deploy_keys/_project_group_form.html.haml
index c9edf09b350..d76ef8feb62 100644
--- a/app/views/shared/deploy_keys/_project_group_form.html.haml
+++ b/app/views/shared/deploy_keys/_project_group_form.html.haml
@@ -9,7 +9,7 @@
.form-group.row
%p.light.gl-mb-0
= _('Paste a public key here.')
- = link_to _('How do I generate it?'), help_page_path("ssh/index")
+ = link_to _('How do I generate it?'), help_page_path("user/ssh")
= f.fields_for :deploy_keys_projects do |deploy_keys_project_form|
.form-group.row
diff --git a/app/views/shared/snippets/_form.html.haml b/app/views/shared/snippets/_form.html.haml
index 5f511b35b61..33b0e1f693e 100644
--- a/app/views/shared/snippets/_form.html.haml
+++ b/app/views/shared/snippets/_form.html.haml
@@ -1,2 +1,2 @@
- available_visibility_levels = available_visibility_levels(@snippet)
-#js-snippet-edit.snippet-form{ data: {'project_path': @snippet.project&.full_path, 'snippet-gid': @snippet.new_record? ? '' : @snippet.to_global_id, 'markdown-preview-path': preview_markdown_path(parent), 'markdown-docs-path': help_page_path('user/markdown'), 'visibility-help-link': help_page_path("public_access/public_access"), 'visibility_levels': available_visibility_levels, 'selected_level': snippets_selected_visibility_level(available_visibility_levels, @snippet.visibility_level), 'multiple_levels_restricted': multiple_visibility_levels_restricted? } }
+#js-snippet-edit.snippet-form{ data: {'project_path': @snippet.project&.full_path, 'snippet-gid': @snippet.new_record? ? '' : @snippet.to_global_id, 'markdown-preview-path': preview_markdown_path(parent), 'markdown-docs-path': help_page_path('user/markdown'), 'visibility-help-link': help_page_path("user/public_access"), 'visibility_levels': available_visibility_levels, 'selected_level': snippets_selected_visibility_level(available_visibility_levels, @snippet.visibility_level), 'multiple_levels_restricted': multiple_visibility_levels_restricted? } }