diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/calendars_controller.rb | 14 | ||||
| -rw-r--r-- | app/views/calendars/_filters.html.slim | 5 |
2 files changed, 15 insertions, 4 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 diff --git a/app/views/calendars/_filters.html.slim b/app/views/calendars/_filters.html.slim index 4fc11b5c7..d8707ba0f 100644 --- a/app/views/calendars/_filters.html.slim +++ b/app/views/calendars/_filters.html.slim @@ -9,12 +9,11 @@ .ffg-row .form-group.has_switch style='width: 260px' = f.label Calendar.human_attribute_name(:shared), class: 'col-sm-4 control-label' - = f.input :shared, as: :boolean, checked_value: true, unchecked_value: false, label: content_tag(:span, '', class: 'switch-label', data: {checkedValue: t('true'), uncheckedValue: t('false')}), wrapper_html: { class: 'col-sm-8' } + = f.input :shared_true, as: :boolean, checked_value: true, unchecked_value: false, label: content_tag(:span, '', class: 'switch-label', data: {checkedValue: t('true'), uncheckedValue: t('false')}), wrapper_html: { class: 'col-sm-8' } .form-group = f.label Calendar.human_attribute_name(:date), class: 'control-label' - = f.input :contains_date, as: :date, label: false, wrapper_html: { class: 'date' }, class: 'form-control' - + = f.input :contains_date, as: :date, label: false, wrapper_html: { class: 'date' }, class: 'form-control', include_blank: true .actions = link_to 'Effacer', calendars_path, class: 'btn btn-link' = f.submit 'Filtrer', id: 'filter_btn', class: 'btn btn-default' |
