aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorLuc Donnet2015-04-22 10:38:49 +0200
committerLuc Donnet2015-04-22 10:38:49 +0200
commit42c570ba88f073d0082b948ced1e3b6f57868afe (patch)
tree9221feb52585362b8ec6a53baef4a7254747e178 /app/controllers
parent75b5d7d86f6b5a26b7f88eb7c6b788d59163ef5b (diff)
downloadchouette-core-42c570ba88f073d0082b948ced1e3b6f57868afe.tar.bz2
Update import use
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/import_tasks_controller.rb82
-rw-r--r--app/controllers/imports_controller.rb41
2 files changed, 32 insertions, 91 deletions
diff --git a/app/controllers/import_tasks_controller.rb b/app/controllers/import_tasks_controller.rb
index 18730b5d3..cb0bafdfa 100644
--- a/app/controllers/import_tasks_controller.rb
+++ b/app/controllers/import_tasks_controller.rb
@@ -1,75 +1,39 @@
class ImportTasksController < ChouetteController
defaults :resource_class => ImportTask
- respond_to :html, :xml, :json
- respond_to :js, :only => [:show, :index]
+
+ respond_to :html
belongs_to :referential
def new
- new! do
- build_breadcrumb :new
- available_imports
- end
- end
-
- def show
- show! do
- build_breadcrumb :show
- if import_task.completed?
- @files_stats = import_task.result["files"]["stats"]
- @files_list = import_task.result["files"]["list"]
- @lines_stats = import_task.result["lines"]["stats"]
- @lines_list = import_task.result["lines"]["list"]
+ begin
+ new! do
+ puts "new"
end
+ rescue Ievkit::Error => error
+ logger.error("Iev failure : #{error.message}")
+ flash[:error] = t('iev.failure')
+ redirect_to referential_path(@referential)
end
end
-
- def file_to_import
- send_file import_task.file_path, :type => "application/#{import_task.file_path_extension}", :disposition => "attachment"
- end
-
+
def create
- create! do |success, failure|
- available_imports
- success.html { flash[:notice] = I18n.t('import_tasks.new.flash'); redirect_to referential_import_tasks_path(@referential) }
- end
+ #begin
+ neptune_import = NeptuneImport.new(params[:import_task])
+ neptune_import.save
+ # rescue Ievkit::Error => error
+ # logger.error("Iev failure : #{error.message}")
+ # flash[:error] = t('iev.failure')
+ # redirect_to referential_path(@referential)
+ # end
end
protected
- def create_resource( import )
- if import_task.save
- import_task.delayed_import
- end
- end
-
- alias_method :import_task, :resource
-
- def available_imports
- @available_imports ||= ImportTask.formats.collect do |format|
- unless @import_task.format == format
- @referential.import_tasks.build :format => format
- else
- @import_task
- end
- end
- end
-
- # FIXME why #resource_id is nil ??
- def build_resource
- super.tap do |import_task|
- import_task.referential_id = @referential.id
- import_task.user_id = current_user.id
- import_task.user_name = current_user.name
- end
- end
-
- def collection
- @import_tasks ||= end_of_association_chain.order('created_at DESC').paginate(:page => params[:page])
- end
-
- private
- def import_task_params
- params.require(:import_task).permit(:resources, :rule_parameter_set_id, :no_save)
+ def build_resource(attributes = {})
+ @csv_import ||= CsvImport.new(:referential_id => @referential.id )
+ @neptune_import ||= NeptuneImport.new(:referential_id => @referential.id )
+ @netex_import ||= NetexImport.new(:referential_id => @referential.id )
+ @gtfs_import ||= GtfsImport.new(:referential_id => @referential.id )
end
end
diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index e7ff7ff15..e09fdfec5 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -1,17 +1,13 @@
require 'will_paginate/array'
+require 'open-uri'
class ImportsController < ChouetteController
defaults :resource_class => Import
- respond_to :html, :only => [:show, :index, :new, :create, :delete]
+ respond_to :html, :only => [:show, :index, :destroy, :imported_file]
respond_to :js, :only => [:show, :index]
belongs_to :referential
- # create => curl -F "file=@Citura.zip;filename=Citura.zip" -F "file=@parameters.json;filename=parameters.json" http://localhost:8080/chouette_iev/referentials/test/importer/neptune
- # index curl http://localhost:8080/mobi.chouette.api/referentials/test/jobs
- # show curl http://localhost:8080/mobi.chouette.api/referentials/test/jobs
-
-
def index
begin
index! do
@@ -34,24 +30,11 @@ class ImportsController < ChouetteController
flash[:error] = t('iev.failure')
redirect_to referential_path(@referential)
end
- end
-
- 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
+ end
+
+ def destroy
begin
- create! do
- puts "OK"
+ destroy! do
end
rescue Ievkit::Error => error
logger.error("Iev failure : #{error.message}")
@@ -60,12 +43,9 @@ class ImportsController < ChouetteController
end
end
- def delete
+ def imported_file
begin
- delete! do
- import_service.delete(@import.id)
- redirect_to referential_imports_path(@referential)
- end
+ send_file open(resource.file_path), { :type => "application/#{resource.filename_extension}", :disposition => "attachment", :filename => resource.filename }
rescue Ievkit::Error => error
logger.error("Iev failure : #{error.message}")
flash[:error] = t('iev.failure')
@@ -74,14 +54,11 @@ class ImportsController < ChouetteController
end
protected
+ alias_method :import, :resource
def import_service
ImportService.new(@referential)
end
-
- def build_resource(attributes = {})
- @import ||= ImportTask.new
- end
def resource
@import ||= import_service.find( params[:id] )