From d39c778244590f478537df87ed01dde2705350a8 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 6 Apr 2023 00:14:55 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../rspec/missing_feature_category.yml | 2 - .../super_sidebar/components/user_bar.vue | 16 ++- .../super_sidebar/super_sidebar_bundle.js | 4 +- .../entity_select/entity_select.vue | 6 + .../entity_select/init_project_selects.js | 4 + .../entity_select/project_select.vue | 15 ++- app/helpers/sidebars_helper.rb | 8 +- app/models/work_items/resource_link_event.rb | 14 +++ .../clusters/_advanced_settings.html.haml | 1 + db/docs/resource_link_events.yml | 10 ++ ...30313031351_create_resource_link_events.rb | 15 +++ ...ign_key_to_resource_link_events_on_user.rb | 15 +++ ...size_columns_to_root_storage_statistics.rb | 11 ++ db/schema_migrations/20230313031351 | 1 + db/schema_migrations/20230329085754 | 1 + db/schema_migrations/20230403164454 | 1 + db/structure.sql | 43 ++++++- .../convert_table_to_first_list_partition.rb | 52 ++++++-- .../table_management_helpers.rb | 4 +- locale/gitlab.pot | 3 + package.json | 1 + qa/qa/page/group/menu.rb | 10 +- .../group/sub_menus/super_sidebar/build.rb | 25 ++++ .../group/sub_menus/super_sidebar/common.rb | 24 ---- .../group/sub_menus/super_sidebar/settings.rb | 8 -- qa/qa/page/project/menu.rb | 4 +- qa/qa/page/project/sub_menus/issues.rb | 2 +- .../sub_menus/super_sidebar/analyze.rb | 45 ------- .../project/sub_menus/super_sidebar/build.rb | 8 -- .../project/sub_menus/super_sidebar/code.rb | 8 -- .../project/sub_menus/super_sidebar/common.rb | 24 ---- .../project/sub_menus/super_sidebar/manage.rb | 45 ------- .../sub_menus/super_sidebar/monitor.rb | 8 -- .../sub_menus/super_sidebar/operate.rb | 8 -- .../project/sub_menus/super_sidebar/plan.rb | 22 +--- .../sub_menus/super_sidebar/project.rb | 8 -- .../project/sub_menus/super_sidebar/secure.rb | 12 -- .../sub_menus/super_sidebar/settings.rb | 8 -- qa/qa/page/sub_menus/common.rb | 39 +++--- qa/qa/page/sub_menus/super_sidebar/manage.rb | 43 +++++++ qa/qa/page/sub_menus/super_sidebar/plan.rb | 39 ++++++ .../2_plan/issue_boards/focus_mode_spec.rb | 2 +- .../work_items/resource_link_events.rb | 10 ++ .../super_sidebar/components/user_bar_spec.js | 38 +++++- spec/frontend/super_sidebar/mock_data.js | 1 + .../entity_select/project_select_spec.js | 13 ++ spec/helpers/sidebars_helper_spec.rb | 17 +++ ...vert_table_to_first_list_partition_spec.rb | 115 +++++++++++++++++- .../table_management_helpers_spec.rb | 5 +- .../work_items/resource_link_event_spec.rb | 16 +++ .../models/resource_event_shared_examples.rb | 40 +++--- 51 files changed, 577 insertions(+), 297 deletions(-) create mode 100644 app/models/work_items/resource_link_event.rb create mode 100644 db/docs/resource_link_events.yml create mode 100644 db/migrate/20230313031351_create_resource_link_events.rb create mode 100644 db/migrate/20230329085754_add_foreign_key_to_resource_link_events_on_user.rb create mode 100644 db/migrate/20230403164454_add_fork_storage_size_columns_to_root_storage_statistics.rb create mode 100644 db/schema_migrations/20230313031351 create mode 100644 db/schema_migrations/20230329085754 create mode 100644 db/schema_migrations/20230403164454 create mode 100644 qa/qa/page/group/sub_menus/super_sidebar/build.rb delete mode 100644 qa/qa/page/group/sub_menus/super_sidebar/common.rb delete mode 100644 qa/qa/page/project/sub_menus/super_sidebar/analyze.rb delete mode 100644 qa/qa/page/project/sub_menus/super_sidebar/common.rb delete mode 100644 qa/qa/page/project/sub_menus/super_sidebar/manage.rb create mode 100644 qa/qa/page/sub_menus/super_sidebar/manage.rb create mode 100644 qa/qa/page/sub_menus/super_sidebar/plan.rb create mode 100644 spec/factories/work_items/resource_link_events.rb create mode 100644 spec/models/work_items/resource_link_event_spec.rb diff --git a/.rubocop_todo/rspec/missing_feature_category.yml b/.rubocop_todo/rspec/missing_feature_category.yml index d59f5f4c47d..dfcc1e48ddd 100644 --- a/.rubocop_todo/rspec/missing_feature_category.yml +++ b/.rubocop_todo/rspec/missing_feature_category.yml @@ -3663,7 +3663,6 @@ RSpec/MissingFeatureCategory: - 'spec/lib/gitlab/database/migrations/test_background_runner_spec.rb' - 'spec/lib/gitlab/database/no_cross_db_foreign_keys_spec.rb' - 'spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb' - - 'spec/lib/gitlab/database/partitioning/convert_table_to_first_list_partition_spec.rb' - 'spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb' - 'spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb' - 'spec/lib/gitlab/database/partitioning/partition_manager_spec.rb' @@ -3674,7 +3673,6 @@ RSpec/MissingFeatureCategory: - 'spec/lib/gitlab/database/partitioning/time_partition_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - 'spec/lib/gitlab/database/partitioning_spec.rb' - 'spec/lib/gitlab/database/pg_class_spec.rb' - 'spec/lib/gitlab/database/postgres_constraint_spec.rb' diff --git a/app/assets/javascripts/super_sidebar/components/user_bar.vue b/app/assets/javascripts/super_sidebar/components/user_bar.vue index 750ec0aa0c6..e03c587567e 100644 --- a/app/assets/javascripts/super_sidebar/components/user_bar.vue +++ b/app/assets/javascripts/super_sidebar/components/user_bar.vue @@ -42,13 +42,14 @@ export default { false, ), todoList: __('To-Do list'), + stopImpersonating: __('Stop impersonating'), }, directives: { GlTooltip: GlTooltipDirective, GlModal: GlModalDirective, SafeHtml, }, - inject: ['rootPath'], + inject: ['rootPath', 'isImpersonating'], props: { sidebarData: { type: Object, @@ -114,6 +115,19 @@ export default { + +
{ const searchData = convertObjectPropsToCamelCase(sidebarData.search); const { searchPath, issuesPath, mrPath, autocompletePath, searchContext } = searchData; + const isImpersonating = parseBoolean(sidebarData.is_impersonating); return new Vue({ el, @@ -37,6 +38,7 @@ export const initSuperSidebar = () => { provide: { rootPath, toggleNewNavEndpoint, + isImpersonating, }, store: createStore({ searchPath, diff --git a/app/assets/javascripts/vue_shared/components/entity_select/entity_select.vue b/app/assets/javascripts/vue_shared/components/entity_select/entity_select.vue index 45c50dce8ce..9b45e969c90 100644 --- a/app/assets/javascripts/vue_shared/components/entity_select/entity_select.vue +++ b/app/assets/javascripts/vue_shared/components/entity_select/entity_select.vue @@ -13,6 +13,11 @@ export default { GlCollapsibleListbox, }, props: { + block: { + type: Boolean, + required: false, + default: false, + }, label: { type: String, required: true, @@ -176,6 +181,7 @@ export default { { orderBy, selected: initialSelection, } = el.dataset; + const block = parseBoolean(el.dataset.block); + const withShared = parseBoolean(el.dataset.withShared); const includeSubgroups = parseBoolean(el.dataset.includeSubgroups); const membership = parseBoolean(el.dataset.membership); const hasHtmlLabel = parseBoolean(el.dataset.hasHtmlLabel); @@ -37,6 +39,8 @@ export const initProjectSelects = () => { groupId, userId, orderBy, + block, + withShared, includeSubgroups, membership, initialSelection, diff --git a/app/assets/javascripts/vue_shared/components/entity_select/project_select.vue b/app/assets/javascripts/vue_shared/components/entity_select/project_select.vue index 393991d746e..7af3819f2a5 100644 --- a/app/assets/javascripts/vue_shared/components/entity_select/project_select.vue +++ b/app/assets/javascripts/vue_shared/components/entity_select/project_select.vue @@ -20,6 +20,11 @@ export default { SafeHtml, }, props: { + block: { + type: Boolean, + required: false, + default: false, + }, label: { type: String, required: true, @@ -47,6 +52,11 @@ export default { required: false, default: null, }, + withShared: { + type: Boolean, + required: false, + default: true, + }, includeSubgroups: { type: Boolean, required: false, @@ -86,7 +96,7 @@ export default { if (this.groupId) { return Api.groupProjects(this.groupId, searchString, { ...commonParams, - with_shared: true, + with_shared: this.withShared, include_subgroups: this.includeSubgroups, simple: true, }); @@ -99,7 +109,7 @@ export default { this.userId, searchString, { - with_shared: true, + with_shared: this.withShared, include_subgroups: this.includeSubgroups, }, (res) => ({ data: res }), @@ -154,6 +164,7 @@ export default { :default-toggle-text="$options.i18n.searchForProject" :fetch-items="fetchProjects" :fetch-initial-selection-text="fetchProjectName" + :block="block" clearable >