diff options
| -rw-r--r-- | app/controllers/autocomplete_stop_areas_controller.rb | 60 | ||||
| -rw-r--r-- | app/controllers/stop_area_children_controller.rb | 21 | ||||
| -rw-r--r-- | app/controllers/stop_area_parents_controller.rb | 19 | ||||
| -rw-r--r-- | app/controllers/stop_area_routing_stops_controller.rb | 21 | ||||
| -rw-r--r-- | app/controllers/stop_areas_controller.rb | 3 | ||||
| -rw-r--r-- | app/controllers/stop_point_areas_controller.rb | 20 | ||||
| -rw-r--r-- | app/views/autocomplete_stop_areas/index.rabl | 9 | ||||
| -rw-r--r-- | app/views/autocomplete_stop_areas/show.rabl | 10 | ||||
| -rw-r--r-- | app/views/connection_links/select_areas.html.erb | 4 | ||||
| -rw-r--r-- | app/views/routes/_form.html.erb | 2 | ||||
| -rw-r--r-- | app/views/stop_areas/add_children.html.erb | 2 | ||||
| -rw-r--r-- | app/views/stop_areas/add_routing_stops.html.erb | 15 | ||||
| -rw-r--r-- | app/views/stop_areas/index.rabl | 9 | ||||
| -rw-r--r-- | app/views/stop_areas/select_parent.html.erb | 4 | ||||
| -rw-r--r-- | app/views/stop_areas/show.rabl | 9 | ||||
| -rw-r--r-- | config/routes.rb | 53 | 
16 files changed, 90 insertions, 171 deletions
| diff --git a/app/controllers/autocomplete_stop_areas_controller.rb b/app/controllers/autocomplete_stop_areas_controller.rb new file mode 100644 index 000000000..740383537 --- /dev/null +++ b/app/controllers/autocomplete_stop_areas_controller.rb @@ -0,0 +1,60 @@ +class AutocompleteStopAreasController < ApplicationController +  include ApplicationHelper +  before_filter :switch_referential + +  def switch_referential +    Apartment::Database.switch(referential.slug) +  end + +  respond_to :json, :only => [:index, :children, :parent, :physicals] + +  def index +      @options = { :stop_area_path => root_url } +      Rabl::Renderer.new('autocomplete_stop_areas/index', stop_areas_by_name, :view_path => 'app/views', :format => :json).render +  end + +  protected + +  def referential +    @referential ||= current_organisation.referentials.find params[:referential_id] +  end + +  def stop_areas_by_name +    result = [] +    if physical_filter? +     result = referential.stop_areas.physical +    elsif itl_exclude_filter? +      result = Chouette::StopArea.where("area_type != 'ITL'") +    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 +    end +    @stop_areas = result.select{ |p| p.name =~ /#{params[:q]}/i  } +    @stop_areas +  end + +  def target_type? +    params.has_key?( :target_type) && params.has_key?( :relation ) +  end + +  def relation_parent? +    params[ :relation ] == "parent" +  end + +  def relation_children? +    params[ :relation ] == "children" +  end + +  def itl_exclude_filter? +    params[:filter] == "itl_excluded" +  end + +  def physical_filter? +    params[:filter] == "physical" +  end + +end + diff --git a/app/controllers/stop_area_children_controller.rb b/app/controllers/stop_area_children_controller.rb deleted file mode 100644 index d60fcb1a6..000000000 --- a/app/controllers/stop_area_children_controller.rb +++ /dev/null @@ -1,21 +0,0 @@ -class StopAreaChildrenController < ChouetteController - -  respond_to :json, :only => :index - -  def index -    respond_to do |format| -      format.json { render :json => children_maps } -    end -  end - -  protected - -  def children_maps -    children.map {|area| area.attributes.merge( :area_type => t("area_types.label.#{area.area_type.underscore}"))} -  end - -  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 deleted file mode 100644 index c32e5df17..000000000 --- a/app/controllers/stop_area_parents_controller.rb +++ /dev/null @@ -1,19 +0,0 @@ -class StopAreaParentsController < ChouetteController - -  respond_to :json, :only => :index - -  def index -    respond_to do |format| -      format.json { render :json => parents_maps } -    end -  end - -  def parents_maps -    parents.map {|area| area.attributes.merge( :area_type => t("area_types.label.#{area.area_type.underscore}"))} -  end - -  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/controllers/stop_area_routing_stops_controller.rb b/app/controllers/stop_area_routing_stops_controller.rb deleted file mode 100644 index c5e7980f9..000000000 --- a/app/controllers/stop_area_routing_stops_controller.rb +++ /dev/null @@ -1,21 +0,0 @@ -class StopAreaRoutingStopsController < ChouetteController - -  respond_to :json, :only => :index - -  def index -    respond_to do |format|   -      format.json { render :json => routing_stops_maps }   -    end   -  end - -  def routing_stops_maps -    routing_stops.collect do |stop| -      { :id => stop.id.to_s, :name => "#{stop.name} #{stop.country_code}" } -    end -  end - -  def routing_stops  -    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_areas_controller.rb b/app/controllers/stop_areas_controller.rb index 53a7575b9..6277b5814 100644 --- a/app/controllers/stop_areas_controller.rb +++ b/app/controllers/stop_areas_controller.rb @@ -36,7 +36,6 @@ class StopAreasController < ChouetteController    def add_routing_stops      @stop_area = stop_area -    @stops = stop_area.routing_stops      build_breadcrumb :edit    end @@ -100,7 +99,7 @@ class StopAreasController < ChouetteController    def update      stop_area.position ||= stop_area.default_position      map.editable = true -     +      update!    end diff --git a/app/controllers/stop_point_areas_controller.rb b/app/controllers/stop_point_areas_controller.rb deleted file mode 100644 index 1ece8641e..000000000 --- a/app/controllers/stop_point_areas_controller.rb +++ /dev/null @@ -1,20 +0,0 @@ -class StopPointAreasController < ChouetteController - -  respond_to :json, :only => :index - -  def index -    respond_to do |format| -      format.json { render :json => areas_maps } -    end -  end - -  def areas_maps -    areas.map {|area| area.attributes.merge( :area_type => t("area_types.label.#{area.area_type.underscore}"))} -  end - -  def areas -    Chouette::StopPoint.area_candidates.select{ |p| p.name =~ /#{params[:q]}/i  } -  end - -end - diff --git a/app/views/autocomplete_stop_areas/index.rabl b/app/views/autocomplete_stop_areas/index.rabl new file mode 100644 index 000000000..9864ff2d3 --- /dev/null +++ b/app/views/autocomplete_stop_areas/index.rabl @@ -0,0 +1,9 @@ +collection @stop_areas + +node do |stop_area| +  { :id => stop_area.id, :stop_area_path => @options[ :stop_area_path], :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 diff --git a/app/views/autocomplete_stop_areas/show.rabl b/app/views/autocomplete_stop_areas/show.rabl new file mode 100644 index 000000000..989f6f4b1 --- /dev/null +++ b/app/views/autocomplete_stop_areas/show.rabl @@ -0,0 +1,10 @@ +object @stop_area +Rails.logger.debug "inside Rabl view call helper for help_path #{self.inspect}" + +node do |stop_area| +  { :id => stop_area.id, :registration_number => stop_area.registration_number || "", :image_path => @options[ :image_path ], :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 diff --git a/app/views/connection_links/select_areas.html.erb b/app/views/connection_links/select_areas.html.erb index ee93d1d0d..0d8f25351 100644 --- a/app/views/connection_links/select_areas.html.erb +++ b/app/views/connection_links/select_areas.html.erb @@ -3,8 +3,8 @@  <%= semantic_form_for [@referential, @connection_link] do |form| %>  <div>    <%= form.inputs do %> -    <%= form.input :departure_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@departure].compact, :view_path => 'app/views', :format => :json).render  } %> -    <%= form.input :arrival_id, :as => :search_stop_area, :json => referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json), :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@arrival].compact, :view_path => 'app/views', :format => :json).render }  %> +    <%= form.input :departure_id, :as => :search_stop_area, :json => referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?filter=itl_excluded", :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('autocomplete_stop_areas/show', [@departure].compact, :view_path => 'app/views', :format => :json).render  } %> +    <%= form.input :arrival_id, :as => :search_stop_area, :json =>  referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?filter=itl_excluded", :tokenLimit => 1, :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('autocomplete_stop_areas/show', [@arrival].compact, :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/routes/_form.html.erb b/app/views/routes/_form.html.erb index 270c49911..63ee8cbe2 100644 --- a/app/views/routes/_form.html.erb +++ b/app/views/routes/_form.html.erb @@ -77,7 +77,7 @@ $(document).ready( function() {          }          return '<li><div class=\"name\">' + item_name( item) + '</div><div class=\"info\">' + item.area_type + '</div><div class=\"info\">' +  info + '</div></li>'       }; -    element.tokenInput('<%= referential_stop_point_areas_path(@referential, :format => :json) %>', +    element.tokenInput('<%= referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?filter=physical" %>',            {  crossDomain: false,               tokenLimit: 1,               minChars: 3, diff --git a/app/views/stop_areas/add_children.html.erb b/app/views/stop_areas/add_children.html.erb index 732e28466..362915a54 100644 --- a/app/views/stop_areas/add_children.html.erb +++ b/app/views/stop_areas/add_children.html.erb @@ -3,7 +3,7 @@  <%= semantic_form_for [@referential, @stop_area] do |form| %>  <div>    <%= form.inputs do %> -    <%= form.input :children_ids, :as => :search_stop_area, :json => referential_stop_area_stop_area_children_path(@referential, @stop_area, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/index', @children, :view_path => 'app/views', :format => :json).render }  %> +    <%= form.input :children_ids, :as => :search_stop_area, :json => referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?relation=children&target_type=#{@stop_area.area_type}", :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('autocomplete_stop_areas/index', @children, :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/stop_areas/add_routing_stops.html.erb b/app/views/stop_areas/add_routing_stops.html.erb index 06a96d575..8675c199b 100644 --- a/app/views/stop_areas/add_routing_stops.html.erb +++ b/app/views/stop_areas/add_routing_stops.html.erb @@ -3,7 +3,7 @@  <%= semantic_form_for [@referential, @stop_area] do |form| %>  <div>    <%= form.inputs do %> -    <%= form.input :routing_stop_ids, :as => :text, :input_html => { :"data-pre" => ( @stops.map { |stop| { :id => stop.id.to_s, :name => "#{stop.name} #{stop.country_code}" } } ).to_json }  %> +    <%= form.input :routing_stop_ids, :as => :search_stop_area, :json =>  referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?filter=itl_excluded", :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new('autocomplete_stop_areas/index', @stop_area.routing_stops, :view_path => 'app/views', :format => :json).render  }  %>    <% end %>     <%= form.actions do %> @@ -13,19 +13,6 @@  </div>  <% end %> -<script> -	$(function() { -		$( "#stop_area_routing_stop_ids" ).tokenInput('<%= referential_stop_area_stop_area_routing_stops_path(@referential, @stop_area, :format => :json) %>', { -       crossDomain: false, -       prePopulate: $('#stop_area_routing_stop_id').data('pre'), -       minChars: 3, -       hintText: '<%= t('search_hint') %>', -       noResultsText: '<%= t('no_result_text') %>', -       searchingText: '<%= t('searching_term') %>' -    }); -	}); -</script> -  <% content_for :sidebar do %>  <ul class="actions">  </ul> diff --git a/app/views/stop_areas/index.rabl b/app/views/stop_areas/index.rabl deleted file mode 100644 index d7f2365bb..000000000 --- a/app/views/stop_areas/index.rabl +++ /dev/null @@ -1,9 +0,0 @@ -collection @stop_areas - -node do |stop_area| -  { :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 diff --git a/app/views/stop_areas/select_parent.html.erb b/app/views/stop_areas/select_parent.html.erb index fd1b292c6..9a830d67d 100644 --- a/app/views/stop_areas/select_parent.html.erb +++ b/app/views/stop_areas/select_parent.html.erb @@ -2,8 +2,8 @@  <%= semantic_form_for [@referential, @stop_area] do |form| %>  <div> -  <%= form.inputs do %>     -    <%= form.input :parent_id, :as => :search_stop_area, :json => referential_stop_area_stop_area_parents_path(@referential, @stop_area, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'), :searching_text => t('searching_term'), :tokenLimit => 1, :input_html => { :"data-pre" => Rabl::Renderer.new('stop_areas/show', [@parent].compact, :view_path => 'app/views', :format => :json).render }  %> +  <%= form.inputs do %> +    <%= form.input :parent_id, :as => :search_stop_area, :json => referential_autocomplete_stop_areas_path(@referential, :format => :json)+"?relation=parent&target_type=#{@stop_area.area_type}", :hint_text => t('search_hint'), :no_result_text => t('no_result_text'), :searching_text => t('searching_term'), :tokenLimit => 1, :input_html => { :"data-pre" => Rabl::Renderer.new('autocomplete_stop_areas/index', [@parent].compact, :stop_area_path => root_url, :view_path => 'app/views', :format => :json).render }  %>    <% end %>     <%= form.actions do %> diff --git a/app/views/stop_areas/show.rabl b/app/views/stop_areas/show.rabl deleted file mode 100644 index f406c4eff..000000000 --- a/app/views/stop_areas/show.rabl +++ /dev/null @@ -1,9 +0,0 @@ -object @stop_area - -node do |stop_area| -  { :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 diff --git a/config/routes.rb b/config/routes.rb index f629a963f..530e17409 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,7 +9,7 @@ ChouetteIhm::Application.routes.draw do      authenticated :user do        root :to => 'referentials#index'      end -     +      unauthenticated do        root :to => 'devise/sessions#new'      end @@ -61,29 +61,13 @@ ChouetteIhm::Application.routes.draw do    resources :referentials do      resources :api_keys      resources :rule_parameter_sets -    resources :stop_point_areas +    resources :autocomplete_stop_areas      match 'lines' => 'lines#destroy_all', :via => :delete      resources :group_of_lines do -      resources :stop_areas do -        resources :access_points -        resources :stop_area_copies -        resources :stop_area_parents -        resources :stop_area_children -        resources :stop_area_routing_lines -        resources :stop_area_routing_stops -        member do -          get 'add_children' -          get 'select_parent' -          get 'add_routing_lines' -          get 'add_routing_stops' -        end -      end -      resources :lines        collection do          get :name_filter        end      end -      resources :lines do        collection do          get :name_filter @@ -91,20 +75,6 @@ ChouetteIhm::Application.routes.draw do      end      resources :lines, :networks, :group_of_lines do -      resources :stop_areas do -        resources :access_points -        resources :stop_area_copies -        resources :stop_area_parents -        resources :stop_area_children -        resources :stop_area_routing_lines -        resources :stop_area_routing_stops -        member do -          get 'add_children' -          get 'select_parent' -          get 'add_routing_lines' -          get 'add_routing_stops' -        end -      end        resources :routes do          resources :journey_patterns do            member do @@ -164,10 +134,7 @@ ChouetteIhm::Application.routes.draw do      resources :stop_areas do        resources :access_points        resources :stop_area_copies -      resources :stop_area_parents -      resources :stop_area_children        resources :stop_area_routing_lines -      resources :stop_area_routing_stops        member do          get 'add_children'          get 'select_parent' @@ -181,25 +148,11 @@ ChouetteIhm::Application.routes.draw do      end      resources :connection_links do -      resources :connection_link_areas +      resources :stop_areas        member do          get 'select_areas'        end -      resources :stop_areas do -        resources :access_points -        resources :stop_area_parents -        resources :stop_area_children -        resources :stop_area_routing_lines -        resources :stop_area_routing_stops -        member do -          get 'add_children' -          get 'select_parent' -          get 'add_routing_lines' -          get 'add_routing_stops' -        end -      end      end -      resources :clean_ups    end | 
