Commit a163135cb5bd9886b634d8026b7adf473b023782

Authored by Dmitriy Zaporozhets
1 parent a0cc3882

Intead of showing 404 give users ability to close MR with missing branches

app/assets/stylesheets/common.scss
@@ -543,3 +543,15 @@ img.emoji { @@ -543,3 +543,15 @@ img.emoji {
543 .appear-data { 543 .appear-data {
544 display: none; 544 display: none;
545 } 545 }
  546 +
  547 +.label-branch {
  548 + @include border-radius(4px);
  549 + padding: 2px 4px;
  550 + border: none;
  551 + font-size: 14px;
  552 + background: #474D57;
  553 + color: #fff;
  554 + font-family: $monospace_font;
  555 + text-shadow: 0 1px 1px #111;
  556 + font-weight: normal;
  557 +}
app/assets/stylesheets/sections/merge_requests.scss
@@ -70,16 +70,6 @@ li.merge_request { @@ -70,16 +70,6 @@ li.merge_request {
70 @extend .append-bottom-10; 70 @extend .append-bottom-10;
71 } 71 }
72 72
73 -.label_branch {  
74 - @include border-radius(4px);  
75 - padding: 2px 4px;  
76 - border: none;  
77 - font-size: 14px;  
78 - background: #474D57;  
79 - color: #fff;  
80 - font-family: $monospace_font;  
81 -}  
82 -  
83 .mr_source_commit, 73 .mr_source_commit,
84 .mr_target_commit { 74 .mr_target_commit {
85 .commit { 75 .commit {
app/controllers/merge_requests_controller.rb
@@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController @@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController
129 129
130 def validates_merge_request 130 def validates_merge_request
131 # Show git not found page if target branch doesn't exist 131 # Show git not found page if target branch doesn't exist
132 - return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) 132 + return invalid_mr unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch)
133 133
134 # Show git not found page if source branch doesn't exist 134 # Show git not found page if source branch doesn't exist
135 # and there is no saved commits between source & target branch 135 # and there is no saved commits between source & target branch
136 - return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank? 136 + return invalid_mr if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank?
137 end 137 end
138 138
139 def define_show_vars 139 def define_show_vars
@@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController @@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController
158 158
159 can?(current_user, action, @project) 159 can?(current_user, action, @project)
160 end 160 end
  161 +
  162 + def invalid_mr
  163 + # Render special view for MR with removed source or target branch
  164 + render 'invalid'
  165 + end
161 end 166 end
app/views/compare/_form.html.haml
@@ -2,9 +2,9 @@ @@ -2,9 +2,9 @@
2 - unless params[:to] 2 - unless params[:to]
3 %p.slead 3 %p.slead
4 Fill input field with commit id like 4 Fill input field with commit id like
5 - %code.label_branch 4eedf23 5 + %code.label-branch 4eedf23
6 or branch/tag name like 6 or branch/tag name like
7 - %code.label_branch master 7 + %code.label-branch master
8 and press compare button for commits list, code diff. 8 and press compare button for commits list, code diff.
9 9
10 %br 10 %br
app/views/merge_requests/invalid.html.haml 0 → 100644
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
  1 +.merge-request
  2 + = render "merge_requests/show/mr_title"
  3 + = render "merge_requests/show/mr_box"
  4 +
  5 + .alert.alert-error
  6 + %h5
  7 + %i.icon-exclamation-sign
  8 + We cannot find
  9 + %span.label-branch= @merge_request.source_branch
  10 + or
  11 + %span.label-branch= @merge_request.target_branch
  12 + branches in the repository.
  13 + %p
  14 + Maybe it was removed or never pushed.
  15 + %p
  16 + Please close Merge Request or change branches with existing one
  17 +
app/views/merge_requests/show/_mr_title.html.haml
1 %h3.page_title 1 %h3.page_title
2 = "Merge Request ##{@merge_request.id}:" 2 = "Merge Request ##{@merge_request.id}:"
3   3  
4 - %span.label_branch= @merge_request.source_branch 4 + %span.label-branch= @merge_request.source_branch
5 → 5 →
6 - %span.label_branch= @merge_request.target_branch 6 + %span.label-branch= @merge_request.target_branch
7 7
8 %span.pull-right 8 %span.pull-right
9 - if can?(current_user, :modify_merge_request, @merge_request) 9 - if can?(current_user, :modify_merge_request, @merge_request)