@@ -623,12 +623,10 class Query < ActiveRecord::Base | |||
|
623 | 623 | when "t" |
|
624 | 624 | sql = date_range_clause(db_table, db_field, 0, 0) |
|
625 | 625 | when "w" |
|
626 |
f |
|
|
627 | # week starts on sunday | |
|
628 | ((Date.today.cwday == 7) ? Time.now.at_beginning_of_day : Time.now.at_beginning_of_week - 1.day) : | |
|
629 | # week starts on monday (Rails default) | |
|
630 | Time.now.at_beginning_of_week | |
|
631 | sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)] | |
|
626 | first_day_of_week = l(:general_first_day_of_week).to_i | |
|
627 | day_of_week = Date.today.cwday | |
|
628 | days_ago = (day_of_week >= first_day_of_week ? day_of_week - first_day_of_week : day_of_week + 7 - first_day_of_week) | |
|
629 | sql = date_range_clause(db_table, db_field, - days_ago, - days_ago + 6) | |
|
632 | 630 | when "~" |
|
633 | 631 | sql = "LOWER(#{db_table}.#{db_field}) LIKE '%#{connection.quote_string(value.first.to_s.downcase)}%'" |
|
634 | 632 | when "!~" |
@@ -191,6 +191,29 class QueryTest < ActiveSupport::TestCase | |||
|
191 | 191 | result.each {|issue| assert issue.subject.downcase.include?('unable') } |
|
192 | 192 | end |
|
193 | 193 | |
|
194 | def test_range_for_this_week_with_week_starting_on_monday | |
|
195 | I18n.locale = :fr | |
|
196 | assert_equal '1', I18n.t(:general_first_day_of_week) | |
|
197 | ||
|
198 | Date.stubs(:today).returns(Date.parse('2011-04-29')) | |
|
199 | ||
|
200 | query = Query.new(:project => Project.find(1), :name => '_') | |
|
201 | query.add_filter('due_date', 'w', ['']) | |
|
202 | assert query.statement.include?("issues.due_date > '2011-04-24 23:59:59' AND issues.due_date <= '2011-05-01 23:59:59") | |
|
203 | I18n.locale = :en | |
|
204 | end | |
|
205 | ||
|
206 | def test_range_for_this_week_with_week_starting_on_sunday | |
|
207 | I18n.locale = :en | |
|
208 | assert_equal '7', I18n.t(:general_first_day_of_week) | |
|
209 | ||
|
210 | Date.stubs(:today).returns(Date.parse('2011-04-29')) | |
|
211 | ||
|
212 | query = Query.new(:project => Project.find(1), :name => '_') | |
|
213 | query.add_filter('due_date', 'w', ['']) | |
|
214 | assert query.statement.include?("issues.due_date > '2011-04-23 23:59:59' AND issues.due_date <= '2011-04-30 23:59:59") | |
|
215 | end | |
|
216 | ||
|
194 | 217 | def test_operator_does_not_contains |
|
195 | 218 | query = Query.new(:project => Project.find(1), :name => '_') |
|
196 | 219 | query.add_filter('subject', '!~', ['uNable']) |
General Comments 0
You need to be logged in to leave comments.
Login now