diff options
| author | Luc Donnet | 2015-04-24 20:23:44 +0200 |
|---|---|---|
| committer | Luc Donnet | 2015-04-24 20:23:44 +0200 |
| commit | 04dff64bbd3b8fab9851a47c700381256d16d386 (patch) | |
| tree | 18d68550323b2f3ad86528f8653f6855c3311cdf /app/controllers | |
| parent | 2cb725889f3999a20c719dc7c6b480d8cd2f70c5 (diff) | |
| download | chouette-core-04dff64bbd3b8fab9851a47c700381256d16d386.tar.bz2 | |
Add export creation
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/export_tasks_controller.rb | 66 | ||||
| -rw-r--r-- | app/controllers/import_tasks_controller.rb | 4 |
2 files changed, 67 insertions, 3 deletions
diff --git a/app/controllers/export_tasks_controller.rb b/app/controllers/export_tasks_controller.rb new file mode 100644 index 000000000..dcc5e684d --- /dev/null +++ b/app/controllers/export_tasks_controller.rb @@ -0,0 +1,66 @@ +class ExportTasksController < ChouetteController + defaults :resource_class => ExportTask + + respond_to :html, :only => [:new, :create] + respond_to :js, :only => [:new, :create] + belongs_to :referential + + def new + @available_exports = available_exports + begin + new! + 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 |success, failure| + success.html { 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 available_exports + @available_exports ||= [ + NeptuneExport.new(:referential_id => @referential.id ), + NetexExport.new(:referential_id => @referential.id ), + GtfsExport.new(:referential_id => @referential.id ), + HubExport.new(:referential_id => @referential.id ), + KmlExport.new(:referential_id => @referential.id ) + ] + end + + def build_resource + export_task_parameters = params[:export_task] + + if export_task_parameters.present? + case export_task_parameters[:data_format] + when "neptune" + @export_task = NeptuneExport.new(export_task_parameters) + when "netex" + @export_task = NetexExport.new(export_task_parameters) + when "gtfs" + @export_task = GtfsExport.new(export_task_parameters) + when "hub" + @export_task = HubExport.new(export_task_parameters) + when "kml" + @export_task = KmlExport.new(export_task_parameters) + else + @export_task = nil + end + else + @export_task = nil + end + end + +end diff --git a/app/controllers/import_tasks_controller.rb b/app/controllers/import_tasks_controller.rb index cb0bafdfa..2e0b325c7 100644 --- a/app/controllers/import_tasks_controller.rb +++ b/app/controllers/import_tasks_controller.rb @@ -6,9 +6,7 @@ class ImportTasksController < ChouetteController def new begin - new! do - puts "new" - end + new! rescue Ievkit::Error => error logger.error("Iev failure : #{error.message}") flash[:error] = t('iev.failure') |
