diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 6283ef42e..28c693935 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -276,4 +276,8 @@ module MergeRequestsHelper def any_organisations_share_logs?(organisations, type) organisations.any? { |organisation| organisation.send("#{type}_logs").filter_by_managing_organisation(organisations.where.not(id: organisation.id)).exists? } end + + def begin_merge_disabled?(merge_request) + merge_request.status != "ready_to_merge" || merge_request.merge_date.future? + end end diff --git a/app/views/merge_requests/_notification_banners.html.erb b/app/views/merge_requests/_notification_banners.html.erb index 38c05dbcd..9e6a085ca 100644 --- a/app/views/merge_requests/_notification_banners.html.erb +++ b/app/views/merge_requests/_notification_banners.html.erb @@ -19,3 +19,11 @@ No changes have been made. Try beginning the merge again. <% end %> <% end %> + +<% if @merge_request.merge_date&.future? %> + <%= govuk_notification_banner(title_text: "Important") do %> +

+ This merge is happening in the future. Wait until the merge date to begin this merge. +

+ <% end %> +<% end %> diff --git a/app/views/merge_requests/show.html.erb b/app/views/merge_requests/show.html.erb index 0fbde7621..040cd7704 100644 --- a/app/views/merge_requests/show.html.erb +++ b/app/views/merge_requests/show.html.erb @@ -12,7 +12,7 @@ <% unless @merge_request.status == "request_merged" || @merge_request.status == "processing" %>
- <%= govuk_button_link_to "Begin merge", merge_start_confirmation_merge_request_path(@merge_request), disabled: @merge_request.status != "ready_to_merge" %> + <%= govuk_button_link_to "Begin merge", merge_start_confirmation_merge_request_path(@merge_request), disabled: begin_merge_disabled?(@merge_request) %> <%= govuk_button_link_to "Delete merge request", delete_confirmation_merge_request_path(@merge_request), warning: true %>
<% end %>