Defect #32532 » fix-32532.patch
| lib/redmine/database.rb | ||
|---|---|---|
| 69 | 69 |
# Returns a SQL statement to cast a timestamp column to a date given a time zone |
| 70 | 70 |
# Returns nil if not implemented for the current database |
| 71 | 71 |
def timestamp_to_date(column, time_zone) |
| 72 |
return nil unless postgresql? || mysql? |
|
| 73 |
# param:time_zone or config.time_zone |
|
| 74 |
identifier = ActiveSupport::TimeZone.find_tzinfo((time_zone || Time.zone).name).identifier |
|
| 75 | ||
| 72 | 76 |
if postgresql? |
| 73 |
if time_zone |
|
| 74 |
identifier = ActiveSupport::TimeZone.find_tzinfo(time_zone.name).identifier |
|
| 75 |
"(#{column}::timestamptz AT TIME ZONE '#{identifier}')::date"
|
|
| 76 |
else |
|
| 77 |
"#{column}::date"
|
|
| 78 |
end |
|
| 79 |
elsif mysql? |
|
| 80 |
if time_zone |
|
| 81 |
user_identifier = ActiveSupport::TimeZone.find_tzinfo(time_zone.name).identifier |
|
| 82 |
local_identifier = ActiveSupport::TimeZone.find_tzinfo(Time.zone.name).identifier |
|
| 83 |
"DATE(CONVERT_TZ(#{column},'#{local_identifier}', '#{user_identifier}'))"
|
|
| 84 |
else |
|
| 85 |
"DATE(#{column})"
|
|
| 86 |
end |
|
| 77 |
"(#{column}::timestamptz AT TIME ZONE '#{identifier}')::date"
|
|
| 78 |
else |
|
| 79 |
# MySQL: |
|
| 80 |
# convert from local time zone to tz |
|
| 81 |
"DATE(CONVERT_TZ(#{column}, @@session.time_zone, '#{identifier}'))"
|
|
| 87 | 82 |
end |
| 88 | 83 |
end |
| 89 | 84 | |
| test/functional/issues_controller_test.rb | ||
|---|---|---|
| 443 | 443 |
} |
| 444 | 444 |
) |
| 445 | 445 |
assert_response :success |
| 446 | ||
| 447 | 446 |
# group_name depends on localtime |
| 448 |
group_name = format_date(Issue.second.created_on.localtime)
|
|
| 447 |
group_name = format_date(User.current.time_to_date(Issue.second.created_on))
|
|
| 449 | 448 |
assert_select 'tr.group span.name', :text => group_name do |
| 450 | 449 |
assert_select '+ span.count', :text => '2' |
| 451 | 450 |
end |
- « Previous
- 1
- 2
- Next »