aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/time_tables_controller.rb
diff options
context:
space:
mode:
authorcedricnjanga2017-10-02 17:34:49 +0200
committercedricnjanga2017-10-02 17:36:41 +0200
commitcba31dc411ceb47f80202c1d3a32a2e031630b13 (patch)
tree429718a617260f5013bb9d07b828e3d1bd26c738 /app/controllers/time_tables_controller.rb
parent466dde61ed0cdf32c06cb3738e32f38c50c4558e (diff)
downloadchouette-core-cba31dc411ceb47f80202c1d3a32a2e031630b13.tar.bz2
Refs #4665
Add a controller concern to deal with date filters
Diffstat (limited to 'app/controllers/time_tables_controller.rb')
-rw-r--r--app/controllers/time_tables_controller.rb49
1 files changed, 26 insertions, 23 deletions
diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb
index 0054963c9..12dc26367 100644
--- a/app/controllers/time_tables_controller.rb
+++ b/app/controllers/time_tables_controller.rb
@@ -1,5 +1,8 @@
class TimeTablesController < ChouetteController
include TimeTablesHelper
+ include RansackDateFilter
+ set_date_param "bounding_dates", Date
+ before_action :set_date_time_params, only: [:index]
defaults :resource_class => Chouette::TimeTable
respond_to :html
respond_to :xml
@@ -131,7 +134,7 @@ class TimeTablesController < ChouetteController
params[:q].delete("tag_search")
scope = select_time_tables.tagged_with(tags, :any => true) if tags.any?
end
- scope = ransack_periode(scope)
+ scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :overlapping)
@q = scope.search(params[:q])
if sort_column && sort_direction
@@ -159,28 +162,28 @@ class TimeTablesController < ChouetteController
end
private
- def ransack_periode scope
- return scope unless params[:q]
- return scope unless params[:q]['end_date_lteq(1i)'].present?
-
- begin_range = flatten_date('start_date_gteq')
- end_range = flatten_date('end_date_lteq')
-
- if begin_range > end_range
- flash.now[:error] = t('referentials.errors.validity_period')
- else
- scope = scope.overlapping(begin_range, end_range)
- params[:q] = params[:q].slice('comment_cont', 'color_cont_any')
- @begin_range = begin_range
- @end_range = end_range
- end
- scope
- end
-
- def flatten_date key
- date_int = %w(1 2 3).map {|e| params[:q]["#{key}(#{e}i)"].to_i }
- Date.new(*date_int)
- end
+ # def ransack_periode scope
+ # return scope unless params[:q]
+ # return scope unless params[:q]['end_date_lteq(1i)'].present?
+
+ # begin_range = flatten_date('start_date_gteq')
+ # end_range = flatten_date('end_date_lteq')
+
+ # if begin_range > end_range
+ # flash.now[:error] = t('referentials.errors.validity_period')
+ # else
+ # scope = scope.overlapping(begin_range, end_range)
+ # params[:q] = params[:q].slice('comment_cont', 'color_cont_any')
+ # @begin_range = begin_range
+ # @end_range = end_range
+ # end
+ # scope
+ # end
+
+ # def flatten_date key
+ # date_int = %w(1 2 3).map {|e| params[:q]["#{key}(#{e}i)"].to_i }
+ # Date.new(*date_int)
+ # end
def sort_column
referential.time_tables.column_names.include?(params[:sort]) ? params[:sort] : 'comment'