From 7b77301eabcbd620b4a762d29c71fb800b8d372d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 4 Nov 2009 17:35:20 +0000 Subject: [PATCH] Fixed: first day of date range is not included in time report with SQLite (#3112). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3009 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/timelog_controller.rb | 2 +- test/functional/timelog_controller_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb index 90abb1ebf..103168ea8 100644 --- a/app/controllers/timelog_controller.rb +++ b/app/controllers/timelog_controller.rb @@ -103,7 +103,7 @@ class TimelogController < ApplicationController sql << " LEFT JOIN #{Project.table_name} ON #{TimeEntry.table_name}.project_id = #{Project.table_name}.id" sql << " WHERE" sql << " (%s) AND" % sql_condition - sql << " (spent_on BETWEEN '%s' AND '%s')" % [ActiveRecord::Base.connection.quoted_date(@from.to_time), ActiveRecord::Base.connection.quoted_date(@to.to_time)] + sql << " (spent_on BETWEEN '%s' AND '%s')" % [ActiveRecord::Base.connection.quoted_date(@from), ActiveRecord::Base.connection.quoted_date(@to)] sql << " GROUP BY #{sql_group_by}, tyear, tmonth, tweek, spent_on" @hours = ActiveRecord::Base.connection.select_all(sql) diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb index d689e9e8a..afddc7cb4 100644 --- a/test/functional/timelog_controller_test.rb +++ b/test/functional/timelog_controller_test.rb @@ -229,6 +229,14 @@ class TimelogControllerTest < ActionController::TestCase assert_equal "162.90", "%.2f" % assigns(:total_hours) end + def test_report_one_day + get :report, :project_id => 1, :columns => 'day', :from => "2007-03-23", :to => "2007-03-23", :criterias => ["member", "activity"] + assert_response :success + assert_template 'report' + assert_not_nil assigns(:total_hours) + assert_equal "4.25", "%.2f" % assigns(:total_hours) + end + def test_report_at_issue_level get :report, :project_id => 1, :issue_id => 1, :columns => 'month', :from => "2007-01-01", :to => "2007-12-31", :criterias => ["member", "activity"] assert_response :success @@ -337,6 +345,14 @@ class TimelogControllerTest < ActionController::TestCase assert_equal Date.today - 7, assigns(:from) assert_equal Date.today, assigns(:to) end + + def test_details_one_day + get :details, :project_id => 1, :from => "2007-03-23", :to => "2007-03-23" + assert_response :success + assert_template 'details' + assert_not_nil assigns(:total_hours) + assert_equal "4.25", "%.2f" % assigns(:total_hours) + end def test_issue_details_routing assert_routing(