diff options
| author | Alban Peignier | 2012-04-27 13:28:34 +0200 |
|---|---|---|
| committer | Alban Peignier | 2012-04-27 13:28:34 +0200 |
| commit | cca4d6c96bae2bad367eb44e1ba278a02fbe62ae (patch) | |
| tree | 53fa6e6b542d0b90fc1a21425561f24813e30f6d /app/controllers | |
| parent | dbc9af9b80d7a56a8e6ef9331b386fbb02ba98f8 (diff) | |
| parent | ba2527b56c76ca173a8769f1f3cbe949842c96b1 (diff) | |
| download | chouette-core-cca4d6c96bae2bad367eb44e1ba278a02fbe62ae.tar.bz2 | |
Merge branch 'master' of chouette.dryade.priv:/srv/git/chouette2
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/lines_controller.rb | 1 | ||||
| -rw-r--r-- | app/controllers/routes_controller.rb | 53 | ||||
| -rw-r--r-- | app/controllers/stop_areas_controller.rb | 2 |
3 files changed, 55 insertions, 1 deletions
diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index ac441f3ad..42a126169 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -8,6 +8,7 @@ class LinesController < ChouetteController def show @map = LineMap.new referential, resource + @routes = @line.routes show! end diff --git a/app/controllers/routes_controller.rb b/app/controllers/routes_controller.rb new file mode 100644 index 000000000..55a700315 --- /dev/null +++ b/app/controllers/routes_controller.rb @@ -0,0 +1,53 @@ +class RoutesController < ChouetteController + defaults :resource_class => Chouette::Route + + respond_to :html, :xml, :json + + belongs_to :referential do + belongs_to :line, :parent_class => Chouette::Line, :optional => true, :polymorphic => true + end + + def index + index! do |format| + format.html { redirect_to referential_line_path(@referential,@line) } + end + end + + def show + @stop_areas = resource.stop_areas.paginate(:page => params[:page], :per_page => 10) + show! + end + + def destroy + destroy! do |success, failure| + success.html { redirect_to referential_line_path(@referential,@line) } + end + end + + def create + create! do |success, failure| + success.html { redirect_to referential_line_path(@referential,@line) } + end + end + + def update + update! do |success, failure| + success.html { redirect_to referential_line_path(@referential,@line) } + end + end + protected + + alias_method :route, :resource + + def collection + @q = parent.routes.search(params[:q]) + @routes ||= + begin + routes = @q.result(:distinct => true).order(:name) + routes = routes.paginate(:page => params[:page], :per_page => @per_page) if @per_page.present? + routes + end + end + +end + diff --git a/app/controllers/stop_areas_controller.rb b/app/controllers/stop_areas_controller.rb index 7c73553a8..baca38598 100644 --- a/app/controllers/stop_areas_controller.rb +++ b/app/controllers/stop_areas_controller.rb @@ -6,7 +6,7 @@ class StopAreasController < ChouetteController belongs_to :network, :parent_class => Chouette::Network, :optional => true, :polymorphic => true end - respond_to :html, :kml + respond_to :html, :kml, :xml, :json # def complete # @stop_areas = line.stop_areas |
