aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/exports_controller.rb
diff options
context:
space:
mode:
authorZakaria BOUZIANE2015-04-03 14:03:58 +0200
committerZakaria BOUZIANE2015-04-03 14:03:58 +0200
commit5b8d33f04f8679f1d1c3bf19d84760ca8c7a8269 (patch)
treec5599aab9d2c083fb196fe2a0e931ca16b513014 /app/controllers/exports_controller.rb
parentfa7e745459aefd64086869882fcca73f948b46fa (diff)
downloadchouette-core-5b8d33f04f8679f1d1c3bf19d84760ca8c7a8269.tar.bz2
IEV index of imports
Diffstat (limited to 'app/controllers/exports_controller.rb')
-rw-r--r--app/controllers/exports_controller.rb85
1 files changed, 78 insertions, 7 deletions
diff --git a/app/controllers/exports_controller.rb b/app/controllers/exports_controller.rb
index 941d293ae..0fb66294d 100644
--- a/app/controllers/exports_controller.rb
+++ b/app/controllers/exports_controller.rb
@@ -1,20 +1,91 @@
require 'will_paginate/array'
class ExportsController < ChouetteController
- respond_to :html, :xml, :json
+ defaults :resource_class => Export
+
+ respond_to :xml, :json
+ respond_to :html, :only => [:show, :index, :new, :create, :delete]
respond_to :js, :only => [:show, :index]
belongs_to :referential
- protected
+ #curl -F "file=@corolis.zip;filename=corolis_gtfs.zip" -F "file=@parameters.json;filename=parameters.json" http://localhost:8080/chouette_iev/referentials/corolis/exporter/gtfs
+
+ def index
+ begin
+ index! do
+ build_breadcrumb :index
+ end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
+ end
- def test
- test = IevApi.jobs(@referential.slug, { :action => "exporter" }).map do |export_hash|
- export = Export.new(export_hash)
+ def show
+ begin
+ show! do
+ build_breadcrumb :show
+ end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
end
end
- def collection
- @exports ||= test.paginate(:page => params[:page])
+ def new
+ begin
+ new! do
+ puts "OK"
+ end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
+ end
+
+ def create
+ begin
+ create! do
+ puts "OK"
+ end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
end
+ def delete
+ begin
+ delete! do
+ export_service.delete(@export.id)
+ redirect_to referential_exports_path(@referential)
+ end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
+ end
+
+ protected
+
+ def export_service
+ ExportService.new(@referential)
+ end
+
+ def build_resource(attributes = {})
+ @export ||= ExportTask.new
+ end
+
+ def resource
+ @export ||= export_service.find( params[:id] )
+ end
+
+ def collection
+ @exports ||= export_service.all.paginate(:page => params[:page])
+ end
end