diff --git a/app/assets/stylesheets/sections/groups.scss b/app/assets/stylesheets/sections/groups.scss index 60ec79acadbeed8c6ca2765ae0f0b2b2edc53375..e174f72882be58601d588a0b60e3b7a381cba959 100644 --- a/app/assets/stylesheets/sections/groups.scss +++ b/app/assets/stylesheets/sections/groups.scss @@ -7,3 +7,12 @@ .member-search-form { float: left; } + +.milestone-row { + @include str-truncated(90%); +} + +.label.label-default.project-name { + width: 80px; + @include str-truncated(80%); +} diff --git a/app/controllers/groups/milestones_controller.rb b/app/controllers/groups/milestones_controller.rb index 235b27f53a91f946ec0a118a7de3ba6c618e74af..c4b87308e8b073fc60c9b489a7d8982332e38780 100644 --- a/app/controllers/groups/milestones_controller.rb +++ b/app/controllers/groups/milestones_controller.rb @@ -14,8 +14,8 @@ class Groups::MilestonesController < ApplicationController def show project_milestones = Milestone.where(project_id: group.projects) @group_milestone = Milestones::GroupService.new(project_milestones).milestone(title) - @project_issues = @group_milestone.filter_by(params[:status], "issues") - @project_merge_requests = @group_milestone.filter_by(params[:status], "merge_requests") + @issues = @group_milestone.issues + @merge_requests = @group_milestone.merge_requests end def update diff --git a/app/models/group_milestone.rb b/app/models/group_milestone.rb index 0faff39ae7aa24c1aea5d03ed258681897023490..45222f5329eae7ef0f5f3b44c2111fcddcf6fca6 100644 --- a/app/models/group_milestone.rb +++ b/app/models/group_milestone.rb @@ -65,16 +65,12 @@ class GroupMilestone state == 'closed' end - def opened_unassigned_issues - milestones.map{ |milestone| milestone.issues.opened.unassigned } + def issues + milestones.map{ |milestone| milestone.issues }.flatten.group_by(&:state) end - def opened_assigned_issues - milestones.map{ |milestone| milestone.issues.opened.assigned } - end - - def closed_issues - milestones.map{ |milestone| milestone.issues.closed } + def merge_requests + milestones.map{ |milestone| milestone.merge_requests }.flatten.group_by(&:state) end def participants diff --git a/app/views/groups/milestones/_issue.html.haml b/app/views/groups/milestones/_issue.html.haml index 7009400a46ccdea2683cf28a9eacb6d44911fba3..759003bb56c4ff1ddcc85b07b393d3b9f590fdb6 100644 --- a/app/views/groups/milestones/_issue.html.haml +++ b/app/views/groups/milestones/_issue.html.haml @@ -1,6 +1,8 @@ %li{ id: dom_id(issue, 'sortable'), class: 'issue-row', 'data-iid' => issue.iid } - %span.str-truncated + %span.milestone-row - project = issue.project + %span.label.label-default.project-name + = project.name = link_to [project, issue] do %span.cgray ##{issue.iid} = link_to_gfm issue.title, [project, issue] diff --git a/app/views/groups/milestones/_issues.html.haml b/app/views/groups/milestones/_issues.html.haml index 3fefb2f01079b824844fae903be83c2d8afe99fe..9f350b772bd90e324398e5981d32510384dc83d9 100644 --- a/app/views/groups/milestones/_issues.html.haml +++ b/app/views/groups/milestones/_issues.html.haml @@ -1,6 +1,6 @@ .panel.panel-default - .panel-heading= name + .panel-heading= title %ul{ class: "well-list issues-sortable-list" } - - issues.each do |issue| - = render 'issue', issue: issue - + - if issues + - issues.each do |issue| + = render 'issue', issue: issue diff --git a/app/views/groups/milestones/_merge_request.html.haml b/app/views/groups/milestones/_merge_request.html.haml index 4f11aaa74b7b7d167a0ea09f81df70d8c37c12bf..95d5de002df584fd946dcb3b656ed3190f0559c9 100644 --- a/app/views/groups/milestones/_merge_request.html.haml +++ b/app/views/groups/milestones/_merge_request.html.haml @@ -1,6 +1,11 @@ %li{ id: dom_id(merge_request, 'sortable'), class: 'mr-row', 'data-iid' => merge_request.iid } - %span.str-truncated + %span.milestone-row - project = merge_request.project + %span.label.label-default.project-name + = project.name = link_to [project, merge_request] do %span.cgray ##{merge_request.iid} - = link_to_gfm truncate(merge_request.title, length: 60), [project, merge_request] + = link_to_gfm merge_request.title, [project, merge_request] + .pull-right.assignee-icon + - if merge_request.assignee + = image_tag avatar_icon(merge_request.assignee.email, 16), class: "avatar s16" diff --git a/app/views/groups/milestones/_merge_requests.html.haml b/app/views/groups/milestones/_merge_requests.html.haml index 9bb213ffe328e7e0427389bdbdfa8476d4962ef9..ddf7f5ee55926d57a86b50d719cb523a6c92d0a9 100644 --- a/app/views/groups/milestones/_merge_requests.html.haml +++ b/app/views/groups/milestones/_merge_requests.html.haml @@ -1,5 +1,6 @@ .panel.panel-default - .panel-heading= name + .panel-heading= title %ul{ class: "well-list merge_requests-sortable-list" } - - merge_requests.sort_by(&:position).each do |merge_request| - = render 'merge_request', merge_request: merge_request + - if merge_requests + - merge_requests.sort_by(&:position).each do |merge_request| + = render 'merge_request', merge_request: merge_request diff --git a/app/views/groups/milestones/show.html.haml b/app/views/groups/milestones/show.html.haml index a450e7d09a51617c71b622a9061a6b2520412eb0..d7bf6ae3c5c85305d5cb33dda682809c80d06112 100644 --- a/app/views/groups/milestones/show.html.haml +++ b/app/views/groups/milestones/show.html.haml @@ -52,19 +52,17 @@ .tab-content .tab-pane.active#tab-issues .row - .col-md-4.responsive-side - = render 'groups/filter', entity: 'milestone' - .col-md-8 - - @project_issues.each do |name, issues| - = render 'issues', name: name, issues: issues + .col-md-6 + = render 'issues', title: "Open", issues: @issues["opened"] + .col-md-6 + = render 'issues', title: "Closed", issues: @issues["closed"] .tab-pane#tab-merge-requests .row - .col-md-4.responsive-side - = render 'groups/filter', entity: 'milestone' - .col-md-8 - - @project_merge_requests.each do |name, merge_requests| - = render 'merge_requests', name: name, merge_requests: merge_requests + .col-md-6 + = render 'merge_requests', title: "Open", merge_requests: @merge_requests["opened"] + .col-md-6 + = render 'merge_requests', title: "Closed", merge_requests: @merge_requests["closed"] .tab-pane#tab-participants %ul.bordered-list diff --git a/app/views/layouts/nav/_group.html.haml b/app/views/layouts/nav/_group.html.haml index 429848e3cbd1c12d0895811bbb0e626b7564353e..5d161a17bfcd96b3a32e21b2312a4398bc9f28c2 100644 --- a/app/views/layouts/nav/_group.html.haml +++ b/app/views/layouts/nav/_group.html.haml @@ -2,6 +2,9 @@ = nav_link(path: 'groups#show', html_options: {class: 'home'}) do = link_to group_path(@group), title: "Home" do Activity + = nav_link(path: 'groups#milestones') do + = link_to group_milestones_path(@group) do + Milestones = nav_link(path: 'groups#issues') do = link_to issues_group_path(@group) do Issues @@ -12,9 +15,6 @@ Merge Requests - if current_user %span.count= current_user.cared_merge_requests.opened.of_group(@group).count - = nav_link(path: 'groups#milestones') do - = link_to group_milestones_path(@group) do - Milestones = nav_link(path: 'groups#members') do = link_to "Members", members_group_path(@group)