aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorAlban Peignier2012-04-27 13:28:34 +0200
committerAlban Peignier2012-04-27 13:28:34 +0200
commitcca4d6c96bae2bad367eb44e1ba278a02fbe62ae (patch)
tree53fa6e6b542d0b90fc1a21425561f24813e30f6d /app/controllers
parentdbc9af9b80d7a56a8e6ef9331b386fbb02ba98f8 (diff)
parentba2527b56c76ca173a8769f1f3cbe949842c96b1 (diff)
downloadchouette-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.rb1
-rw-r--r--app/controllers/routes_controller.rb53
-rw-r--r--app/controllers/stop_areas_controller.rb2
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