diff options
| author | Guillaume | 2017-10-04 10:47:26 +0200 |
|---|---|---|
| committer | Guillaume | 2017-10-04 10:47:26 +0200 |
| commit | dc4ce3561c2e51d116f4a6533d8d64348d7460ab (patch) | |
| tree | 32cd5196c385f010da9a8e899e7df3bcf9c298a2 | |
| parent | 11dad45ee79f4a662db892fa5cb74010303d838e (diff) | |
| parent | fdd6f25fbda4fa2c1f307248cddd316db88d2771 (diff) | |
| download | chouette-core-dc4ce3561c2e51d116f4a6533d8d64348d7460ab.tar.bz2 | |
Merge branch 'master' of https://github.com/af83/stif-boiv
| -rw-r--r-- | app/controllers/concerns/ransack_date_filter.rb | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb index 225fd91ee..9c2755186 100644 --- a/app/controllers/concerns/ransack_date_filter.rb +++ b/app/controllers/concerns/ransack_date_filter.rb @@ -2,40 +2,41 @@ module RansackDateFilter extend ActiveSupport::Concern cattr_accessor :date_param - included do - - def set_date_time_params(param_name, klass) - start_date = [] - end_date = [] - - if params[:q] && params[:q][param_name] && !params[:q][param_name].has_value?(nil) && !params[:q][param_name].has_value?("") - [1, 2, 3].each do |key| - start_date << params[:q][param_name]["start_date(#{key}i)"].to_i - end_date << params[:q][param_name]["end_date(#{key}i)"].to_i - end - params[:q].delete([param_name]) - - if klass == DateTime - @begin_range = klass.new(*start_date,0,0,0) rescue nil - @end_range = klass.new(*end_date,23,59,59) rescue nil - else - @begin_range = klass.new(*start_date) rescue nil - @end_range = klass.new(*end_date) rescue nil + included do + + def set_date_time_params(param_name, klass) + start_date = [] + end_date = [] + + if params[:q] && params[:q][param_name] && !params[:q][param_name].has_value?(nil) && !params[:q][param_name].has_value?("") + [1, 2, 3].each do |key| + start_date << params[:q][param_name]["start_date(#{key}i)"].to_i + end_date << params[:q][param_name]["end_date(#{key}i)"].to_i end - end - # Fake ransack filter - def ransack_period_range **options - return options[:scope] unless !!@begin_range && !!@end_range + params[:q].delete([param_name]) - if @begin_range > @end_range - flash.now[:error] = options[:error_message] + if klass == DateTime + @begin_range = klass.new(*start_date,0,0,0) rescue nil + @end_range = klass.new(*end_date,23,59,59) rescue nil else - scope = options[:scope].send options[:query], @begin_range..@end_range + @begin_range = klass.new(*start_date) rescue nil + @end_range = klass.new(*end_date) rescue nil end - scope end end + # Fake ransack filter + def ransack_period_range **options + return options[:scope] unless !!@begin_range && !!@end_range + + if @begin_range > @end_range + flash.now[:error] = options[:error_message] + else + scope = options[:scope].send options[:query], @begin_range..@end_range + end + scope + end end + end
\ No newline at end of file |
