From 0fd229655348c98448022fd293b42666b28eace5 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 17 Aug 2021 09:10:02 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../upload/design_version_dropdown.vue | 30 +- .../import_groups/components/import_table.vue | 136 +- .../components/import_target_cell.vue | 2 +- .../dropdown_widget/dropdown_widget.vue | 23 +- app/experiments/application_experiment.rb | 9 +- .../get_design_list.query.graphql | 7 + app/views/dashboard/_projects_head.html.haml | 2 +- config/gitlab.yml.example | 2 + config/initializers/1_settings.rb | 1 + config/initializers/smtp_settings.rb.sample | 10 + ...2202137_smtp_encrypted_secrets_enabled.yml | 20 + danger/product_intelligence/Dangerfile | 8 - ...010_reset_job_token_scope_enabled_again.rb | 16 + db/schema_migrations/20210812145010 | 1 + doc/administration/encrypted_configuration.md | 1 + doc/administration/raketasks/smtp.md | 103 + doc/development/snowplow/dictionary.md | 2 +- doc/development/usage_ping/dictionary.md | 23575 +--------------- doc/raketasks/index.md | 1 + doc/user/infrastructure/terraform_state.md | 5 + .../load_balancing/connection_proxy.rb | 34 +- lib/gitlab/email/smtp_config.rb | 29 + lib/gitlab/encrypted_command_base.rb | 105 + lib/gitlab/encrypted_ldap_command.rb | 92 +- lib/gitlab/encrypted_smtp_command.rb | 23 + lib/gitlab/tracking/docs/helper.rb | 2 +- lib/gitlab/usage/docs/helper.rb | 64 - lib/gitlab/usage/docs/renderer.rb | 32 - .../usage/docs/templates/default.md.haml | 48 - lib/gitlab/usage/docs/value_formatter.rb | 28 - lib/gitlab/usage_data.rb | 1 + lib/tasks/gitlab/smtp.rake | 23 + locale/gitlab.pot | 18 +- qa/qa/page/dashboard/projects.rb | 8 + qa/qa/resource/project.rb | 14 +- .../project_archive_compare_spec.rb | 2 +- .../1_manage/project/create_project_spec.rb | 54 +- .../application_experiment_spec.rb | 126 +- .../design_version_dropdown_spec.js.snap | 96 +- .../upload/design_version_dropdown_spec.js | 11 +- .../upload/mock_data/all_versions.js | 16 +- .../mock_data/all_versions.js | 14 + .../components/import_table_spec.js | 109 +- .../dropdown/dropdown_widget_spec.js | 20 +- .../load_balancing/connection_proxy_spec.rb | 30 +- spec/lib/gitlab/usage/docs/helper_spec.rb | 79 - spec/lib/gitlab/usage/docs/renderer_spec.rb | 24 - .../gitlab/usage/docs/value_formatter_spec.rb | 26 - spec/lib/gitlab/usage_data_spec.rb | 3 +- ...eset_job_token_scope_enabled_again_spec.rb | 25 + spec/tasks/gitlab/ldap_rake_spec.rb | 16 +- spec/tasks/gitlab/smtp_rake_spec.rb | 112 + spec/tooling/danger/project_helper_spec.rb | 1 - tooling/danger/project_helper.rb | 1 - 54 files changed, 1050 insertions(+), 24190 deletions(-) create mode 100644 config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml create mode 100644 db/post_migrate/20210812145010_reset_job_token_scope_enabled_again.rb create mode 100644 db/schema_migrations/20210812145010 create mode 100644 doc/administration/raketasks/smtp.md create mode 100644 lib/gitlab/email/smtp_config.rb create mode 100644 lib/gitlab/encrypted_command_base.rb create mode 100644 lib/gitlab/encrypted_smtp_command.rb delete mode 100644 lib/gitlab/usage/docs/helper.rb delete mode 100644 lib/gitlab/usage/docs/renderer.rb delete mode 100644 lib/gitlab/usage/docs/templates/default.md.haml delete mode 100644 lib/gitlab/usage/docs/value_formatter.rb create mode 100644 lib/tasks/gitlab/smtp.rake delete mode 100644 spec/lib/gitlab/usage/docs/helper_spec.rb delete mode 100644 spec/lib/gitlab/usage/docs/renderer_spec.rb delete mode 100644 spec/lib/gitlab/usage/docs/value_formatter_spec.rb create mode 100644 spec/migrations/reset_job_token_scope_enabled_again_spec.rb create mode 100644 spec/tasks/gitlab/smtp_rake_spec.rb diff --git a/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue index 750f16bbe57..816d7ac7abf 100644 --- a/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue +++ b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue @@ -1,6 +1,8 @@ @@ -68,14 +74,28 @@ export default { v-for="(version, index) in allVersions" :key="version.id" :is-check-item="true" + :is-check-centered="true" :is-checked="findVersionId(version.id) === currentVersionId" + :avatar-url="getAvatarUrl(version)" @click="routeToVersion(version.id)" > - - - + + + + + + +
+
{{ version.author.name }}
+ +
diff --git a/app/assets/javascripts/import_entities/import_groups/components/import_table.vue b/app/assets/javascripts/import_entities/import_groups/components/import_table.vue index d94c5a8ae07..db44be2bcd7 100644 --- a/app/assets/javascripts/import_entities/import_groups/components/import_table.vue +++ b/app/assets/javascripts/import_entities/import_groups/components/import_table.vue @@ -11,7 +11,7 @@ import { GlSprintf, GlSafeHtmlDirective as SafeHtml, GlTable, - GlTooltip, + GlFormCheckbox, } from '@gitlab/ui'; import { s__, __, n__ } from '~/locale'; import PaginationLinks from '~/vue_shared/components/pagination_links.vue'; @@ -40,8 +40,8 @@ export default { GlLink, GlLoadingIcon, GlSearchBoxByClick, + GlFormCheckbox, GlSprintf, - GlTooltip, GlTable, ImportStatus, ImportTargetCell, @@ -71,6 +71,7 @@ export default { filter: '', page: 1, perPage: DEFAULT_PAGE_SIZE, + selectedGroups: [], }; }, @@ -85,11 +86,20 @@ export default { }, fields: [ + { + key: 'selected', + label: '', + // eslint-disable-next-line @gitlab/require-i18n-strings + thClass: `${DEFAULT_TH_CLASSES} gl-w-3 gl-pr-3!`, + // eslint-disable-next-line @gitlab/require-i18n-strings + tdClass: `${DEFAULT_TD_CLASSES} gl-pr-3!`, + }, { key: 'web_url', label: s__('BulkImport|From source group'), - thClass: `${DEFAULT_TH_CLASSES} import-jobs-from-col`, - tdClass: DEFAULT_TD_CLASSES, + thClass: `${DEFAULT_TH_CLASSES} gl-pl-0! import-jobs-from-col`, + // eslint-disable-next-line @gitlab/require-i18n-strings + tdClass: `${DEFAULT_TD_CLASSES} gl-pl-0!`, }, { key: 'import_target', @@ -117,16 +127,16 @@ export default { return this.bulkImportSourceGroups?.nodes ?? []; }, - hasGroupsWithValidationError() { - return this.groups.some((g) => g.validation_errors.length); + hasSelectedGroups() { + return this.selectedGroups.length > 0; + }, + + hasAllAvailableGroupsSelected() { + return this.selectedGroups.length === this.availableGroupsForImport.length; }, availableGroupsForImport() { - return this.groups.filter((g) => g.progress.status === STATUSES.NONE); - }, - - isImportAllButtonDisabled() { - return this.hasGroupsWithValidationError || this.availableGroupsForImport.length === 0; + return this.groups.filter((g) => g.progress.status === STATUSES.NONE && !this.isInvalid(g)); }, humanizedTotal() { @@ -156,7 +166,7 @@ export default { total: 0, }; const start = (page - 1) * perPage + 1; - const end = start + (this.bulkImportSourceGroups.nodes?.length ?? 0) - 1; + const end = start + this.groups.length - 1; return { start, end, total }; }, @@ -166,6 +176,17 @@ export default { filter() { this.page = 1; }, + groups() { + const table = this.getTableRef(); + this.groups.forEach((g, idx) => { + if (this.selectedGroups.includes(g)) { + this.$nextTick(() => { + table.selectRow(idx); + }); + } + }); + this.selectedGroups = []; + }, }, methods: { @@ -210,13 +231,33 @@ export default { }); }, - importAllGroups() { - this.importGroups(this.availableGroupsForImport.map((g) => g.id)); + importSelectedGroups() { + this.importGroups(this.selectedGroups.map((g) => g.id)); }, setPageSize(size) { this.perPage = size; }, + + getTableRef() { + // Acquire reference to BTable to manipulate selection + // issue: https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1531 + // refs are not reactive, so do not use computed here + return this.$refs.table?.$children[0]; + }, + + preventSelectingAlreadyImportedGroups(updatedSelection) { + if (updatedSelection) { + this.selectedGroups = updatedSelection; + } + + const table = this.getTableRef(); + this.groups.forEach((group, idx) => { + if (table.isRowSelected(idx) && (this.isAlreadyImported(group) || this.isInvalid(group))) { + table.unselectRow(idx); + } + }); + }, }, gitlabLogo: window.gon.gitlab_logo, @@ -231,28 +272,6 @@ export default { > {{ s__('BulkImport|Import groups from GitLab') }} -
- - - - - -
- - - -