From 2705a15deaef07b1a38a53b9539d02f8ad499ce3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 13 May 2022 09:07:54 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo.yml | 6 - .../rescued_exceptions_variable_name.yml | 222 ++++++++ CONTRIBUTING.md | 13 +- .../crm/contacts/components/contacts_root.vue | 2 +- .../components/organizations_root.vue | 2 +- .../issuable/components/status_box.vue | 99 ++-- app/assets/javascripts/issues/issue.js | 4 +- .../issues/show/components/app.vue | 16 +- .../notes/components/comment_form.vue | 4 +- .../javascripts/notes/stores/getters.js | 5 +- .../merge_requests/init_merge_request_show.js | 8 +- .../components/crm_contacts/crm_contacts.vue | 14 +- .../javascripts/sidebar/mount_sidebar.js | 3 +- .../stores/mr_widget_store.js | 6 +- .../show/components/issuable_header.vue | 37 +- .../show/components/issuable_show_root.vue | 8 + app/assets/stylesheets/pages/detail_page.scss | 1 + app/helpers/badges_helper.rb | 2 +- app/helpers/issuables_helper.rb | 20 +- app/helpers/routing/projects_helper.rb | 16 +- app/presenters/issue_presenter.rb | 16 +- app/serializers/issue_board_entity.rb | 2 +- app/serializers/issue_entity.rb | 2 +- app/serializers/linked_issue_entity.rb | 2 +- app/services/members/creator_service.rb | 8 +- .../projects/merge_requests/_mr_box.html.haml | 7 +- app/views/shared/issuable/_sidebar.html.haml | 2 +- .../shared/issuable/_status_box.html.haml | 13 +- .../issue_type/_details_header.html.haml | 17 +- .../development/contacts_autocomplete.yml | 2 +- .../development/customer_relations.yml | 2 +- doc/ci/pipelines/cicd_minutes.md | 23 +- doc/install/index.md | 6 +- .../application_security/dast/checks/16.6.md | 2 +- .../dependency_scanning/index.md | 18 + doc/user/crm/index.md | 18 +- doc/user/permissions.md | 2 +- doc/user/project/clusters/add_eks_clusters.md | 2 +- doc/user/project/import/cvs.md | 4 +- .../project/merge_requests/code_quality.md | 2 +- .../project/merge_requests/reviews/index.md | 2 +- doc/user/shortcuts.md | 2 +- lib/gitlab/url_builder.rb | 2 + locale/gitlab.pot | 6 + .../maven/build_install.gradle.erb | 1 - .../push_over_http_file_size_spec.rb | 40 +- spec/frontend/crm/contacts_root_spec.js | 2 +- spec/frontend/crm/organizations_root_spec.js | 4 +- .../issuable/components/status_box_spec.js | 78 ++- spec/frontend/issues/issue_spec.js | 4 +- .../sidebar/components/crm_contacts_spec.js | 11 +- .../show/components/issuable_header_spec.js | 4 +- .../components/issuable_show_root_spec.js | 7 +- .../vue_shared/issuable/show/mock_data.js | 5 +- spec/helpers/badges_helper_spec.rb | 6 +- spec/helpers/issuables_helper_spec.rb | 35 ++ spec/helpers/merge_requests_helper_spec.rb | 25 - spec/lib/gitlab/url_builder_spec.rb | 16 +- .../projects/issue_links_controller_spec.rb | 11 + spec/serializers/issue_board_entity_spec.rb | 16 + spec/serializers/issue_entity_spec.rb | 13 + .../linked_project_issue_entity_spec.rb | 22 +- .../members/groups/creator_service_spec.rb | 24 +- .../members/projects/creator_service_spec.rb | 24 +- .../trial_status_widget_test_helper.rb | 9 + .../models/member_shared_examples.rb | 487 +++++++++--------- .../projects/issues/show.html.haml_spec.rb | 16 +- 67 files changed, 979 insertions(+), 531 deletions(-) create mode 100644 .rubocop_todo/naming/rescued_exceptions_variable_name.yml create mode 100644 spec/support/helpers/trial_status_widget_test_helper.rb diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index abe3a4faf4d..e4db93d1602 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -11,12 +11,6 @@ Gitlab/PolicyRuleBoolean: Exclude: - 'ee/app/policies/ee/identity_provider_policy.rb' -# Offense count: 218 -# Cop supports --auto-correct. -# Configuration parameters: PreferredName. -Naming/RescuedExceptionsVariableName: - Enabled: false - # Offense count: 29 # Configuration parameters: MinSize. Performance/CollectionLiteralInLoop: diff --git a/.rubocop_todo/naming/rescued_exceptions_variable_name.yml b/.rubocop_todo/naming/rescued_exceptions_variable_name.yml new file mode 100644 index 00000000000..8d4d2da29ac --- /dev/null +++ b/.rubocop_todo/naming/rescued_exceptions_variable_name.yml @@ -0,0 +1,222 @@ +--- +# Cop supports --auto-correct. +Naming/RescuedExceptionsVariableName: + # Offense count: 269 + # Temporarily disabled due to too many offenses + Enabled: false + Exclude: + - 'app/controllers/admin/projects_controller.rb' + - 'app/controllers/projects/google_cloud/deployments_controller.rb' + - 'app/controllers/projects/google_cloud/service_accounts_controller.rb' + - 'app/controllers/projects/merge_requests/drafts_controller.rb' + - 'app/controllers/projects/milestones_controller.rb' + - 'app/controllers/projects/mirrors_controller.rb' + - 'app/controllers/projects/repositories_controller.rb' + - 'app/controllers/projects_controller.rb' + - 'app/finders/repositories/changelog_tag_finder.rb' + - 'app/graphql/mutations/issues/move.rb' + - 'app/graphql/resolvers/ci/config_resolver.rb' + - 'app/graphql/resolvers/environments_resolver.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/application_setting.rb' + - 'app/models/blob_viewer/metrics_dashboard_yml.rb' + - 'app/models/ci/build.rb' + - 'app/models/ci/deleted_object.rb' + - 'app/models/clusters/concerns/elasticsearch_client.rb' + - 'app/models/concerns/prometheus_adapter.rb' + - 'app/models/concerns/repository_storage_movable.rb' + - 'app/models/concerns/x509_serial_number_attribute.rb' + - 'app/models/integrations/base_issue_tracker.rb' + - 'app/models/integrations/discord.rb' + - 'app/models/integrations/jenkins.rb' + - 'app/models/integrations/jira.rb' + - 'app/models/integrations/packagist.rb' + - 'app/models/integrations/pipelines_email.rb' + - 'app/models/integrations/prometheus.rb' + - 'app/models/performance_monitoring/prometheus_dashboard.rb' + - 'app/models/personal_access_token.rb' + - 'app/models/project.rb' + - 'app/models/repository.rb' + - 'app/models/snippet_repository.rb' + - 'app/models/u2f_registration.rb' + - 'app/models/wiki.rb' + - 'app/services/branches/delete_service.rb' + - 'app/services/branches/validate_new_service.rb' + - 'app/services/ci/job_artifacts/create_service.rb' + - 'app/services/ci/parse_dotenv_artifact_service.rb' + - 'app/services/ci/register_job_service.rb' + - 'app/services/ci/stuck_builds/drop_helpers.rb' + - 'app/services/clusters/applications/prometheus_update_service.rb' + - 'app/services/commits/change_service.rb' + - 'app/services/commits/create_service.rb' + - 'app/services/dependency_proxy/head_manifest_service.rb' + - 'app/services/dependency_proxy/request_token_service.rb' + - 'app/services/design_management/copy_design_collection/copy_service.rb' + - 'app/services/git/base_hooks_service.rb' + - 'app/services/grafana/proxy_service.rb' + - 'app/services/groups/update_shared_runners_service.rb' + - 'app/services/issues/relative_position_rebalancing_service.rb' + - 'app/services/jira/requests/base.rb' + - 'app/services/jira_import/start_import_service.rb' + - 'app/services/jira_import/users_importer.rb' + - 'app/services/lfs/lock_file_service.rb' + - 'app/services/lfs/locks_finder_service.rb' + - 'app/services/lfs/push_service.rb' + - 'app/services/lfs/unlock_file_service.rb' + - 'app/services/merge_requests/merge_to_ref_service.rb' + - 'app/services/merge_requests/mergeability_check_service.rb' + - 'app/services/metrics/dashboard/base_service.rb' + - 'app/services/metrics/dashboard/panel_preview_service.rb' + - 'app/services/projects/cleanup_service.rb' + - 'app/services/projects/destroy_service.rb' + - 'app/services/projects/hashed_storage/base_repository_service.rb' + - 'app/services/projects/transfer_service.rb' + - 'app/services/prometheus/proxy_service.rb' + - 'app/services/resource_access_tokens/revoke_service.rb' + - 'app/services/tags/create_service.rb' + - 'app/services/tags/destroy_service.rb' + - 'app/services/users/validate_manual_otp_service.rb' + - 'app/services/users/validate_push_otp_service.rb' + - 'app/services/verify_pages_domain_service.rb' + - 'app/validators/js_regex_validator.rb' + - 'app/workers/concerns/limited_capacity/worker.rb' + - 'app/workers/gitlab/jira_import/import_issue_worker.rb' + - 'app/workers/issuable_export_csv_worker.rb' + - 'app/workers/namespaces/root_statistics_worker.rb' + - 'app/workers/namespaces/schedule_aggregation_worker.rb' + - 'app/workers/packages/go/sync_packages_worker.rb' + - 'app/workers/project_destroy_worker.rb' + - 'app/workers/project_service_worker.rb' + - 'app/workers/projects/git_garbage_collect_worker.rb' + - 'app/workers/remove_expired_members_worker.rb' + - 'app/workers/users/create_statistics_worker.rb' + - 'config/initializers/rspec_profiling.rb' + - 'config/initializers/wikicloth_redos_patch.rb' + - 'db/post_migrate/20210606143426_add_index_for_container_registry_access_level.rb' + - 'db/post_migrate/20211206162601_cleanup_after_add_primary_email_to_emails_if_user_confirmed.rb' + - 'db/post_migrate/20220318111729_cleanup_after_fixing_issue_when_admin_changed_primary_email.rb' + - 'db/post_migrate/20220504083836_cleanup_after_fixing_regression_with_new_users_emails.rb' + - 'ee/app/finders/projects/integrations/jira/by_ids_finder.rb' + - 'ee/app/graphql/mutations/issues/promote_to_epic.rb' + - 'ee/app/graphql/mutations/issues/set_epic.rb' + - 'ee/app/helpers/ee/kerberos_spnego_helper.rb' + - 'ee/app/models/concerns/geo/replicable_model.rb' + - 'ee/app/models/integrations/github.rb' + - 'ee/app/services/app_sec/dast/profiles/create_service.rb' + - 'ee/app/services/app_sec/dast/profiles/update_service.rb' + - 'ee/app/services/app_sec/dast/scans/create_service.rb' + - 'ee/app/services/app_sec/dast/site_validations/find_or_create_service.rb' + - 'ee/app/services/app_sec/dast/site_validations/revoke_service.rb' + - 'ee/app/services/app_sec/fuzzing/coverage/corpuses/create_service.rb' + - 'ee/app/services/arkose/user_verification_service.rb' + - 'ee/app/services/ci/sync_reports_to_approval_rules_service.rb' + - 'ee/app/services/elastic/process_bookkeeping_service.rb' + - 'ee/app/services/geo/file_registry_removal_service.rb' + - 'ee/app/services/geo/framework_repository_sync_service.rb' + - 'ee/app/services/geo/move_repository_service.rb' + - 'ee/app/services/geo/repository_base_sync_service.rb' + - 'ee/app/services/incident_management/oncall_rotations/create_service.rb' + - 'ee/app/services/incident_management/oncall_rotations/edit_service.rb' + - 'ee/app/services/namespaces/deactivate_members_over_limit_service.rb' + - 'ee/app/services/namespaces/remove_project_group_links_outside_hierarchy_service.rb' + - 'ee/app/services/namespaces/update_prevent_sharing_outside_hierarchy_service.rb' + - 'ee/app/services/projects/licenses/create_policy_service.rb' + - 'ee/app/services/projects/licenses/update_policy_service.rb' + - 'ee/app/services/security/ingestion/ingest_report_service.rb' + - 'ee/app/services/security/orchestration/assign_service.rb' + - 'ee/app/services/security/store_grouped_scans_service.rb' + - 'ee/app/services/security/store_scan_service.rb' + - 'ee/app/services/security/token_revocation_service.rb' + - 'ee/app/services/software_license_policies/create_service.rb' + - 'ee/app/services/software_license_policies/update_service.rb' + - 'ee/app/workers/adjourned_project_deletion_worker.rb' + - 'ee/app/workers/geo/file_removal_worker.rb' + - 'ee/app/workers/geo/repositories_clean_up_worker.rb' + - 'ee/app/workers/geo/scheduler/scheduler_worker.rb' + - 'ee/app/workers/namespaces/free_user_cap_worker.rb' + - 'ee/app/workers/refresh_license_compliance_checks_worker.rb' + - 'ee/app/workers/repository_update_mirror_worker.rb' + - 'ee/app/workers/sync_seat_link_request_worker.rb' + - 'ee/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings.rb' + - 'ee/lib/elastic/instance_proxy_util.rb' + - 'ee/lib/gitlab/audit/auditor.rb' + - 'ee/lib/gitlab/auth/smartcard/base.rb' + - 'ee/lib/gitlab/ci/parsers/license_compliance/license_scanning.rb' + - 'ee/lib/gitlab/elastic/bulk_indexer.rb' + - 'ee/lib/gitlab/spdx/catalogue_gateway.rb' + - 'ee/lib/tasks/gitlab/seed/metrics.rake' + - 'lib/api/environments.rb' + - 'lib/api/helpers.rb' + - 'lib/api/helpers/label_helpers.rb' + - 'lib/api/issues.rb' + - 'lib/api/project_milestones.rb' + - 'lib/api/projects.rb' + - 'lib/api/repositories.rb' + - 'lib/api/v3/github.rb' + - 'lib/gitaly/server.rb' + - 'lib/gitlab/auth/ldap/adapter.rb' + - 'lib/gitlab/auth/otp/strategies/forti_authenticator/manual_otp.rb' + - 'lib/gitlab/auth/otp/strategies/forti_authenticator/push_otp.rb' + - 'lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans.rb' + - 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb' + - 'lib/gitlab/ci/config/external/file/artifact.rb' + - 'lib/gitlab/ci/pipeline/chain/config/process.rb' + - 'lib/gitlab/ci/pipeline/chain/validate/external.rb' + - 'lib/gitlab/ci/reports/codequality_reports.rb' + - 'lib/gitlab/database/background_migration/batched_job.rb' + - 'lib/gitlab/database/background_migration/batched_migration_wrapper.rb' + - 'lib/gitlab/database/batch_counter.rb' + - 'lib/gitlab/database/load_balancing/load_balancer.rb' + - 'lib/gitlab/database/load_balancing/service_discovery.rb' + - 'lib/gitlab/database/reindexing/grafana_notifier.rb' + - 'lib/gitlab/git/keep_around.rb' + - 'lib/gitlab/gitaly_client/call.rb' + - 'lib/gitlab/gitaly_client/commit_service.rb' + - 'lib/gitlab/gitaly_client/operation_service.rb' + - 'lib/gitlab/gitaly_client/ref_service.rb' + - 'lib/gitlab/gitaly_client/repository_service.rb' + - 'lib/gitlab/hashed_storage/migrator.rb' + - 'lib/gitlab/health_checks/base_abstract_check.rb' + - 'lib/gitlab/import_export/merge_request_parser.rb' + - 'lib/gitlab/instrumentation/redis_interceptor.rb' + - 'lib/gitlab/issuables_count_for_state.rb' + - 'lib/gitlab/jira_import/issues_importer.rb' + - 'lib/gitlab/json.rb' + - 'lib/gitlab/jwt_token.rb' + - 'lib/gitlab/kubernetes/namespace.rb' + - 'lib/gitlab/metrics/dashboard/stages/panel_ids_inserter.rb' + - 'lib/gitlab/metrics/rack_middleware.rb' + - 'lib/gitlab/middleware/handle_ip_spoof_attack_error.rb' + - 'lib/gitlab/prometheus/queries/validate_query.rb' + - 'lib/gitlab/prometheus_client.rb' + - 'lib/gitlab/sanitizers/exif.rb' + - 'lib/gitlab/sidekiq_logging/structured_logger.rb' + - 'lib/gitlab/tcp_checker.rb' + - 'lib/gitlab/template_parser/parser.rb' + - 'lib/gitlab/tracking.rb' + - 'lib/gitlab/url_blocker.rb' + - 'lib/gitlab/usage/metrics/aggregates/aggregate.rb' + - 'lib/gitlab/usage_data.rb' + - 'lib/gitlab/utils/usage_data.rb' + - 'lib/gitlab/verify/batch_verifier.rb' + - 'lib/gitlab/wiki_pages/front_matter_parser.rb' + - 'lib/microsoft_teams/notifier.rb' + - 'lib/system_check/incoming_email/imap_authentication_check.rb' + - 'lib/tasks/gitlab/db/validate_config.rake' + - 'lib/tasks/gitlab/setup.rake' + - 'lib/tasks/gitlab/storage.rake' + - 'lib/tasks/lint.rake' + - 'qa/qa/resource/user_gpg.rb' + - 'scripts/review_apps/automated_cleanup.rb' + - 'scripts/trigger-build.rb' + - 'spec/commands/metrics_server/metrics_server_spec.rb' + - 'spec/db/docs_spec.rb' + - 'spec/lib/bulk_imports/network_error_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/host_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb' + - 'spec/lib/gitlab/error_tracking_spec.rb' + - 'spec/lib/gitlab/sanitizers/exception_message_spec.rb' + - 'spec/support/capybara.rb' + - 'spec/support/helpers/capybara_helpers.rb' + - 'tooling/lib/tooling/helm3_client.rb' + - 'tooling/lib/tooling/kubernetes_client.rb' diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1818bca1e46..ac3fbaddf8f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,12 @@ -## Contributor license agreement +## Contributor License Agreement and Developer Certificate of Origin -By submitting code as an individual you agree to the -[individual contributor license agreement](doc/legal/individual_contributor_license_agreement.md). -By submitting code as an entity you agree to the -[corporate contributor license agreement](doc/legal/corporate_contributor_license_agreement.md). +Contributions to this repository are subject to the [Developer Certificate of Origin](https://docs.gitlab.com/ee/legal/developer_certificate_of_origin.html#developer-certificate-of-origin-version-11), or the [Individual](https://docs.gitlab.com/ee/legal/individual_contributor_license_agreement.html) or [Corporate](https://docs.gitlab.com/ee/legal/corporate_contributor_license_agreement.html) Contributor License Agreement, depending on where the contribution is made and on whose behalf: + +- By submitting code contributions as an individual to the [`/ee` subdirectory](/ee) of this repository, you agree to the [Individual Contributor License Agreement](https://docs.gitlab.com/ee/legal/individual_contributor_license_agreement.html). + +- By submitting code contributions on behalf of a corporation to the [`/ee` subdirectory](/ee) of this repository, you agree to the [Corporate Contributor License Agreement](https://docs.gitlab.com/ee/legal/corporate_contributor_license_agreement.html). + +- By submitting code contributions as an individual or on behalf of a corporation to any directory in this repository outside of the [`/ee` subdirectory](/ee), you agree to the [Developer Certificate of Origin](https://docs.gitlab.com/ee/legal/developer_certificate_of_origin.html#developer-certificate-of-origin-version-11). All Documentation content that resides under the [`doc/` directory](/doc) of this repository is licensed under Creative Commons: diff --git a/app/assets/javascripts/crm/contacts/components/contacts_root.vue b/app/assets/javascripts/crm/contacts/components/contacts_root.vue index 17be3800256..9d6f34c73b7 100644 --- a/app/assets/javascripts/crm/contacts/components/contacts_root.vue +++ b/app/assets/javascripts/crm/contacts/components/contacts_root.vue @@ -55,7 +55,7 @@ export default { return contacts.slice().sort((a, b) => a.firstName.localeCompare(b.firstName)); }, getIssuesPath(path, value) { - return `${path}?scope=all&state=opened&crm_contact_id=${value}`; + return `${path}?crm_contact_id=${value}`; }, getEditRoute(id) { return { name: this.$options.EDIT_ROUTE_NAME, params: { id } }; diff --git a/app/assets/javascripts/crm/organizations/components/organizations_root.vue b/app/assets/javascripts/crm/organizations/components/organizations_root.vue index 522e29eb2af..a165dd68603 100644 --- a/app/assets/javascripts/crm/organizations/components/organizations_root.vue +++ b/app/assets/javascripts/crm/organizations/components/organizations_root.vue @@ -55,7 +55,7 @@ export default { return organizations.slice().sort((a, b) => a.name.localeCompare(b.name)); }, getIssuesPath(path, value) { - return `${path}?scope=all&state=opened&crm_organization_id=${value}`; + return `${path}?crm_organization_id=${value}`; }, getEditRoute(id) { return { name: this.$options.EDIT_ROUTE_NAME, params: { id } }; diff --git a/app/assets/javascripts/issuable/components/status_box.vue b/app/assets/javascripts/issuable/components/status_box.vue index 8aaf42ce3da..cd4f98ba505 100644 --- a/app/assets/javascripts/issuable/components/status_box.vue +++ b/app/assets/javascripts/issuable/components/status_box.vue @@ -1,37 +1,48 @@ diff --git a/app/assets/javascripts/issues/issue.js b/app/assets/javascripts/issues/issue.js index 8e27f547b5c..a9321cf200d 100644 --- a/app/assets/javascripts/issues/issue.js +++ b/app/assets/javascripts/issues/issue.js @@ -49,8 +49,8 @@ export default class Issue { issueFailMessage = __('Unable to update this issue at this time.'), ) { if ('id' in data) { - const isClosedBadge = $('div.status-box-issue-closed'); - const isOpenBadge = $('div.status-box-open'); + const isClosedBadge = $('.issuable-status-badge-closed'); + const isOpenBadge = $('.issuable-status-badge-open'); const projectIssuesCounter = $('.issue_counter'); isClosedBadge.toggleClass('hidden', !isClosed); diff --git a/app/assets/javascripts/issues/show/components/app.vue b/app/assets/javascripts/issues/show/components/app.vue index 8f8e38c5b9f..65d86d2936c 100644 --- a/app/assets/javascripts/issues/show/components/app.vue +++ b/app/assets/javascripts/issues/show/components/app.vue @@ -1,5 +1,5 @@ @@ -110,8 +118,8 @@ export default { :key="index" class="gl-pr-2" > - {{ contact.firstName }} {{ contact.lastName }}{{ divider(index) }}{{ contact.firstName }} {{ contact.lastName }}{{ divider(index) }} -import { GlIcon, GlButton, GlTooltipDirective, GlAvatarLink, GlAvatarLabeled } from '@gitlab/ui'; +import { + GlIcon, + GlBadge, + GlButton, + GlTooltipDirective, + GlAvatarLink, + GlAvatarLabeled, +} from '@gitlab/ui'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import { isExternal } from '~/lib/utils/url_utility'; import { n__, sprintf } from '~/locale'; import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue'; +import { IssuableStates } from '~/vue_shared/issuable/list/constants'; export default { components: { GlIcon, + GlBadge, GlButton, GlAvatarLink, GlAvatarLabeled, @@ -26,6 +35,11 @@ export default { type: Object, required: true, }, + issuableState: { + type: String, + required: false, + default: '', + }, statusBadgeClass: { type: String, required: false, @@ -36,6 +50,11 @@ export default { required: false, default: '', }, + statusIconClass: { + type: String, + required: false, + default: '', + }, blocked: { type: Boolean, required: false, @@ -53,6 +72,9 @@ export default { }, }, computed: { + badgeVariant() { + return this.issuableState === IssuableStates.Opened ? 'success' : 'info'; + }, authorId() { return getIdFromGraphQLId(`${this.author.id}`); }, @@ -91,10 +113,15 @@ export default {