aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/exports_controller.rb
diff options
context:
space:
mode:
authorMichel Etienne2012-06-07 14:25:34 +0200
committerMichel Etienne2012-06-07 14:25:34 +0200
commit6e19b591d5ca4304feedd4bc7dbe5e4e9dd5fb5d (patch)
tree35d96ace6fe6ad1f44a4e55cf47ac40b7c4d0fba /app/controllers/exports_controller.rb
parent99be0398f6f9826d6250bc061c721854bef07674 (diff)
parentba29325c18776daa28615b88eb6d75e874341b66 (diff)
downloadchouette-core-6e19b591d5ca4304feedd4bc7dbe5e4e9dd5fb5d.tar.bz2
Merge branch 'master' of chouette.dryade.priv:/srv/git/chouette2
Diffstat (limited to 'app/controllers/exports_controller.rb')
-rw-r--r--app/controllers/exports_controller.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/controllers/exports_controller.rb b/app/controllers/exports_controller.rb
new file mode 100644
index 000000000..6a77f7f45
--- /dev/null
+++ b/app/controllers/exports_controller.rb
@@ -0,0 +1,34 @@
+class ExportsController < ChouetteController
+
+ respond_to :html, :xml, :json
+ respond_to :zip, :only => :show
+
+ belongs_to :referential
+
+ def create
+ create! do |success, failure|
+ success.html { redirect_to referential_exports_path(@referential) }
+ end
+ end
+
+ def show
+ show! do |format|
+ format.zip { send_file @export.file, :type => :zip }
+ end
+ end
+
+
+ protected
+
+ # FIXME why #resource_id is nil ??
+ def build_resource
+ super.tap do |export|
+ export.referential_id = @referential.id
+ end
+ end
+
+ def collection
+ @exports ||= end_of_association_chain.paginate(:page => params[:page])
+ end
+
+end