Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/post_receive_service.rb')
-rw-r--r--app/services/post_receive_service.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/app/services/post_receive_service.rb b/app/services/post_receive_service.rb
index 69c9868c75c..79b613f6a88 100644
--- a/app/services/post_receive_service.rb
+++ b/app/services/post_receive_service.rb
@@ -29,9 +29,7 @@ class PostReceiveService
response.add_alert_message(message)
end
- broadcast_message = BroadcastMessage.current_banner_messages&.last&.message
response.add_alert_message(broadcast_message)
-
response.add_merge_request_urls(merge_request_urls)
# Neither User nor Project are guaranteed to be returned; an orphaned write deploy
@@ -74,6 +72,24 @@ class PostReceiveService
::MergeRequests::GetUrlsService.new(project).execute(params[:changes])
end
+
+ private
+
+ def broadcast_message
+ banner = nil
+
+ if project
+ scoped_messages = BroadcastMessage.current_banner_messages(project.full_path).select do |message|
+ message.target_path.present? && message.matches_current_path(project.full_path)
+ end
+
+ banner = scoped_messages.last
+ end
+
+ banner ||= BroadcastMessage.current_banner_messages.last
+
+ banner&.message
+ end
end
PostReceiveService.prepend_if_ee('EE::PostReceiveService')