From d336e778f7d458c72ac5c59b5da09b7a4f665963 Mon Sep 17 00:00:00 2001 From: Felix Van der Jeugt Date: Fri, 11 Sep 2015 11:55:26 +0200 Subject: [PATCH] improve (and fix) parsing --- app/controllers/concerns/data_table.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/controllers/concerns/data_table.rb b/app/controllers/concerns/data_table.rb index 722ce68..825f96d 100644 --- a/app/controllers/concerns/data_table.rb +++ b/app/controllers/concerns/data_table.rb @@ -60,7 +60,8 @@ class DataTable columns: Hash.new } params.require(:columns).each do |i, column| - type, value = column.require(:search)[:value].split(':') + type, *values = column.require(:search)[:value].split(':') + value = values.join(':') unless values.empty? h = clean[:columns][column.require(:data).to_sym] = { name: column[:name], searchable: column[:searchable] == 'true', @@ -68,9 +69,13 @@ class DataTable type: type } if type == 'number-range' - h[:lower], h[:upper] = value.split('~').map &:to_i + h[:lower], h[:upper] = value.split('~').map do |euros| + (euros.to_f * 100).to_i rescue nil + end elsif type == 'date-range' - h[:lower], h[:upper] = value.split('~').map &:to_datetime + h[:lower], h[:upper] = value.split('~').map do |string| + string.to_datetime rescue nil + end else h[:value] = value end