| 78 |
78 |
"t+" => :label_in,
|
| 79 |
79 |
"t" => :label_today,
|
| 80 |
80 |
"w" => :label_this_week,
|
|
81 |
"lm" => :label_last_month,
|
|
82 |
"tm" => :label_this_month,
|
| 81 |
83 |
">t-" => :label_less_than_ago,
|
| 82 |
84 |
"<t-" => :label_more_than_ago,
|
| 83 |
85 |
"t-" => :label_ago,
|
| ... | ... | |
| 91 |
93 |
:list_optional => [ "=", "!", "!*", "*" ],
|
| 92 |
94 |
:list_subprojects => [ "*", "!*", "=" ],
|
| 93 |
95 |
:date => [ "<t+", ">t+", "t+", "t", "w", ">t-", "<t-", "t-" ],
|
| 94 |
|
:date_past => [ ">t-", "<t-", "t-", "t", "w" ],
|
|
96 |
:date_past => [ ">t-", "<t-", "t-", "t", "w", "tm", "lm"],
|
| 95 |
97 |
:string => [ "=", "~", "!", "!~" ],
|
| 96 |
98 |
:text => [ "~", "!~" ],
|
| 97 |
99 |
:integer => [ "=", ">=", "<=", "!*", "*" ] }
|
| ... | ... | |
| 133 |
135 |
# filter requires one or more values
|
| 134 |
136 |
(values_for(field) and !values_for(field).first.blank?) or
|
| 135 |
137 |
# filter doesn't require any value
|
| 136 |
|
["o", "c", "!*", "*", "t", "w"].include? operator_for(field)
|
|
138 |
["o", "c", "!*", "*", "t", "w", "tm", "lm"].include? operator_for(field)
|
| 137 |
139 |
end if filters
|
| 138 |
140 |
end
|
| 139 |
141 |
|
| ... | ... | |
| 423 |
425 |
# week starts on monday (Rails default)
|
| 424 |
426 |
Time.now.at_beginning_of_week
|
| 425 |
427 |
sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)]
|
|
428 |
when "lm"
|
|
429 |
back_month = Time.now - 2592000
|
|
430 |
from = Time.local(back_month.year,back_month.month,1,0,0,0,0)
|
|
431 |
to = DateTime.civil(back_month.year,back_month.month,-1,23,59,59).to_time
|
|
432 |
sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(to)]
|
|
433 |
when "tm"
|
|
434 |
this_month = Time.now
|
|
435 |
from = Time.local(this_month.year,this_month.month,1,0,0,0,0)
|
|
436 |
to = DateTime.civil(this_month.year,this_month.month,-1,23,59,59).to_time
|
|
437 |
sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(to)]
|
| 426 |
438 |
when "~"
|
| 427 |
439 |
sql = "LOWER(#{db_table}.#{db_field}) LIKE '%#{connection.quote_string(value.first.to_s.downcase)}%'"
|
| 428 |
440 |
when "!~"
|