Commit 99b8cb17 authored by tmaruyama's avatar tmaruyama

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: https://svn.redmine.org/redmine/trunk@7591 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent b2d04546
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment