From b8590da02401d8c3666c49277fbd8ae3d71d6dd0 Mon Sep 17 00:00:00 2001
From: Douwe Maan <douwe@gitlab.com>
Date: Sat, 8 Aug 2015 21:16:16 +0200
Subject: [PATCH] Improve MR merge widget text and UI consistency.

---
 CHANGELOG                                     |  1 +
 .../merge_requests/widget/_closed.html.haml   |  3 +-
 .../merge_requests/widget/_heading.html.haml  |  7 ++--
 .../merge_requests/widget/_locked.html.haml   |  3 +-
 .../merge_requests/widget/_merged.html.haml   | 24 +++++++++-----
 .../merge_requests/widget/_open.html.haml     |  2 +-
 .../widget/open/_accept.html.haml             |  6 ++--
 .../widget/open/_archived.html.haml           |  4 ++-
 .../widget/open/_check.html.haml              |  4 +--
 .../widget/open/_conflicts.html.haml          | 17 +++++-----
 .../widget/open/_missing_branch.html.haml     | 32 +++++++++----------
 .../widget/open/_not_allowed.html.haml        |  6 ++--
 .../widget/open/_nothing.html.haml            | 12 +++----
 .../widget/open/_reload.html.haml             |  7 +++-
 .../merge_requests/widget/open/_wip.html.haml | 16 +++-------
 app/views/shared/issuable/_form.html.haml     |  4 +--
 16 files changed, 79 insertions(+), 69 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 4cb8032284..fe08c8e2bc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -43,6 +43,7 @@ v 7.14.0 (unreleased)
   - Fetch code from forks to refs/merge-requests/:id/head when merge request created
   - Remove satellites
   - Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
+  - Improve MR merge widget text and UI consistency.
 
 v 7.13.3
   - Fix bug causing Bitbucket importer to crash when OAuth application had been removed.
diff --git a/app/views/projects/merge_requests/widget/_closed.html.haml b/app/views/projects/merge_requests/widget/_closed.html.haml
index b5704c502c..6f85b89e2c 100644
--- a/app/views/projects/merge_requests/widget/_closed.html.haml
+++ b/app/views/projects/merge_requests/widget/_closed.html.haml
@@ -6,4 +6,5 @@
       - if @merge_request.closed_event
         by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)}
         #{time_ago_with_tooltip(@merge_request.closed_event.created_at)}
-    %p Changes were not merged into target branch
+    %p 
+      The changes were not merged into the target branch.
diff --git a/app/views/projects/merge_requests/widget/_heading.html.haml b/app/views/projects/merge_requests/widget/_heading.html.haml
index 17d529766e..5c6827b54c 100644
--- a/app/views/projects/merge_requests/widget/_heading.html.haml
+++ b/app/views/projects/merge_requests/widget/_heading.html.haml
@@ -9,16 +9,15 @@
         %span CI build #{status}
         for #{@merge_request.last_commit_short_sha}.
         %span.ci-coverage
-        = link_to "View build page", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
+        = link_to "View build details", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
 
     .ci_widget
       = icon("spinner spin")
-      Checking for CI status for #{@merge_request.last_commit_short_sha}
+      Checking CI status for #{@merge_request.last_commit_short_sha}
 
     .ci_widget.ci-not_found{style: "display:none"}
       = icon("times-circle")
-      %span Can not find commit in the CI server
-      for #{@merge_request.last_commit_short_sha}.
+      %span Cannot find status on the CI server for #{@merge_request.last_commit_short_sha}.
 
     .ci_widget.ci-error{style: "display:none"}
       = icon("times-circle")
diff --git a/app/views/projects/merge_requests/widget/_locked.html.haml b/app/views/projects/merge_requests/widget/_locked.html.haml
index 13ec278847..300a70d733 100644
--- a/app/views/projects/merge_requests/widget/_locked.html.haml
+++ b/app/views/projects/merge_requests/widget/_locked.html.haml
@@ -2,7 +2,8 @@
   = render 'projects/merge_requests/widget/heading'
   .mr-widget-body
     %h4
+      = icon("spinner spin")
       Merge in progress...
     %p
-      Merging is in progress. While merging this request is locked and cannot be closed.
+      This merge request is in the process of being merged, during which time it is locked and cannot be closed.
 
diff --git a/app/views/projects/merge_requests/widget/_merged.html.haml b/app/views/projects/merge_requests/widget/_merged.html.haml
index a3b1314081..d22dfa085b 100644
--- a/app/views/projects/merge_requests/widget/_merged.html.haml
+++ b/app/views/projects/merge_requests/widget/_merged.html.haml
@@ -7,23 +7,31 @@
         by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)}
         #{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
     %div
-      - if @source_branch.blank?
-        Source branch has been removed
+      - if !@merge_request.source_branch_exists?
+        = succeed '.' do
+          The changes were merged into
+          %span.label-branch= @merge_request.target_branch
+        The source branch has been removed.
 
-      - elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch) && @merge_request.merged?
+      - elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch)
         .remove_source_branch_widget
-          %p Changes merged into #{@merge_request.target_branch}. You can remove source branch now
+          %p 
+            = succeed '.' do
+              The changes were merged into
+              %span.label-branch= @merge_request.target_branch
+            You can remove the source branch now.
           = link_to namespace_project_branch_path(@merge_request.source_project.namespace, @merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-sm remove_source_branch" do
             %i.fa.fa-times
             Remove Source Branch
 
         .remove_source_branch_widget.failed.hide
-          Failed to remove source branch '#{@merge_request.source_branch}'
+          %p 
+            Failed to remove source branch '#{@merge_request.source_branch}'.
 
         .remove_source_branch_in_progress.hide
-          %i.fa.fa-spinner.fa-spin
-          &nbsp;
-          Removing source branch '#{@merge_request.source_branch}'. Please wait. Page will be automatically reloaded. &nbsp;
+          %p
+            = icon('spinner spin')
+            Removing source branch '#{@merge_request.source_branch}'. Please wait. This page will be automatically reload.
 
         :coffeescript
           $('.remove_source_branch').on 'click', ->
diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml
index f420cdcab4..0aad9bb3e8 100644
--- a/app/views/projects/merge_requests/widget/_open.html.haml
+++ b/app/views/projects/merge_requests/widget/_open.html.haml
@@ -22,6 +22,6 @@
     .mr-widget-footer
       %span
         %i.fa.fa-check
-        Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'}
+        Accepting this merge request will close #{"issue".pluralize(@closes_issues.size)}
         = succeed '.' do
           != gfm(issues_sentence(@closes_issues))
diff --git a/app/views/projects/merge_requests/widget/open/_accept.html.haml b/app/views/projects/merge_requests/widget/open/_accept.html.haml
index 1be98cbe8d..e1525f6aeb 100644
--- a/app/views/projects/merge_requests/widget/open/_accept.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_accept.html.haml
@@ -8,10 +8,10 @@
       .accept-control.checkbox
         = label_tag :should_remove_source_branch, class: "remove_source_checkbox" do
           = check_box_tag :should_remove_source_branch
-          Remove source-branch
+          Remove source branch
     .accept-control
-      = link_to "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message" do
-        %i.fa.fa-edit
+      = link_to "#", class: "modify-merge-commit-link js-toggle-button" do
+        = icon('edit')
         Modify commit message
     .js-toggle-content.hide.prepend-top-20
       = render 'shared/commit_message_container', params: params,
diff --git a/app/views/projects/merge_requests/widget/open/_archived.html.haml b/app/views/projects/merge_requests/widget/open/_archived.html.haml
index eaf113ee56..ab30fa6b24 100644
--- a/app/views/projects/merge_requests/widget/open/_archived.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_archived.html.haml
@@ -1,2 +1,4 @@
+%h4 
+  Project is archived
 %p
-  %strong Archived projects do not provide commit access.
+  This merge request cannot be merged because archived projects cannot be written to.
diff --git a/app/views/projects/merge_requests/widget/open/_check.html.haml b/app/views/projects/merge_requests/widget/open/_check.html.haml
index e775447cb7..1fb0023ad1 100644
--- a/app/views/projects/merge_requests/widget/open/_check.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_check.html.haml
@@ -1,6 +1,6 @@
 %strong
-  %i.fa.fa-spinner.fa-spin
-  Checking automatic merge鈥�
+  = icon("spinner spin")
+  Checking ability to merge automatically...
 
 :coffeescript
   $ ->
diff --git a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml b/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
index 440a7aa1c6..e6c089fefb 100644
--- a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
@@ -1,11 +1,10 @@
 %h4
-  This merge request contains merge conflicts that must be resolved.
+  = icon("exclamation-triangle")
+  This merge request contains merge conflicts
 
-- if @merge_request.can_be_merged_by?(current_user)
-  %p
-    You can merge it manually using the
-    %strong
-      = link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
-- else
-  %p
-    Only those with write access to this repository can merge merge requests.
+%p
+  Please resolve these conflicts or 
+  - if @merge_request.can_be_merged_by?(current_user)
+    #{link_to "merge this request manually", "#modal_merge_info", class: "how_to_merge_link vlink", "data-toggle" => "modal"}.
+  - else
+    ask someone with write access to this repository to merge this request manually.
diff --git a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml b/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
index 1c565bae80..c9f0762949 100644
--- a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
@@ -1,16 +1,16 @@
-%h4
-  Can't be merged
-%p
-  This merge request can not be accepted because branch
-  - unless @merge_request.source_branch_exists?
-    %span.label.label-inverse= @merge_request.source_branch
-    does not exist in
-    %span.label.label-info= @merge_request.source_project_path
-    %br
-    %strong Please close this merge request and open a new merge request to change source branches.
-  - else
-    %span.label.label-inverse= @merge_request.target_branch
-    does not exist in
-    %span.label.label-info= @merge_request.target_project_path
-    %br
-    %strong Please close this merge request or change to another target branch.
+- unless @merge_request.source_branch_exists?
+  %h4
+    = icon("exclamation-triangle")
+    Source branch
+    %span.label-branch= source_branch_with_namespace(@merge_request)
+    does not exist
+  %p
+    Please restore the source branch or close this merge request and open a new merge request with a different source branch.
+- else
+  %h4
+    = icon("exclamation-triangle")
+    Target branch
+    %span.label-branch= @merge_request.target_branch
+    does not exist
+  %p
+    Please restore the target branch or use a different target branch.
diff --git a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml b/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
index 82f6ffd8fc..a8145558ca 100644
--- a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
@@ -1,2 +1,4 @@
-%strong This request can be merged automatically.
-Only those with write access to this repository can merge merge requests.
+%h4 
+  Ready to be merged automatically
+%p
+  Ask someone with write access to this repository to merge this request.
diff --git a/app/views/projects/merge_requests/widget/open/_nothing.html.haml b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
index 4d526576bc..705bd55a94 100644
--- a/app/views/projects/merge_requests/widget/open/_nothing.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
@@ -1,8 +1,8 @@
-%h4 Nothing to merge
-%p
+%h4 
+  = icon("exclamation-triangle")
   Nothing to merge from
-  %span.label-branch #{@merge_request.source_branch}
+  %span.label-branch= source_branch_with_namespace(@merge_request)
   to
-  %span.label-branch #{@merge_request.target_branch}
-  %br
-  Try to use different branches or push new code.
+  %span.label-branch= @merge_request.target_branch
+%p
+  Please push new commits to the source branch or use a different target branch.
diff --git a/app/views/projects/merge_requests/widget/open/_reload.html.haml b/app/views/projects/merge_requests/widget/open/_reload.html.haml
index 5787f6efea..0195cea080 100644
--- a/app/views/projects/merge_requests/widget/open/_reload.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_reload.html.haml
@@ -1 +1,6 @@
-This merge request cannot be merged. Try to reload the page.
+%h4
+  = icon("exclamation-triangle")
+  This merge request could not be merged automatically
+
+%p
+  Please reload the page to find out the reason.
diff --git a/app/views/projects/merge_requests/widget/open/_wip.html.haml b/app/views/projects/merge_requests/widget/open/_wip.html.haml
index 4ce3ab3127..0cf16542cc 100644
--- a/app/views/projects/merge_requests/widget/open/_wip.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_wip.html.haml
@@ -1,13 +1,5 @@
-- if @merge_request.can_be_merged_by?(current_user)
-  %h4
-    This merge request cannot be accepted because it is marked as Work In Progress.
+%h4
+  This merge request is currently a Work In Progress
 
-  %p
-    %button.btn.disabled{:type => 'button'}
-      %i.fa.fa-warning
-      Accept Merge Request
-    &nbsp;
-    When the merge request is ready, remove the "WIP" prefix from the title to allow it to be accepted.
-- else
-  %strong This merge request is marked as Work In Progress.
-  Only those with write access to this repository can merge merge requests.
+%p
+  When this merge request is ready, remove the "WIP" prefix from the title to allow it to be merged.
diff --git a/app/views/shared/issuable/_form.html.haml b/app/views/shared/issuable/_form.html.haml
index ac8c1936c9..3489bf3f19 100644
--- a/app/views/shared/issuable/_form.html.haml
+++ b/app/views/shared/issuable/_form.html.haml
@@ -16,10 +16,10 @@
       %p.help-block
         - if issuable.work_in_progress?
           Remove the <code>WIP</code> prefix from the title to allow this
-          <strong>Work In Progress</strong> merge request to be accepted when it's ready.
+          <strong>Work In Progress</strong> merge request to be merged when it's ready.
         - else
           Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
-          <strong>Work In Progress</strong> merge request from being accepted before it's ready.
+          <strong>Work In Progress</strong> merge request from being merged before it's ready.
 .form-group.issuable-description
   = f.label :description, 'Description', class: 'control-label'
   .col-sm-10
-- 
2.30.9