aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/calendars_controller.rb
diff options
context:
space:
mode:
authorXinhui2017-04-25 15:41:51 +0200
committerXinhui2017-04-25 15:41:51 +0200
commit219c856566cb861cee82288adeda02cf5b9ca751 (patch)
tree98e56d9d6e9ca83bce90633afc0727bdf682cfb9 /app/controllers/calendars_controller.rb
parent9399071affee50b3f92df0121374bec22cbc6e4c (diff)
downloadchouette-core-219c856566cb861cee82288adeda02cf5b9ca751.tar.bz2
Fix calendar ransack filter
Refs #3173
Diffstat (limited to 'app/controllers/calendars_controller.rb')
-rw-r--r--app/controllers/calendars_controller.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/controllers/calendars_controller.rb b/app/controllers/calendars_controller.rb
index 3e7a05231..c33aa9373 100644
--- a/app/controllers/calendars_controller.rb
+++ b/app/controllers/calendars_controller.rb
@@ -1,7 +1,7 @@
class CalendarsController < BreadcrumbController
include PolicyChecker
defaults resource_class: Calendar
-
+ before_action :ransack_contains_date, only: [:index]
respond_to :html
respond_to :js, only: :index
@@ -39,5 +39,17 @@ class CalendarsController < BreadcrumbController
calendars = calendars.order(sort_column + ' ' + sort_direction) if sort_column && sort_direction
@calendars = calendars.paginate(page: params[:page])
end
+
+ def ransack_contains_date
+ # 3 parts to date object, in order to use in ransackable_scopes
+ if params[:q] && !params[:q]['contains_date(1i)'].empty?
+ date =[]
+ ['contains_date(1i)', 'contains_date(2i)', 'contains_date(3i)'].each do |key|
+ date << params[:q][key]
+ params[:q].delete(key)
+ end
+ params[:q]['contains_date'] = Date.parse(date.join('-'))
+ end
+ end
end