aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorMarc Florisson2014-11-18 22:23:09 +0100
committerMarc Florisson2014-11-18 22:23:09 +0100
commitd3dbdbbc532eacb11d77e1912f822fed92e30547 (patch)
tree59dd40d9eb085cd59969a9ab2be314da3d518f00 /app
parent0df2ab4ef16ade6547db4f707472cc9506c12892 (diff)
downloadchouette-core-d3dbdbbc532eacb11d77e1912f822fed92e30547.tar.bz2
add registration_number in stop area auto complete. Mantis 30118
Diffstat (limited to 'app')
-rw-r--r--app/controllers/stop_area_children_controller.rb20
-rw-r--r--app/controllers/stop_area_parents_controller.rb20
-rw-r--r--app/inputs/search_stop_area_input.rb35
-rw-r--r--app/views/stop_areas/index.rabl4
-rw-r--r--app/views/stop_areas/show.rabl2
5 files changed, 42 insertions, 39 deletions
diff --git a/app/controllers/stop_area_children_controller.rb b/app/controllers/stop_area_children_controller.rb
index f115ff35a..773f6e1b8 100644
--- a/app/controllers/stop_area_children_controller.rb
+++ b/app/controllers/stop_area_children_controller.rb
@@ -3,27 +3,19 @@ class StopAreaChildrenController < ChouetteController
respond_to :json, :only => :index
def index
- respond_to do |format|
- format.json { render :json => children_maps }
- end
+ respond_to do |format|
+ format.json { render :json => children_maps }
+ end
end
protected
def children_maps
- children.collect do |area|
- { :id => area.id.to_s,
- :name => area.name,
- :country_code => area.country_code,
- :zip_code => area.zip_code || "",
- :city_name => area.city_name || "",
- :area_type => t("area_types.label.#{area.area_type.underscore}")
- }
- end
+ children.map { |c| c.attributes}
end
- def children
- referential.stop_areas.find(params[:stop_area_id]).possible_children.select{ |p| p.name =~ /#{params[:q]}/i }
+ def children
+ referential.stop_areas.find(params[:stop_area_id]).possible_children.select{ |p| p.name =~ /#{params[:q]}/i }
end
end
diff --git a/app/controllers/stop_area_parents_controller.rb b/app/controllers/stop_area_parents_controller.rb
index 1dbb0796c..06b462075 100644
--- a/app/controllers/stop_area_parents_controller.rb
+++ b/app/controllers/stop_area_parents_controller.rb
@@ -3,25 +3,17 @@ class StopAreaParentsController < ChouetteController
respond_to :json, :only => :index
def index
- respond_to do |format|
- format.json { render :json => parents_maps }
- end
+ respond_to do |format|
+ format.json { render :json => parents_maps }
+ end
end
def parents_maps
- parents.collect do |area|
- { :id => area.id.to_s,
- :name => area.name,
- :country_code => area.country_code,
- :zip_code => area.zip_code || "",
- :city_name => area.city_name || "",
- :area_type => t("area_types.label.#{area.area_type.underscore}")
- }
- end
+ parents.map { |p| p.attributes}
end
- def parents
- referential.stop_areas.find(params[:stop_area_id]).possible_parents.select{ |p| p.name =~ /#{params[:q]}/i }
+ def parents
+ referential.stop_areas.find(params[:stop_area_id]).possible_parents.select{ |p| p.name =~ /#{params[:q]}/i }
end
end
diff --git a/app/inputs/search_stop_area_input.rb b/app/inputs/search_stop_area_input.rb
index 1feb58d00..901715dc1 100644
--- a/app/inputs/search_stop_area_input.rb
+++ b/app/inputs/search_stop_area_input.rb
@@ -2,9 +2,28 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput
def search
if options[:json]
- tokenLimit = options[:tokenLimit].present? ? options[:tokenLimit] : "null"
+ tokenLimit = options[:tokenLimit].present? ? options[:tokenLimit] : "null"
template.content_tag( :script,
("$(document).ready(function() {
+ var item_name = function( item){
+ var result = item.name;
+ console.log( item );
+ console.log( item.registration_number );
+ if ( item.registration_number !=null && item.registration_number.length > 0) {
+ result += ' (' + item.registration_number + ')';
+ }
+ return result;
+ };
+ var item_format = function( item ){
+ var info = '';
+ if ( item.zip_code != null ) {
+ info += item.zip_code + ' ';
+ }
+ if ( item.city_name != null ) {
+ info += item.city_name;
+ }
+ return '<li><div class=\"name\">' + item_name( item) + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' + info + '</div></li>'
+ };
$('##{dom_id}').tokenInput('#{options[:json]}', {
crossDomain: false,
tokenLimit: #{tokenLimit},
@@ -13,21 +32,21 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput
hintText: '#{options[:hint_text]}',
noResultsText: '#{options[:no_result_text]}',
searchingText: '#{options[:searching_text]}',
- resultsFormatter: function(item){ return '<li><div class=\"name\">' + item.name + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' + item.zip_code + ' ' + item.city_name + '</div></li>' },
- tokenFormatter: function(item){ return '<li><div class=\"name\">' + item.name + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' + item.zip_code + ' ' + item.city_name + '</div></li>' },
+ resultsFormatter: item_format,
+ tokenFormatter: item_format
});
});").html_safe)
end
end
-
+
def to_html
- input_wrapping do
+ input_wrapping do
label_html <<
builder.search_field(method, input_html_options) <<
search
end
end
-
+
def input_html_options
super.merge({
:required => nil,
@@ -35,6 +54,6 @@ class SearchStopAreaInput < Formtastic::Inputs::SearchInput
:class => 'token-input',
'data-model-name' => object.class.model_name.human
})
- end
-
+ end
+
end
diff --git a/app/views/stop_areas/index.rabl b/app/views/stop_areas/index.rabl
index 72b736858..d7f2365bb 100644
--- a/app/views/stop_areas/index.rabl
+++ b/app/views/stop_areas/index.rabl
@@ -1,9 +1,9 @@
collection @stop_areas
node do |stop_area|
- { :id => stop_area.id, :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }
+ { :id => stop_area.id, :registration_number => stop_area.registration_number || "", :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }
end
node :area_type do |area|
I18n.t("area_types.label.#{area.area_type.underscore}") || ""
-end \ No newline at end of file
+end
diff --git a/app/views/stop_areas/show.rabl b/app/views/stop_areas/show.rabl
index a03a3511d..f406c4eff 100644
--- a/app/views/stop_areas/show.rabl
+++ b/app/views/stop_areas/show.rabl
@@ -1,7 +1,7 @@
object @stop_area
node do |stop_area|
- { :id => stop_area.id, :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }
+ { :id => stop_area.id, :registration_number => stop_area.registration_number || "", :name => stop_area.name || "", :zip_code => stop_area.zip_code || "", :city_name => stop_area.city_name || "" }
end
node :area_type do |area|