From 642f9f4a1cd66152846d0bc61fba2efd550edd33 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij <sytse@gitlab.com> Date: Mon, 10 Jun 2013 17:24:49 +0000 Subject: [PATCH 1/3] Scrum view style milestone view. --- app/assets/javascripts/milestones.js.coffee | 7 ------- app/models/issue.rb | 2 ++ app/views/milestones/_issues.html.haml | 12 ++++++++++++ app/views/milestones/show.html.haml | 19 ++++++------------- 4 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 app/views/milestones/_issues.html.haml diff --git a/app/assets/javascripts/milestones.js.coffee b/app/assets/javascripts/milestones.js.coffee index 99a52bf4d3f..78a16e91b46 100644 --- a/app/assets/javascripts/milestones.js.coffee +++ b/app/assets/javascripts/milestones.js.coffee @@ -1,11 +1,4 @@ $ -> - $('.milestone-issue-filter li[data-closed]').addClass('hide') - - $('.milestone-issue-filter ul.nav li a').click -> - $('.milestone-issue-filter li').toggleClass('active') - $('.milestone-issue-filter li[data-closed]').toggleClass('hide') - false - $('.milestone-merge-requests-filter li[data-closed]').addClass('hide') $('.milestone-merge-requests-filter ul.nav li a').click -> diff --git a/app/models/issue.rb b/app/models/issue.rb index 91dd6477b04..6ad11e8f7ba 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -28,6 +28,8 @@ class Issue < ActiveRecord::Base scope :cared, ->(user) { where(assignee_id: user) } scope :authored, ->(user) { where(author_id: user) } scope :open_for, ->(user) { opened.assigned(user) } + scope :assigned, where("assignee_id IS NOT NULL") + scope :unassigned, where("assignee_id IS NULL") state_machine :state, initial: :opened do event :close do diff --git a/app/views/milestones/_issues.html.haml b/app/views/milestones/_issues.html.haml new file mode 100644 index 00000000000..bd4fef16551 --- /dev/null +++ b/app/views/milestones/_issues.html.haml @@ -0,0 +1,12 @@ +.span6 + .ui-box.milestone-issue-filter + .title + %ul.nav.nav-pills + %li=issues.first + %ul.well-list + - issues.second.each do |issue| + %li{data: {closed: issue.closed?}} + = link_to [@project, issue] do + %span.badge.badge-info ##{issue.id} + – + = link_to_gfm truncate(issue.title, length: 60), [@project, issue] \ No newline at end of file diff --git a/app/views/milestones/show.html.haml b/app/views/milestones/show.html.haml index 034c37852f1..fa13f556e64 100644 --- a/app/views/milestones/show.html.haml +++ b/app/views/milestones/show.html.haml @@ -56,20 +56,11 @@ .row - .span6 - .ui-box.milestone-issue-filter - .title - %ul.nav.nav-pills - %li.active= link_to('Open Issues', '#') - %li=link_to('All Issues', '#') - %ul.well-list - - @issues.each do |issue| - %li{data: {closed: issue.closed?}} - = link_to [@project, issue] do - %span.badge.badge-info ##{issue.id} - – - = link_to_gfm truncate(issue.title, length: 60), [@project, issue] + =render(:partial => 'issues', :object => ['Unstarted Issues (open and unassigned)', @issues.opened.unassigned]) + + =render(:partial => 'issues', :object => ['Ongoing Issues (open and assigned) ', @issues.opened.assigned]) +.row .span6 .ui-box.milestone-merge-requests-filter .title @@ -84,6 +75,8 @@ – = link_to_gfm truncate(merge_request.title, length: 60), [@project, merge_request] + =render(:partial => 'issues', :object => ['Completed Issues (closed)', @issues.closed]) + %hr %h6 Participants: %div -- GitLab From 6637c1e475e1e5845edfb6817a9a8074036275b7 Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij <sytse@dosire.com> Date: Wed, 12 Jun 2013 09:59:00 +0200 Subject: [PATCH 2/3] Incorporated the two suggestions (h5 and named variables) and fixed the Spinach test. --- app/views/milestones/_issues.html.haml | 6 ++---- app/views/milestones/show.html.haml | 6 +++--- features/project/issues/milestones.feature | 2 -- features/steps/project/project_milestones.rb | 6 ------ 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/app/views/milestones/_issues.html.haml b/app/views/milestones/_issues.html.haml index bd4fef16551..8c42330a65d 100644 --- a/app/views/milestones/_issues.html.haml +++ b/app/views/milestones/_issues.html.haml @@ -1,10 +1,8 @@ .span6 .ui-box.milestone-issue-filter - .title - %ul.nav.nav-pills - %li=issues.first + %h5.title= title %ul.well-list - - issues.second.each do |issue| + - issues.each do |issue| %li{data: {closed: issue.closed?}} = link_to [@project, issue] do %span.badge.badge-info ##{issue.id} diff --git a/app/views/milestones/show.html.haml b/app/views/milestones/show.html.haml index fa13f556e64..36dbed45ddf 100644 --- a/app/views/milestones/show.html.haml +++ b/app/views/milestones/show.html.haml @@ -56,9 +56,9 @@ .row - =render(:partial => 'issues', :object => ['Unstarted Issues (open and unassigned)', @issues.opened.unassigned]) + =render(partial: 'issues', :locals => {title: 'Unstarted Issues (open and unassigned)', issues: @issues.opened.unassigned}) - =render(:partial => 'issues', :object => ['Ongoing Issues (open and assigned) ', @issues.opened.assigned]) + =render(partial: 'issues', :locals => {title: 'Ongoing Issues (open and assigned)', issues: @issues.opened.assigned}) .row .span6 @@ -75,7 +75,7 @@ – = link_to_gfm truncate(merge_request.title, length: 60), [@project, merge_request] - =render(:partial => 'issues', :object => ['Completed Issues (closed)', @issues.closed]) + =render(:partial => 'issues', :locals => {title: 'Completed Issues (closed)', issues: @issues.closed}) %hr %h6 Participants: diff --git a/features/project/issues/milestones.feature b/features/project/issues/milestones.feature index 50c090cc6a0..2f38acf14d0 100644 --- a/features/project/issues/milestones.feature +++ b/features/project/issues/milestones.feature @@ -22,5 +22,3 @@ Feature: Project Milestones Given the milestone has open and closed issues And I click link "v2.2" Then I should see 3 issues - When I click link "All Issues" - Then I should see 4 issues diff --git a/features/steps/project/project_milestones.rb b/features/steps/project/project_milestones.rb index fcd590fcab2..ba2a0184d7e 100644 --- a/features/steps/project/project_milestones.rb +++ b/features/steps/project/project_milestones.rb @@ -51,11 +51,5 @@ class ProjectMilestones < Spinach::FeatureSteps Then "I should see 3 issues" do page.should have_selector('.milestone-issue-filter .well-list li', count: 4) - page.should have_selector('.milestone-issue-filter .well-list li.hide', count: 1) - end - - Then "I should see 4 issues" do - page.should have_selector('.milestone-issue-filter .well-list li', count: 4) - page.should_not have_selector('.milestone-issue-filter .well-list li.hide') end end -- GitLab From f7ea649f4b409d5561b2bd81e46863a1f0c77e1b Mon Sep 17 00:00:00 2001 From: Sytse Sijbrandij <sytse@dosire.com> Date: Fri, 14 Jun 2013 14:13:14 +0200 Subject: [PATCH 3/3] Implement (style) suggestions. --- app/models/issue.rb | 4 ++-- app/views/milestones/show.html.haml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index 6ad11e8f7ba..ee92d944b03 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -28,8 +28,8 @@ class Issue < ActiveRecord::Base scope :cared, ->(user) { where(assignee_id: user) } scope :authored, ->(user) { where(author_id: user) } scope :open_for, ->(user) { opened.assigned(user) } - scope :assigned, where("assignee_id IS NOT NULL") - scope :unassigned, where("assignee_id IS NULL") + scope :assigned, -> { where("assignee_id IS NOT NULL") } + scope :unassigned, -> { where("assignee_id IS NULL") } state_machine :state, initial: :opened do event :close do diff --git a/app/views/milestones/show.html.haml b/app/views/milestones/show.html.haml index 36dbed45ddf..9f665206acb 100644 --- a/app/views/milestones/show.html.haml +++ b/app/views/milestones/show.html.haml @@ -56,9 +56,9 @@ .row - =render(partial: 'issues', :locals => {title: 'Unstarted Issues (open and unassigned)', issues: @issues.opened.unassigned}) + = render(partial: 'issues', locals: {title: 'Unstarted Issues (open and unassigned)', issues: @issues.opened.unassigned}) - =render(partial: 'issues', :locals => {title: 'Ongoing Issues (open and assigned)', issues: @issues.opened.assigned}) + = render(partial: 'issues', locals: {title: 'Ongoing Issues (open and assigned)', issues: @issues.opened.assigned}) .row .span6 @@ -75,7 +75,7 @@ – = link_to_gfm truncate(merge_request.title, length: 60), [@project, merge_request] - =render(:partial => 'issues', :locals => {title: 'Completed Issues (closed)', issues: @issues.closed}) + = render(:partial => 'issues', locals: {title: 'Completed Issues (closed)', issues: @issues.closed}) %hr %h6 Participants: -- GitLab