From 7212129029f4e7e68614066cc43802faba42c554 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 16 Aug 2022 15:09:45 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../Performance Indicator Metric.md | 23 -- .rubocop.yml | 3 - .rubocop_todo/rspec/be.yml | 22 ++ app/assets/javascripts/crm/constants.js | 4 + app/assets/javascripts/crm/contacts/bundle.js | 18 +- .../components/contact_form_wrapper.vue | 2 +- .../crm/contacts/components/contacts_root.vue | 220 +++++++++++++----- .../graphql/get_group_contacts.query.graphql | 29 ++- .../get_group_contacts_count_by_state.graphql | 11 + .../sidebar_job_details_container.vue | 9 +- .../drawer/cards/first_pipeline_card.vue | 4 +- .../javascripts/pipeline_editor/index.js | 2 - .../components/related_issues_block.vue | 6 +- .../sidebar_confidentiality_form.vue | 7 +- .../sidebar_confidentiality_widget.vue | 4 +- .../javascripts/sidebar/mount_sidebar.js | 8 + .../work_item_links/work_item_links.vue | 12 + app/graphql/types/merge_request_type.rb | 5 + .../detailed_merge_status_enum.rb | 44 ++++ app/helpers/ci/pipeline_editor_helper.rb | 1 - app/models/merge_request.rb | 35 ++- .../mergeability/check_base_service.rb | 8 +- .../check_broken_status_service.rb | 8 +- .../mergeability/check_ci_status_service.rb | 8 +- .../check_discussions_status_service.rb | 8 +- .../check_draft_status_service.rb | 8 +- .../mergeability/check_open_status_service.rb | 8 +- .../mergeability/run_checks_service.rb | 30 ++- .../application_settings/_ci_cd.html.haml | 2 +- app/views/groups/crm/contacts/index.html.haml | 2 +- data/deprecations/15-3-deprecate-redis-5.yml | 16 ++ doc/api/graphql/reference/index.md | 19 ++ doc/development/code_review.md | 38 +-- .../database/batched_background_migrations.md | 143 ++++++------ .../database/database_reviewer_guidelines.md | 2 +- .../performance_indicator_metrics.md | 5 +- doc/development/work_items.md | 4 +- doc/tutorials/make_your_first_git_commit.md | 4 +- doc/update/deprecations.md | 17 ++ .../application_security/api_fuzzing/index.md | 2 +- .../application_security/dast_api/index.md | 2 +- doc/user/group/subgroups/index.md | 22 ++ .../reduce_container_registry_storage.md | 23 +- doc/user/project/insights/index.md | 9 +- .../project/merge_requests/methods/index.md | 3 +- .../batched_migration_job.rb | 39 +++- .../primary_key_batching_strategy.rb | 30 ++- .../mergeability/check_result.rb | 4 +- locale/gitlab.pot | 6 +- spec/frontend/crm/contacts_root_spec.js | 56 ++++- spec/frontend/crm/mock_data.js | 22 ++ .../components/sidebar_detail_row_spec.js | 2 +- .../drawer/cards/first_pipeline_card_spec.js | 12 +- .../sidebar_confidentiality_form_spec.js | 25 +- .../sidebar_confidentiality_widget_spec.js | 5 +- .../work_item_links/work_item_links_spec.js | 16 ++ .../helpers/ci/pipeline_editor_helper_spec.rb | 2 - .../batched_migration_job_spec.rb | 123 +++++++++- .../primary_key_batching_strategy_spec.rb | 15 +- spec/models/merge_request_spec.rb | 56 +++++ .../check_broken_status_service_spec.rb | 7 +- .../check_ci_status_service_spec.rb | 7 +- .../check_discussions_status_service_spec.rb | 7 +- .../check_draft_status_service_spec.rb | 7 +- .../check_open_status_service_spec.rb | 7 +- .../mergeability/run_checks_service_spec.rb | 94 ++++++-- 66 files changed, 1061 insertions(+), 341 deletions(-) delete mode 100644 .gitlab/issue_templates/Performance Indicator Metric.md create mode 100644 .rubocop_todo/rspec/be.yml create mode 100644 app/assets/javascripts/crm/contacts/components/graphql/get_group_contacts_count_by_state.graphql create mode 100644 app/graphql/types/merge_requests/detailed_merge_status_enum.rb create mode 100644 data/deprecations/15-3-deprecate-redis-5.yml diff --git a/.gitlab/issue_templates/Performance Indicator Metric.md b/.gitlab/issue_templates/Performance Indicator Metric.md deleted file mode 100644 index 8019be8cad5..00000000000 --- a/.gitlab/issue_templates/Performance Indicator Metric.md +++ /dev/null @@ -1,23 +0,0 @@ - - -## Summary - - - -## Tasks - -- [ ] [Link to metric definition]() -- [ ] Create issue in GitLab Data Team project using [Product Performance Indicator template](https://gitlab.com/gitlab-data/analytics/-/issues/new?issuable_template=Product%20Performance%20Indicator%20Template) - -See [Product Intelligence Guide](https://docs.gitlab.com/ee/development/service_ping/performance_indicator_metrics.html) for details - -/label ~"product intelligence" ~"Data Warehouse::Impact Check" diff --git a/.rubocop.yml b/.rubocop.yml index 0aa37f2d9f0..8ddd5087bb7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -566,9 +566,6 @@ Graphql/Descriptions: RSpec/ImplicitSubject: Enabled: false -RSpec/Be: - Enabled: false - RSpec/DescribedClass: Enabled: false diff --git a/.rubocop_todo/rspec/be.yml b/.rubocop_todo/rspec/be.yml new file mode 100644 index 00000000000..dad8a7d730b --- /dev/null +++ b/.rubocop_todo/rspec/be.yml @@ -0,0 +1,22 @@ +--- +RSpec/Be: + Exclude: + - 'ee/spec/services/groups/transfer_service_spec.rb' + - 'spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb' + - 'spec/lib/gitlab/lets_encrypt/client_spec.rb' + - 'spec/lib/gitlab/search_context/builder_spec.rb' + - 'spec/migrations/20220503035221_add_gitlab_schema_to_batched_background_migrations_spec.rb' + - 'spec/models/concerns/issuable_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/snippet_repository_spec.rb' + - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb' + - 'spec/requests/api/graphql/mutations/snippets/create_spec.rb' + - 'spec/requests/api/pages_domains_spec.rb' + - 'spec/services/pages/delete_service_spec.rb' + - 'spec/services/pages/destroy_deployments_service_spec.rb' + - 'spec/services/pages/migrate_from_legacy_storage_service_spec.rb' + - 'spec/services/projects/update_pages_service_spec.rb' + - 'spec/support/shared_examples/requests/api/packages_shared_examples.rb' + - 'spec/uploaders/file_uploader_spec.rb' + - 'spec/uploaders/namespace_file_uploader_spec.rb' diff --git a/app/assets/javascripts/crm/constants.js b/app/assets/javascripts/crm/constants.js index 3b085837aea..815289e075e 100644 --- a/app/assets/javascripts/crm/constants.js +++ b/app/assets/javascripts/crm/constants.js @@ -1,3 +1,7 @@ export const INDEX_ROUTE_NAME = 'index'; export const NEW_ROUTE_NAME = 'new'; export const EDIT_ROUTE_NAME = 'edit'; +export const trackViewsOptions = { + category: 'Customer Relations' /* eslint-disable-line @gitlab/require-i18n-strings */, + action: 'view_contacts_list', +}; diff --git a/app/assets/javascripts/crm/contacts/bundle.js b/app/assets/javascripts/crm/contacts/bundle.js index f49ec64210f..fe62b7cfbe3 100644 --- a/app/assets/javascripts/crm/contacts/bundle.js +++ b/app/assets/javascripts/crm/contacts/bundle.js @@ -3,6 +3,7 @@ import Vue from 'vue'; import VueApollo from 'vue-apollo'; import VueRouter from 'vue-router'; import createDefaultClient from '~/lib/graphql'; +import { parseBoolean } from '~/lib/utils/common_utils'; import CrmContactsRoot from './components/contacts_root.vue'; import routes from './routes'; @@ -21,7 +22,14 @@ export default () => { return false; } - const { basePath, groupFullPath, groupIssuesPath, canAdminCrmContact, groupId } = el.dataset; + const { + basePath, + groupFullPath, + groupIssuesPath, + canAdminCrmContact, + groupId, + textQuery, + } = el.dataset; const router = new VueRouter({ base: basePath, @@ -33,7 +41,13 @@ export default () => { el, router, apolloProvider, - provide: { groupFullPath, groupIssuesPath, canAdminCrmContact, groupId }, + provide: { + groupFullPath, + groupIssuesPath, + canAdminCrmContact: parseBoolean(canAdminCrmContact), + groupId, + textQuery, + }, render(createElement) { return createElement(CrmContactsRoot); }, diff --git a/app/assets/javascripts/crm/contacts/components/contact_form_wrapper.vue b/app/assets/javascripts/crm/contacts/components/contact_form_wrapper.vue index be3b9bd72b8..b29089519e2 100644 --- a/app/assets/javascripts/crm/contacts/components/contact_form_wrapper.vue +++ b/app/assets/javascripts/crm/contacts/components/contact_form_wrapper.vue @@ -57,7 +57,7 @@ export default { getQuery() { return { query: getGroupContactsQuery, - variables: { groupFullPath: this.groupFullPath }, + variables: { groupFullPath: this.groupFullPath, ids: [this.contactGraphQLId] }, }; }, title() { diff --git a/app/assets/javascripts/crm/contacts/components/contacts_root.vue b/app/assets/javascripts/crm/contacts/components/contacts_root.vue index 9d6f34c73b7..562363ff88e 100644 --- a/app/assets/javascripts/crm/contacts/components/contacts_root.vue +++ b/app/assets/javascripts/crm/contacts/components/contacts_root.vue @@ -1,36 +1,54 @@