diff options
| author | Xinhui | 2017-04-25 15:41:51 +0200 | 
|---|---|---|
| committer | Xinhui | 2017-04-25 15:41:51 +0200 | 
| commit | 219c856566cb861cee82288adeda02cf5b9ca751 (patch) | |
| tree | 98e56d9d6e9ca83bce90633afc0727bdf682cfb9 /app/controllers/calendars_controller.rb | |
| parent | 9399071affee50b3f92df0121374bec22cbc6e4c (diff) | |
| download | chouette-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.rb | 14 | 
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 | 
