aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/imports_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/imports_controller.rb')
-rw-r--r--app/controllers/imports_controller.rb66
1 files changed, 61 insertions, 5 deletions
diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index 7bf4897ce..2af6a57d6 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -1,7 +1,9 @@
require 'will_paginate/array'
class ImportsController < ChouetteController
- respond_to :html, :xml, :json
+ defaults :resource_class => Import
+
+ respond_to :html, :only => [:show, :index, :new, :create, :delete]
respond_to :js, :only => [:show, :index]
belongs_to :referential
@@ -9,15 +11,65 @@ class ImportsController < ChouetteController
# index curl http://localhost:8080/mobi.chouette.api/referentials/test/jobs
# show curl http://localhost:8080/mobi.chouette.api/referentials/test/jobs
+
def index
- index! do
- build_breadcrumb :index
+ begin
+ index! do
+ build_breadcrumb :index
+ end
+ rescue IevApi::IevError => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
end
end
def show
- show! do
- build_breadcrumb :show
+ begin
+ show! do
+ build_breadcrumb :show
+ end
+ rescue IevApi::IevError => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
+ end
+
+ def new
+ begin
+ new! do
+ puts "OK"
+ end
+ rescue IevApi::IevError => 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 IevApi::IevError => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
+ end
+ end
+
+ def delete
+ begin
+ delete! do
+ import_service.delete(@import.id)
+ redirect_to referential_imports_path(@referential)
+ end
+ rescue IevApi::IevError => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
end
end
@@ -27,6 +79,10 @@ class ImportsController < ChouetteController
ImportService.new(@referential)
end
+ def build_resource(attributes = {})
+ @import ||= ImportTask.new
+ end
+
def resource
@import ||= import_service.find( params[:id] )
end