X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/8ae5d94b2f16d6f2cf1739e19ebc3793a18a0a4a..3bbdb004477a21e736f3613788356b12ba7f564f:/app/controllers/search_controller.rb?ds=inline diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 210e0811b..dd7c2febe 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -2,6 +2,7 @@ class SearchController < ApplicationController # Support searching for nodes, ways, or all # Can search by tag k, v, or both (type->k,value->v) # Can search by name (k=name,v=....) + skip_before_filter :verify_authenticity_token after_filter :compress_output def search_all @@ -31,13 +32,13 @@ class SearchController < ApplicationController if do_nodes response.headers['Error'] = "Searching of nodes is currently unavailable" - render :nothing => true, :status => :service_unavailable + render :text => "", :status => :service_unavailable return false end unless value response.headers['Error'] = "Searching for a key without value is currently unavailable" - render :nothing => true, :status => :service_unavailable + render :text => "", :status => :service_unavailable return false end @@ -47,6 +48,8 @@ class SearchController < ApplicationController nodes = nodes.where(:current_node_tags => { :k => type }) if type nodes = nodes.where(:current_node_tags => { :v => value }) if value nodes = nodes.limit(100) + else + nodes = Array.new end # Matching for way tags table @@ -55,6 +58,8 @@ class SearchController < ApplicationController ways = ways.where(:current_way_tags => { :k => type }) if type ways = ways.where(:current_way_tags => { :v => value }) if value ways = ways.limit(100) + else + ways = Array.new end # Matching for relation tags table @@ -63,6 +68,8 @@ class SearchController < ApplicationController relations = relations.where(:current_relation_tags => { :k => type }) if type relations = relations.where(:current_relation_tags => { :v => value }) if value relations = relations.limit(2000) + else + relations = Array.new end # Fetch any node needed for our ways (only have matching nodes so far)