Merge remote-tracking branch 'origin/mr-broken'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
commit
7a4d468576
8 changed files with 66 additions and 32 deletions
|
@ -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
|
||||||
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
|
||||||
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 @@
|
||||||
.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
|
||||||
|
%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
|
||||||
|
%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} ·
|
#{issue.to_reference} ·
|
||||||
|
|
|
@ -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
|
||||||
|
%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
|
||||||
|
%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
|
||||||
|
%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} ·
|
\##{merge_request.iid} ·
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
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
|
||||||
|
|
Loading…
Reference in a new issue