From a2fd863d3be23fee66ec7036b8febb2605c17767 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 15 Aug 2022 21:09:52 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/rspec/verified_doubles.yml | 1 + .../components/invite_members_modal.vue | 68 +++++++++++++++++-- .../javascripts/invite_members/constants.js | 4 ++ .../components/states/mr_widget_rebase.vue | 4 -- .../components/widget/widget.vue | 62 ++++++++++------- .../projects/merge_requests_controller.rb | 1 - app/events/groups/group_deleted_event.rb | 16 +++++ app/services/groups/destroy_service.rb | 13 ++++ .../development/mr_review_submit_comment.yml | 2 +- .../skip_rugged_auto_detect.yml} | 12 ++-- ...ates_security_fortify_fod_sast_monthly.yml | 25 +++++++ ...icit_security_fortify_fod_sast_monthly.yml | 25 +++++++ ...lates_security_fortify_fod_sast_weekly.yml | 25 +++++++ ...licit_security_fortify_fod_sast_weekly.yml | 25 +++++++ config/sidekiq_queues.yml | 2 + .../compliance/compliance_report/index.md | 18 ++++- .../project/merge_requests/methods/index.md | 7 +- .../Security/Fortify-FoD-sast.gitlab-ci.yml | 52 ++++++++++++++ lib/gitlab/git/rugged_impl/use_rugged.rb | 1 + .../import_export/base/relation_factory.rb | 15 ++-- .../import_export/project/import_export.yml | 5 ++ .../known_events/ci_templates.yml | 8 +++ locale/gitlab.pot | 27 ++++---- qa/qa/support/knapsack_report.rb | 6 +- qa/qa/support/parallel_pipeline_jobs.rb | 4 +- .../gitlab/import_export/complex/project.json | 25 ++++++- .../tree/project/merge_requests.ndjson | 4 +- .../editor/schema/ci/ci_schema_spec.js | 10 +-- .../ci/yaml_tests/negative_tests/cache.yml | 8 +-- .../ci/yaml_tests/negative_tests/include.yml | 8 +-- .../ci/yaml_tests/negative_tests/rules.yml | 23 ++++--- .../ci/yaml_tests/positive_tests/cache.yml | 3 +- .../ci/yaml_tests/positive_tests/filter.yml | 10 ++- .../ci/yaml_tests/positive_tests/include.yml | 15 ++-- .../ci/yaml_tests/positive_tests/rules.yml | 12 ++-- .../components/invite_members_modal_spec.js | 44 ++++++++++-- .../invite_members/mock_data/api_responses.js | 15 ++++ .../invite_members/mock_data/member_modal.js | 5 ++ .../access_request_action_buttons_spec.js | 4 +- .../approve_access_request_button_spec.js | 4 +- .../invite_action_buttons_spec.js | 4 +- .../action_buttons/leave_button_spec.js | 4 +- .../remove_group_link_button_spec.js | 2 +- .../resend_invite_button_spec.js | 2 +- .../user_action_buttons_spec.js | 4 +- spec/frontend/members/components/app_spec.js | 4 +- .../components/avatars/group_avatar_spec.js | 2 +- .../components/avatars/user_avatar_spec.js | 4 +- .../filter_sort/filter_sort_container_spec.js | 4 +- .../members_filtered_search_bar_spec.js | 2 +- .../filter_sort/sort_dropdown_spec.js | 4 +- .../modals/remove_group_link_modal_spec.js | 4 +- .../modals/remove_member_modal_spec.js | 2 +- .../components/table/created_at_spec.js | 2 +- .../table/expiration_datepicker_spec.js | 2 +- .../table/member_action_buttons_spec.js | 2 +- .../components/table/member_avatar_spec.js | 2 +- .../table/members_table_cell_spec.js | 2 +- .../components/table/members_table_spec.js | 20 ++++-- .../components/table/role_dropdown_spec.js | 4 +- spec/frontend/members/index_spec.js | 2 +- .../components/mr_widget_rebase_spec.js | 39 ++--------- .../components/widget/widget_spec.js | 35 +++++++++- .../gitlab/git/rugged_impl/use_rugged_spec.rb | 56 ++++++++++----- spec/lib/gitlab/import_export/all_models.yml | 4 ++ .../base/relation_factory_spec.rb | 24 +++++++ .../project/tree_restorer_spec.rb | 5 ++ .../import_export/project/tree_saver_spec.rb | 9 ++- .../import_export/safe_model_attributes.yml | 6 ++ spec/services/groups/destroy_service_spec.rb | 11 +++ .../features/invite_members_modal_helper.rb | 16 ++++- .../inviting_members_shared_examples.rb | 51 ++++++++++++-- 72 files changed, 720 insertions(+), 232 deletions(-) create mode 100644 app/events/groups/group_deleted_event.rb rename config/feature_flags/{development/rebase_without_ci_ui.yml => ops/skip_rugged_auto_detect.yml} (56%) create mode 100644 config/metrics/counts_28d/20220715195415_p_ci_templates_security_fortify_fod_sast_monthly.yml create mode 100644 config/metrics/counts_28d/20220719133315_p_ci_templates_implicit_security_fortify_fod_sast_monthly.yml create mode 100644 config/metrics/counts_7d/20220715195411_p_ci_templates_security_fortify_fod_sast_weekly.yml create mode 100644 config/metrics/counts_7d/20220719133311_p_ci_templates_implicit_security_fortify_fod_sast_weekly.yml create mode 100644 lib/gitlab/ci/templates/Security/Fortify-FoD-sast.gitlab-ci.yml diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml index 84e862ff48b..70b54d5bc7f 100644 --- a/.rubocop_todo/rspec/verified_doubles.yml +++ b/.rubocop_todo/rspec/verified_doubles.yml @@ -210,6 +210,7 @@ RSpec/VerifiedDoubles: - ee/spec/views/layouts/header/_ee_subscribable_banner.html.haml_spec.rb - ee/spec/workers/ci/sync_reports_to_report_approval_rules_worker_spec.rb - ee/spec/workers/geo/container_repository_sync_worker_spec.rb + - ee/spec/workers/compliance_management/chain_of_custody_report_worker_spec.rb - ee/spec/workers/geo/design_repository_sync_worker_spec.rb - ee/spec/workers/geo/destroy_worker_spec.rb - ee/spec/workers/geo/event_worker_spec.rb diff --git a/app/assets/javascripts/invite_members/components/invite_members_modal.vue b/app/assets/javascripts/invite_members/components/invite_members_modal.vue index 674058bcaf0..87f1ed31a7f 100644 --- a/app/assets/javascripts/invite_members/components/invite_members_modal.vue +++ b/app/assets/javascripts/invite_members/components/invite_members_modal.vue @@ -6,6 +6,9 @@ import { GlLink, GlSprintf, GlFormCheckboxGroup, + GlButton, + GlCollapse, + GlIcon, } from '@gitlab/ui'; import { partition, isString, uniqueId, isEmpty } from 'lodash'; import InviteModalBase from 'ee_else_ce/invite_members/components/invite_modal_base.vue'; @@ -13,7 +16,7 @@ import Api from '~/api'; import ExperimentTracking from '~/experimentation/experiment_tracking'; import { BV_SHOW_MODAL, BV_HIDE_MODAL } from '~/lib/utils/constants'; import { getParameterValues } from '~/lib/utils/url_utility'; -import { n__ } from '~/locale'; +import { n__, sprintf } from '~/locale'; import { CLOSE_TO_LIMIT_COUNT, USERS_FILTER_ALL, @@ -38,6 +41,9 @@ export default { GlDropdownItem, GlSprintf, GlFormCheckboxGroup, + GlButton, + GlCollapse, + GlIcon, InviteModalBase, MembersTokenSelect, ModalConfetti, @@ -110,6 +116,8 @@ export default { mode: 'default', // Kept in sync with "base" selectedAccessLevel: undefined, + errorsLimit: 2, + isErrorsSectionExpanded: false, }; }, computed: { @@ -135,7 +143,7 @@ export default { return n__( "InviteMembersModal|The following member couldn't be invited", "InviteMembersModal|The following %d members couldn't be invited", - Object.keys(this.invalidMembers).length, + this.errorList.length, ); }, tasksToBeDoneEnabled() { @@ -187,6 +195,29 @@ export default { ? this.$options.labels.placeHolderDisabled : this.$options.labels.placeHolder; }, + errorList() { + return Object.entries(this.invalidMembers).map(([member, error]) => { + return { member, displayedMemberName: this.tokenName(member), message: error }; + }); + }, + errorsLimited() { + return this.errorList.slice(0, this.errorsLimit); + }, + errorsExpanded() { + return this.errorList.slice(this.errorsLimit); + }, + shouldErrorsSectionExpand() { + return Boolean(this.errorsExpanded.length); + }, + errorCollapseText() { + if (this.isErrorsSectionExpanded) { + return this.$options.labels.expandedErrors; + } + + return sprintf(this.$options.labels.collapsedErrors, { + count: this.errorsExpanded.length, + }); + }, }, mounted() { eventHub.$on('openModal', (options) => { @@ -311,6 +342,9 @@ export default { delete this.invalidMembers[memberName(token)]; this.invalidMembers = { ...this.invalidMembers }; }, + toggleErrorExpansion() { + this.isErrorsSectionExpanded = !this.isErrorsSectionExpanded; + }, }, labels: MEMBER_MODAL_LABELS, }; @@ -357,10 +391,36 @@ export default { > {{ $options.labels.memberErrorListText }} +