aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2016-12-22 14:56:13 +0100
committerXinhui2016-12-22 14:56:13 +0100
commitfa218d1d95ca05be0c0b663021a2945ecfe6dc5a (patch)
treeab37adb35841fdbffa23708478af1bf41bcef15d
parented25e709fc16e5dee5c326eda0479d492f137e35 (diff)
downloadchouette-core-fa218d1d95ca05be0c0b663021a2945ecfe6dc5a.tar.bz2
Limite route stop_areas to zdep area type
Refs #2250
-rw-r--r--app/assets/javascripts/es6_browserified/components/BSelect2.js3
-rw-r--r--app/controllers/autocomplete_stop_areas_controller.rb19
2 files changed, 10 insertions, 12 deletions
diff --git a/app/assets/javascripts/es6_browserified/components/BSelect2.js b/app/assets/javascripts/es6_browserified/components/BSelect2.js
index 0bd53a083..0bf3ebf38 100644
--- a/app/assets/javascripts/es6_browserified/components/BSelect2.js
+++ b/app/assets/javascripts/es6_browserified/components/BSelect2.js
@@ -92,7 +92,8 @@ class BSelect2 extends React.Component{
delay: '500',
data: function(params) {
return {
- q: params.term
+ q: params.term,
+ target_type: 'zdep'
};
},
processResults: function(data, params) {
diff --git a/app/controllers/autocomplete_stop_areas_controller.rb b/app/controllers/autocomplete_stop_areas_controller.rb
index 92d4c631f..cd7123efd 100644
--- a/app/controllers/autocomplete_stop_areas_controller.rb
+++ b/app/controllers/autocomplete_stop_areas_controller.rb
@@ -14,23 +14,20 @@ class AutocompleteStopAreasController < InheritedResources::Base
protected
def collection
- result = []
- if physical_filter?
- result = referential.stop_areas.physical
- elsif target_type? && relation_parent?
- result = Chouette::StopArea.new( :area_type => params[ :target_type ] ).possible_parents
- elsif target_type? && relation_children?
- result = Chouette::StopArea.new( :area_type => params[ :target_type ] ).possible_children
- else
- result = referential.stop_areas
+ scope = referential.stop_areas
+ scope = scope.physical if physical_filter?
+ if target_type?
+ scope = scope.where(area_type: params[:target_type])
+ scope = scope.possible_parents if relation_parent?
+ scope = scope.possible_parents if relation_children?
end
args = [].tap{|arg| 3.times{arg << "%#{params[:q]}%"}}
- @stop_areas = result.where("name ILIKE ? OR registration_number ILIKE ? OR objectid ILIKE ?", *args).limit(50)
+ @stop_areas = scope.where("name ILIKE ? OR registration_number ILIKE ? OR objectid ILIKE ?", *args).limit(50)
@stop_areas
end
def target_type?
- params.has_key?( :target_type) && params.has_key?( :relation )
+ params.has_key?( :target_type)
end
def relation_parent?