From c27106d8595c4ce668ae95cff776be932a525a9e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 5 Sep 2007 17:47:17 +0000 Subject: [PATCH] Added a new value for date filters: 'this week' git-svn-id: http://redmine.rubyforge.org/svn/trunk@704 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/query.rb | 9 ++++++--- app/views/queries/_filters.rhtml | 1 + lang/bg.yml | 1 + lang/de.yml | 1 + lang/en.yml | 1 + lang/es.yml | 1 + lang/fr.yml | 1 + lang/it.yml | 1 + lang/ja.yml | 1 + lang/nl.yml | 1 + lang/pt-br.yml | 1 + lang/pt.yml | 1 + lang/sv.yml | 1 + lang/zh.yml | 1 + 14 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/models/query.rb b/app/models/query.rb index c700242e..87569fe0 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -36,6 +36,7 @@ class Query < ActiveRecord::Base ">t+" => :label_in_more_than, "t+" => :label_in, "t" => :label_today, + "w" => :label_this_week, ">t-" => :label_less_than_ago, " :label_more_than_ago, "t-" => :label_ago, @@ -48,8 +49,8 @@ class Query < ActiveRecord::Base :list_status => [ "o", "=", "!", "c", "*" ], :list_optional => [ "=", "!", "!*", "*" ], :list_one_or_more => [ "*", "=" ], - :date => [ "t+", "t+", "t", ">t-", " [ ">t-", " [ "t+", "t+", "t", "w", ">t-", " [ ">t-", " [ "=", "~", "!", "!~" ], :text => [ "~", "!~" ] } @@ -71,7 +72,7 @@ class Query < ActiveRecord::Base # filter requires one or more values (values_for(field) and !values_for(field).first.empty?) or # filter doesn't require any value - ["o", "c", "!*", "*", "t"].include? operator_for(field) + ["o", "c", "!*", "*", "t", "w"].include? operator_for(field) end if filters end @@ -238,6 +239,8 @@ class Query < ActiveRecord::Base sql = sql + "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date((Date.today + v.first.to_i).to_time), connection.quoted_date((Date.today + v.first.to_i + 1).to_time)] when "t" sql = sql + "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(Date.today.to_time), connection.quoted_date((Date.today+1).to_time)] + when "w" + sql = sql + "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(Time.now.at_beginning_of_week), connection.quoted_date(Time.now.next_week)] when "~" sql = sql + "#{db_table}.#{db_field} LIKE '%#{connection.quote_string(v.first)}%'" when "!~" diff --git a/app/views/queries/_filters.rhtml b/app/views/queries/_filters.rhtml index 319349c8..f37a8670 100644 --- a/app/views/queries/_filters.rhtml +++ b/app/views/queries/_filters.rhtml @@ -34,6 +34,7 @@ function toggle_operator(field) { case "!*": case "*": case "t": + case "w": case "o": case "c": Element.hide("div_values_" + field); diff --git a/lang/bg.yml b/lang/bg.yml index 9286dd63..f34c3d45 100644 --- a/lang/bg.yml +++ b/lang/bg.yml @@ -318,6 +318,7 @@ label_in_less_than: по-малко от label_in_more_than: повече от label_in: в следващите label_today: днес +label_this_week: this week label_less_than_ago: преди по-малко от label_more_than_ago: преди повече от label_ago: преди дни diff --git a/lang/de.yml b/lang/de.yml index ed232a14..f40b8e1c 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -318,6 +318,7 @@ label_in_less_than: in weniger als label_in_more_than: in mehr als label_in: an label_today: heute +label_this_week: this week label_less_than_ago: vor weniger als label_more_than_ago: vor mehr als label_ago: vor diff --git a/lang/en.yml b/lang/en.yml index fb653daf..0e3b7472 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -318,6 +318,7 @@ label_in_less_than: in less than label_in_more_than: in more than label_in: in label_today: today +label_this_week: this week label_less_than_ago: less than days ago label_more_than_ago: more than days ago label_ago: days ago diff --git a/lang/es.yml b/lang/es.yml index 4e8fbda6..b1a92fd4 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -318,6 +318,7 @@ label_in_less_than: en menos que label_in_more_than: en más que label_in: en label_today: hoy +label_this_week: this week label_less_than_ago: hace menos de label_more_than_ago: hace más de label_ago: hace diff --git a/lang/fr.yml b/lang/fr.yml index 37b7121b..35fc48d6 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -318,6 +318,7 @@ label_in_less_than: dans moins de label_in_more_than: dans plus de label_in: dans label_today: aujourd'hui +label_this_week: cette semaine label_less_than_ago: il y a moins de label_more_than_ago: il y a plus de label_ago: il y a diff --git a/lang/it.yml b/lang/it.yml index 92f1b108..996f6d86 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -318,6 +318,7 @@ label_in_less_than: è minore di label_in_more_than: è maggiore di label_in: in label_today: oggi +label_this_week: this week label_less_than_ago: meno di giorni fa label_more_than_ago: più di giorni fa label_ago: giorni fa diff --git a/lang/ja.yml b/lang/ja.yml index 48b379e9..bbadf5c9 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -319,6 +319,7 @@ label_in_less_than: 残日数がこれより多い label_in_more_than: 残日数がこれより少ない label_in: 残日数 label_today: 今日 +label_this_week: this week label_less_than_ago: 経過日数がこれより少ない label_more_than_ago: 経過日数がこれより多い label_ago: 日前 diff --git a/lang/nl.yml b/lang/nl.yml index 994de8cb..b6163e29 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -318,6 +318,7 @@ label_in_less_than: in minder dan label_in_more_than: in meer dan label_in: in label_today: vandaag +label_this_week: this week label_less_than_ago: minder dan dagen geleden label_more_than_ago: meer dan dagen geleden label_ago: dagen geleden diff --git a/lang/pt-br.yml b/lang/pt-br.yml index ad0a6f62..2667a51f 100644 --- a/lang/pt-br.yml +++ b/lang/pt-br.yml @@ -318,6 +318,7 @@ label_in_less_than: e maior que label_in_more_than: e menor que label_in: em label_today: hoje +label_this_week: this week label_less_than_ago: faz menos de label_more_than_ago: faz mais de label_ago: dias atras diff --git a/lang/pt.yml b/lang/pt.yml index 35643a1b..76f03657 100644 --- a/lang/pt.yml +++ b/lang/pt.yml @@ -318,6 +318,7 @@ label_in_less_than: é maior que label_in_more_than: é menor que label_in: em label_today: hoje +label_this_week: this week label_less_than_ago: faz menos de label_more_than_ago: faz mais de label_ago: dias atrás diff --git a/lang/sv.yml b/lang/sv.yml index 26409606..c91dcfaa 100644 --- a/lang/sv.yml +++ b/lang/sv.yml @@ -318,6 +318,7 @@ label_in_less_than: i mindre än label_in_more_than: i mer än label_in: i label_today: idag +label_this_week: this week label_less_than_ago: mindre än dagar sedan label_more_than_ago: mer än dagar sedan label_ago: dagar sedan diff --git a/lang/zh.yml b/lang/zh.yml index 10dc4b85..3fc2319e 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -321,6 +321,7 @@ label_in_less_than: 剩余天数小于 label_in_more_than: 剩余天数大于 label_in: 剩余天数 label_today: 今天 +label_this_week: this week label_less_than_ago: 之前天数少于 label_more_than_ago: 之前天数大于 label_ago: 之前天数