diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-10-07 00:23:05 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-10-07 00:23:05 +0000 |
commit | a17fcac8226473feb0f248c54ba2a829dd5bcd54 (patch) | |
tree | a34ac80fd6f6232efdcea39f165620f90f16c369 /app/models/query.rb | |
parent | 41a6c8be6529b7ff9cd32706cee942003811f5e5 (diff) | |
download | redmine-a17fcac8226473feb0f248c54ba2a829dd5bcd54.tar.gz redmine-a17fcac8226473feb0f248c54ba2a829dd5bcd54.zip |
Rails3: model: query: parse dates using UTC (ruby 1.9 inside) (#4796)
On Rails 3.0 and Ruby 1.8.7 in Japan (UTC+9), tests fails with following messages.
test_operator_date_equals(QueryTest) [test/unit/query_test.rb:206]:
<"(issues.due_date > '2011-07-09 14:59:59.999999' AND issues.due_date <= '2011-07-10 14:59:59.999999')
AND (issue_statuses.is_closed='f')"> expected to be =~
</issues\.due_date > '2011-07-09 23:59:59(\.9+)?' AND issues\.due_date <= '2011-07-10 23:59:59(\.9+)?/>.
Contributed by Sylvain Utard.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7591 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/query.rb')
-rw-r--r-- | app/models/query.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/app/models/query.rb b/app/models/query.rb index b717ecbc2..c79677e2b 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -769,10 +769,13 @@ class Query < ActiveRecord::Base def date_clause(table, field, from, to) s = [] if from - s << ("#{table}.#{field} > '%s'" % [connection.quoted_date((from - 1).to_time.end_of_day)]) + from_yesterday = from - 1 + from_yesterday_utc = Time.gm(from_yesterday.year, from_yesterday.month, from_yesterday.day) + s << ("#{table}.#{field} > '%s'" % [connection.quoted_date(from_yesterday_utc.end_of_day)]) end if to - s << ("#{table}.#{field} <= '%s'" % [connection.quoted_date(to.to_time.end_of_day)]) + to_utc = Time.gm(to.year, to.month, to.day) + s << ("#{table}.#{field} <= '%s'" % [connection.quoted_date(to_utc.end_of_day)]) end s.join(' AND ') end |