From c20ce49bdab650656be01968381f6ee1a5f96e7c Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 12 Apr 2023 06:47:21 +0000 Subject: Add latest changes from gitlab-org/gitlab@15-10-stable-ee --- .../broadcast_messages/components/message_form.vue | 39 +++++++----- .../admin/broadcast_messages/constants.js | 3 - .../javascripts/admin/broadcast_messages/edit.js | 4 ++ .../javascripts/admin/broadcast_messages/index.js | 11 +++- app/helpers/broadcast_messages_helper.rb | 17 +++++ app/views/admin/broadcast_messages/edit.html.haml | 13 +--- app/views/admin/broadcast_messages/index.html.haml | 2 + spec/features/admin/broadcast_messages_spec.rb | 73 ++++++++++++++++++++++ .../components/message_form_spec.js | 19 +++--- spec/helpers/broadcast_messages_helper_spec.rb | 20 ++++++ 10 files changed, 161 insertions(+), 40 deletions(-) create mode 100644 spec/features/admin/broadcast_messages_spec.rb diff --git a/app/assets/javascripts/admin/broadcast_messages/components/message_form.vue b/app/assets/javascripts/admin/broadcast_messages/components/message_form.vue index 65aa4cba074..4482198675d 100644 --- a/app/assets/javascripts/admin/broadcast_messages/components/message_form.vue +++ b/app/assets/javascripts/admin/broadcast_messages/components/message_form.vue @@ -17,13 +17,7 @@ import { redirectTo } from '~/lib/utils/url_utility'; import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants'; import SafeHtml from '~/vue_shared/directives/safe_html'; -import { - BROADCAST_MESSAGES_PATH, - MESSAGES_PREVIEW_PATH, - THEMES, - TYPES, - TYPE_BANNER, -} from '../constants'; +import { THEMES, TYPES, TYPE_BANNER } from '../constants'; import MessageFormGroup from './message_form_group.vue'; import DatetimePicker from './datetime_picker.vue'; @@ -49,7 +43,17 @@ export default { SafeHtml, }, mixins: [glFeatureFlagsMixin()], - inject: ['targetAccessLevelOptions'], + inject: { + targetAccessLevelOptions: { + default: [[]], + }, + messagesPath: { + default: '', + }, + previewPath: { + default: '', + }, + }, i18n: { message: s__('BroadcastMessages|Message'), messagePlaceholder: s__('BroadcastMessages|Your message here'), @@ -111,8 +115,8 @@ export default { }, formPath() { return this.isAddForm - ? BROADCAST_MESSAGES_PATH - : `${BROADCAST_MESSAGES_PATH}/${this.broadcastMessage.id}`; + ? this.messagesPath + : `${this.messagesPath}/${this.broadcastMessage.id}`; }, formPayload() { return JSON.stringify({ @@ -138,7 +142,7 @@ export default { const success = await this.submitForm(); if (success) { - redirectTo(BROADCAST_MESSAGES_PATH); + redirectTo(this.messagesPath); } else { this.loading = false; } @@ -161,7 +165,7 @@ export default { async renderPreview() { try { - const res = await axios.post(MESSAGES_PREVIEW_PATH, this.formPayload, FORM_HEADERS); + const res = await axios.post(this.previewPath, this.formPayload, FORM_HEADERS); this.renderedMessage = res.data; } catch (e) { this.renderedMessage = ''; @@ -175,7 +179,13 @@ export default {