diff options
| author | Alban Peignier | 2018-04-01 20:20:32 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2018-04-01 20:20:32 +0200 | 
| commit | ac8587140a44a197ec3b30435a2194bf8b7f0e7c (patch) | |
| tree | df0f7ac75a10513122b2e395c5edafd8bec286c0 | |
| parent | b1210510229a16a0e73061bc7b14a676a63be96f (diff) | |
| download | chouette-core-ac8587140a44a197ec3b30435a2194bf8b7f0e7c.tar.bz2 | |
Create Import::Gtfs directly into Import::Workbench when GTFS file is detected. Refs #6368
| -rw-r--r-- | app/models/import/workbench.rb | 21 | 
1 files changed, 20 insertions, 1 deletions
| diff --git a/app/models/import/workbench.rb b/app/models/import/workbench.rb index f6e15cb89..124b9b0d8 100644 --- a/app/models/import/workbench.rb +++ b/app/models/import/workbench.rb @@ -2,6 +2,25 @@ class Import::Workbench < Import::Base    after_commit :launch_worker, :on => :create    def launch_worker -    WorkbenchImportWorker.perform_async(id) +    unless Import::Gtfs.accept_file?(file.path) +      WorkbenchImportWorker.perform_async(id) +    else +      import_gtfs +    end +  end + +  def import_gtfs +    update_column :status, 'running' +    update_column :started_at, Time.now + +    Import::Gtfs.create! parent_id: self.id, workbench: workbench, file: File.new(file.path), name: "Import GTFS", creator: "Web service" + +    update_column :status, 'successful' +    update_column :ended_at, Time.now +  rescue Exception => e +    Rails.logger.error "Error while processing GTFS file: #{e}" + +    update_column :status, 'failed' +    update_column :ended_at, Time.now    end  end | 
