diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-27 21:08:29 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-27 21:08:29 +0000 |
commit | 441dc12073755df98808a37512062451fa184964 (patch) | |
tree | ce512a2c212c5857eeb4a7ffe82392ef48746292 /app | |
parent | 3e1f93c033ed7744696f7763716b51ab5acda17a (diff) | |
download | gitlab-ce-441dc12073755df98808a37512062451fa184964.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
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? } } |