Commit e51c37bdbda1822f93e1f8bcc21e970686eec464
1 parent
a7d08169
Exists in
master
and in
4 other branches
Display Merge Requests <-> Milestone relations
Show the relation between Merge Requests and Mileston in different places: - Merge Request page - Milestone list page - Milestone details page
Showing
5 changed files
with
27 additions
and
1 deletions
Show diff stats
app/controllers/milestones_controller.rb
@@ -32,6 +32,7 @@ class MilestonesController < ProjectResourceController | @@ -32,6 +32,7 @@ class MilestonesController < ProjectResourceController | ||
32 | def show | 32 | def show |
33 | @issues = @milestone.issues | 33 | @issues = @milestone.issues |
34 | @users = @milestone.participants | 34 | @users = @milestone.participants |
35 | + @merge_requests = @milestone.merge_requests | ||
35 | 36 | ||
36 | respond_to do |format| | 37 | respond_to do |format| |
37 | format.html | 38 | format.html |
app/models/milestone.rb
@@ -3,6 +3,7 @@ class Milestone < ActiveRecord::Base | @@ -3,6 +3,7 @@ class Milestone < ActiveRecord::Base | ||
3 | 3 | ||
4 | belongs_to :project | 4 | belongs_to :project |
5 | has_many :issues | 5 | has_many :issues |
6 | + has_many :merge_requests | ||
6 | 7 | ||
7 | validates :title, presence: true | 8 | validates :title, presence: true |
8 | validates :project, presence: true | 9 | validates :project, presence: true |
app/views/merge_requests/show/_mr_box.html.haml
@@ -14,9 +14,13 @@ | @@ -14,9 +14,13 @@ | ||
14 | %strong.author= link_to_merge_request_author(@merge_request) | 14 | %strong.author= link_to_merge_request_author(@merge_request) |
15 | 15 | ||
16 | - if @merge_request.assignee | 16 | - if @merge_request.assignee |
17 | - %cite.cgray and currently assigned to | 17 | + %cite.cgray , currently assigned to |
18 | = image_tag gravatar_icon(@merge_request.assignee_email), width: 16, class: "lil_av" | 18 | = image_tag gravatar_icon(@merge_request.assignee_email), width: 16, class: "lil_av" |
19 | %strong.author= link_to_merge_request_assignee(@merge_request) | 19 | %strong.author= link_to_merge_request_assignee(@merge_request) |
20 | + - if @merge_request.milestone | ||
21 | + - milestone = @merge_request.milestone | ||
22 | + %cite.cgray and attached to milestone | ||
23 | + %strong= link_to_gfm truncate(milestone.title, length: 20), project_milestone_path(milestone.project, milestone) | ||
20 | 24 | ||
21 | 25 | ||
22 | - if @merge_request.closed | 26 | - if @merge_request.closed |
app/views/milestones/_milestone.html.haml
@@ -4,6 +4,10 @@ | @@ -4,6 +4,10 @@ | ||
4 | %span.btn.small.disabled.grouped= pluralize milestone.issues.count, 'issues' | 4 | %span.btn.small.disabled.grouped= pluralize milestone.issues.count, 'issues' |
5 | - if milestone.issues.count > 0 | 5 | - if milestone.issues.count > 0 |
6 | = link_to 'Browse Issues', project_issues_path(milestone.project, milestone_id: milestone.id), class: "btn small grouped" | 6 | = link_to 'Browse Issues', project_issues_path(milestone.project, milestone_id: milestone.id), class: "btn small grouped" |
7 | + - if milestone.merge_requests.any? | ||
8 | + %span.btn.small.disabled.grouped= pluralize milestone.issues.count, 'Merge Requests' | ||
9 | + - if milestone.merge_requests.count > 0 | ||
10 | + = link_to 'Browse Merge Requests', project_merge_requests_path(milestone.project, milestone_id: milestone.id), class: "btn small grouped" | ||
7 | - if can? current_user, :admin_milestone, milestone.project | 11 | - if can? current_user, :admin_milestone, milestone.project |
8 | = link_to 'Edit', edit_project_milestone_path(milestone.project, milestone), class: "btn small edit-milestone-link grouped" | 12 | = link_to 'Edit', edit_project_milestone_path(milestone.project, milestone), class: "btn small edit-milestone-link grouped" |
9 | %h4 | 13 | %h4 |
app/views/milestones/show.html.haml
@@ -61,6 +61,22 @@ | @@ -61,6 +61,22 @@ | ||
61 | %br | 61 | %br |
62 | 62 | ||
63 | .span6 | 63 | .span6 |
64 | + %table.milestone-merge_requests-filter | ||
65 | + %thead | ||
66 | + %th | ||
67 | + %ul.nav.nav-pills | ||
68 | + %li.active= link_to('Open Merge Requests', '#') | ||
69 | + %li=link_to('All Merge Requests', '#') | ||
70 | + - @merge_requests.each do |merge_request| | ||
71 | + %tr{data: {closed: merge_request.closed}} | ||
72 | + %td | ||
73 | + = link_to [@project, merge_request] do | ||
74 | + %span.badge.badge-info ##{merge_request.id} | ||
75 | + – | ||
76 | + = link_to_gfm truncate(merge_request.title, length: 60), [@project, merge_request] | ||
77 | + %br | ||
78 | + | ||
79 | + .span6 | ||
64 | %table | 80 | %table |
65 | %thead | 81 | %thead |
66 | %th Participants | 82 | %th Participants |