From d2931ea7f0a80a6ebed97cb2ce49a867d944f376 Mon Sep 17 00:00:00 2001 From: Carsten Otto Date: Thu, 21 Jan 2016 22:30:48 +0100 Subject: [PATCH] sort current projects by last_reviewed date fixes #1960 --- app/controllers/projects_controller.rb | 2 +- test/controllers/projects_controller_test.rb | 10 ++++++++++ test/fixtures/projects.yml | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index dcdc936c..1e74c331 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -61,7 +61,7 @@ class ProjectsController < ApplicationController @projects_to_review = projects.select {|p| p.needs_review?(current_user)} @stalled_projects = projects.select {|p| p.stalled?} @blocked_projects = projects.select {|p| p.blocked?} - @current_projects = current_user.projects.uncompleted.select {|p| not(p.needs_review?(current_user))} + @current_projects = projects.uncompleted.select { |p| not (p.needs_review?(current_user)) }.sort_by { |p| p.last_reviewed || Time.zone.at(0) } init_not_done_counts(['project']) init_project_hidden_todo_counts(['project']) diff --git a/test/controllers/projects_controller_test.rb b/test/controllers/projects_controller_test.rb index b8cd2f70..9028d257 100644 --- a/test/controllers/projects_controller_test.rb +++ b/test/controllers/projects_controller_test.rb @@ -25,6 +25,16 @@ class ProjectsControllerTest < ActionController::TestCase assert_equal 2, assigns['deferred_todos'].size end + def test_sorted_current_in_review + p = projects(:timemachine) + login_as :admin_user + get :review + current_projects = assigns['current_projects'] + assert_equal 2, current_projects.length + assert_equal projects(:gardenclean), current_projects[0] + assert_equal projects(:moremoney), current_projects[1] + end + def test_show_exposes_next_project_in_same_state login_as :admin_user get :show, :id => projects(:timemachine).to_param diff --git a/test/fixtures/projects.yml b/test/fixtures/projects.yml index 92e495bd..e796feb8 100644 --- a/test/fixtures/projects.yml +++ b/test/fixtures/projects.yml @@ -6,6 +6,12 @@ def today Time.zone.now.utc.beginning_of_day.to_s(:db) end +def yesterday + 1.day.ago.utc.beginning_of_day.to_s(:db) +end +def last_week + 1.week.ago.utc.beginning_of_day.to_s(:db) +end %> timemachine: @@ -28,6 +34,7 @@ moremoney: user_id: 1 created_at: <%= today %> updated_at: <%= today %> + last_reviewed: <%= yesterday %> gardenclean: id: 3 @@ -38,6 +45,7 @@ gardenclean: user_id: 1 created_at: <%= today %> updated_at: <%= today %> + last_reviewed: <%= last_week %> attendrailsconf: id: 4