summaryrefslogtreecommitdiffstats
path: root/app/models/query.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-04-29 11:28:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-04-29 11:28:27 +0000
commit57f63d513c2bbaea1f5d60f4b83272f858f6d736 (patch)
tree2aa9432224983b7b4fb5a0efa95c829e3ad1bcde /app/models/query.rb
parent07df1242b9932aa098e27ea283c7a1b4055695e7 (diff)
downloadredmine-57f63d513c2bbaea1f5d60f4b83272f858f6d736.tar.gz
redmine-57f63d513c2bbaea1f5d60f4b83272f858f6d736.zip
Makes 'This week' filter work with any starting day of week (#7097).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5596 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/query.rb')
-rw-r--r--app/models/query.rb10
1 files changed, 4 insertions, 6 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index 0d52893cc..c65706763 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -623,12 +623,10 @@ class Query < ActiveRecord::Base
when "t"
sql = date_range_clause(db_table, db_field, 0, 0)
when "w"
- from = l(:general_first_day_of_week) == '7' ?
- # week starts on sunday
- ((Date.today.cwday == 7) ? Time.now.at_beginning_of_day : Time.now.at_beginning_of_week - 1.day) :
- # week starts on monday (Rails default)
- Time.now.at_beginning_of_week
- sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)]
+ first_day_of_week = l(:general_first_day_of_week).to_i
+ day_of_week = Date.today.cwday
+ days_ago = (day_of_week >= first_day_of_week ? day_of_week - first_day_of_week : day_of_week + 7 - first_day_of_week)
+ sql = date_range_clause(db_table, db_field, - days_ago, - days_ago + 6)
when "~"
sql = "LOWER(#{db_table}.#{db_field}) LIKE '%#{connection.quote_string(value.first.to_s.downcase)}%'"
when "!~"