diff --git a/ckan/public/base/javascript/view-filters.js b/ckan/public/base/javascript/view-filters.js index e5cb4582723..d48350acd02 100644 --- a/ckan/public/base/javascript/view-filters.js +++ b/ckan/public/base/javascript/view-filters.js @@ -49,12 +49,6 @@ String.prototype.queryStringToJSON = String.prototype.queryStringToJSON || funct // Fix key = decodeURIComponent(key); value = decodeURIComponent(value); - try { - // value can be converted - value = eval(value); - } catch ( e ) { - // value is a normal string - } // Set // window.console.log({'key':key,'value':value}, split); diff --git a/ckan/public/base/test/spec/view-filters.spec.js b/ckan/public/base/test/spec/view-filters.spec.js index ae28bf22efd..8f032d0739b 100644 --- a/ckan/public/base/test/spec/view-filters.spec.js +++ b/ckan/public/base/test/spec/view-filters.spec.js @@ -56,6 +56,24 @@ describe('ckan.views.filters', function(){ filters._initialize('?filters=country:Brazil|country:Argentina'); assert.deepEqual(expectedFiltersReverse, filters.get()); }); + + it('should work with a single numeric filter', function() { + var expectedFilters = { + year: ['2014'] + }; + + filters._initialize('?filters=year:2014'); + assert.deepEqual(expectedFilters, filters.get()); + }); + + it('should work with quoted filters', function() { + var expectedFilters = { + country: ['"Brazil"'] + }; + + filters._initialize('?filters=country:"Brazil"'); + assert.deepEqual(expectedFilters, filters.get()); + }); }); describe('#get', function(){