Commit 7a4d4685 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge remote-tracking branch 'origin/mr-broken'

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parents 7b50965e 23522a9b
...@@ -123,6 +123,24 @@ ul.content-list { ...@@ -123,6 +123,24 @@ ul.content-list {
padding: 10px 14px; padding: 10px 14px;
} }
} }
ul.controls {
list-style: none;
li {
float: left;
padding-right: 10px;
.author_link {
display: inline-block;
.avatar-inline {
margin-left: 0;
margin-right: 0;
}
}
}
}
} }
} }
......
...@@ -58,7 +58,7 @@ module CiStatusHelper ...@@ -58,7 +58,7 @@ module CiStatusHelper
def render_ci_status(ci_commit) def render_ci_status(ci_commit)
link_to ci_status_path(ci_commit), link_to ci_status_path(ci_commit),
class: "c#{ci_status_color(ci_commit)}", class: "c#{ci_status_color(ci_commit)}",
title: "Build status: #{ci_status_label(ci_commit)}", title: "Build #{ci_status_label(ci_commit)}",
data: { toggle: 'tooltip', placement: 'left' } do data: { toggle: 'tooltip', placement: 'left' } do
ci_status_icon(ci_commit) ci_status_icon(ci_commit)
end end
......
...@@ -509,4 +509,8 @@ class MergeRequest < ActiveRecord::Base ...@@ -509,4 +509,8 @@ class MergeRequest < ActiveRecord::Base
def ci_commit def ci_commit
@ci_commit ||= source_project.ci_commit(last_commit.id) if last_commit && source_project @ci_commit ||= source_project.ci_commit(last_commit.id) if last_commit && source_project
end end
def broken?
self.commits.blank? || branch_missing? || cannot_be_merged?
end
end end
...@@ -6,23 +6,26 @@ ...@@ -6,23 +6,26 @@
.issue-title .issue-title
%span.issue-title-text %span.issue-title-text
= link_to_gfm issue.title, issue_path(issue), class: "row_title" = link_to_gfm issue.title, issue_path(issue), class: "row_title"
.pull-right.light %ul.controls.light
- if issue.closed? - if issue.closed?
%span %li
CLOSED CLOSED
- if issue.assignee - if issue.assignee
= link_to_member(@project, issue.assignee, name: false, title: "Assigned to :name") %li
= link_to_member(@project, issue.assignee, name: false, title: "Assigned to :name")
- note_count = issue.notes.user.count - note_count = issue.notes.user.count
- if note_count > 0 - if note_count > 0
&nbsp; %li
= link_to issue_path(issue) + "#notes" do = link_to issue_path(issue) + "#notes" do
= icon('comments') = icon('comments')
= note_count = note_count
- else - else
&nbsp; %li
= link_to issue_path(issue) + "#notes", class: "issue-no-comments" do = link_to issue_path(issue) + "#notes", class: "issue-no-comments" do
= icon('comments') = icon('comments')
= 0 = note_count
.issue-info .issue-info
#{issue.to_reference} &middot; #{issue.to_reference} &middot;
......
...@@ -2,31 +2,40 @@ ...@@ -2,31 +2,40 @@
.merge-request-title .merge-request-title
%span.merge-request-title-text %span.merge-request-title-text
= link_to_gfm merge_request.title, merge_request_path(merge_request), class: "row_title" = link_to_gfm merge_request.title, merge_request_path(merge_request), class: "row_title"
.pull-right.light %ul.controls.light
- if merge_request.ci_commit
= render_ci_status(merge_request.ci_commit)
- if merge_request.merged? - if merge_request.merged?
%span %li
= icon('check') = icon('check')
MERGED MERGED
- elsif merge_request.closed? - elsif merge_request.closed?
%span %li
= icon('ban') = icon('ban')
CLOSED CLOSED
- note_count = merge_request.mr_and_commit_notes.user.count
- if merge_request.ci_commit
%li
= render_ci_status(merge_request.ci_commit)
- if merge_request.open? && merge_request.broken?
%li
= link_to merge_request_path(merge_request), class: "has_tooltip", title: "Cannot be merged automatically", data: {container: 'body'} do
= icon('exclamation-triangle')
- if merge_request.assignee - if merge_request.assignee
&nbsp; %li
= link_to_member(merge_request.source_project, merge_request.assignee, name: false, title: "Assigned to :name") = link_to_member(merge_request.source_project, merge_request.assignee, name: false, title: "Assigned to :name")
- note_count = merge_request.mr_and_commit_notes.user.count
- if note_count > 0 - if note_count > 0
&nbsp; %li
= link_to merge_request_path(merge_request) + "#notes" do = link_to merge_request_path(merge_request) + "#notes" do
= icon('comments') = icon('comments')
= note_count = note_count
- else - else
&nbsp; %li
= link_to merge_request_path(merge_request) + "#notes", class: "merge-request-no-comments" do = link_to merge_request_path(merge_request) + "#notes", class: "merge-request-no-comments" do
= icon('comments') = icon('comments')
= 0 = note_count
.merge-request-info .merge-request-info
\##{merge_request.iid} &middot; \##{merge_request.iid} &middot;
......
...@@ -12,7 +12,7 @@ class Spinach::Features::Dashboard < Spinach::FeatureSteps ...@@ -12,7 +12,7 @@ class Spinach::Features::Dashboard < Spinach::FeatureSteps
end end
step 'I should see "Shop" project CI status' do step 'I should see "Shop" project CI status' do
expect(page).to have_link "Build status: skipped" expect(page).to have_link "Build skipped"
end end
step 'I should see last push widget' do step 'I should see last push widget' do
......
...@@ -367,7 +367,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps ...@@ -367,7 +367,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step 'I should see merge request "Bug NS-05" with CI status' do step 'I should see merge request "Bug NS-05" with CI status' do
page.within ".mr-list" do page.within ".mr-list" do
expect(page).to have_link "Build status: pending" expect(page).to have_link "Build pending"
end end
end end
......
...@@ -293,10 +293,10 @@ describe 'Issues', feature: true do ...@@ -293,10 +293,10 @@ describe 'Issues', feature: true do
end end
def first_issue def first_issue
page.all('ul.issues-list li').first.text page.all('ul.issues-list > li').first.text
end end
def last_issue def last_issue
page.all('ul.issues-list li').last.text page.all('ul.issues-list > li').last.text
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment