diff options
| author | Michel Etienne | 2012-05-02 15:09:10 +0200 |
|---|---|---|
| committer | Michel Etienne | 2012-05-02 15:09:10 +0200 |
| commit | 14094a6e94a6cad6756cde3b47beb0283a4a8d08 (patch) | |
| tree | 2331872f3cf76f45bf261526c375c337b0ea82af /app/controllers | |
| parent | cd1ed3b45ff11cdac5e04f2254c56c5cda2f4deb (diff) | |
| download | chouette-core-14094a6e94a6cad6756cde3b47beb0283a4a8d08.tar.bz2 | |
manage stop areas for connection links
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/connection_link_areas_controller.rb | 21 | ||||
| -rw-r--r-- | app/controllers/connection_links_controller.rb | 11 |
2 files changed, 30 insertions, 2 deletions
diff --git a/app/controllers/connection_link_areas_controller.rb b/app/controllers/connection_link_areas_controller.rb new file mode 100644 index 000000000..40f029801 --- /dev/null +++ b/app/controllers/connection_link_areas_controller.rb @@ -0,0 +1,21 @@ +class ConnectionLinkAreasController < ChouetteController + + respond_to :json, :only => :index + + def index + respond_to do |format| + format.json { render :json => areas_maps } + end + end + + def areas_maps + areas.collect do |area| + { :id => area.id.to_s, :name => "#{area.name} #{area.country_code}" } + end + end + + def areas + referential.connection_links.find(params[:connection_link_id]).possible_areas.select{ |p| p.name =~ /#{params[:q]}/i } + end + +end diff --git a/app/controllers/connection_links_controller.rb b/app/controllers/connection_links_controller.rb index 327fb7989..8790426f7 100644 --- a/app/controllers/connection_links_controller.rb +++ b/app/controllers/connection_links_controller.rb @@ -2,14 +2,21 @@ class ConnectionLinksController < ChouetteController defaults :resource_class => Chouette::ConnectionLink belongs_to :referential do - #belongs_to :departure, :parent_class => Chouette::StopArea, :optional => false - #belongs_to :arrival, :parent_class => Chouette::StopArea, :optional => false + belongs_to :departure, :parent_class => Chouette::StopArea, :optional => true + belongs_to :arrival, :parent_class => Chouette::StopArea, :optional => true end respond_to :html, :xml, :json + def select_areas + @connection_link = connection_link + @departure = connection_link.departure + @arrival = connection_link.arrival + end protected + + alias_method :connection_link, :resource def collection @q = referential.connection_links.search(params[:q]) |
