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 @@