aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorAlban Peignier2018-04-02 23:19:48 +0200
committerAlban Peignier2018-04-02 23:19:48 +0200
commit1e9ed69dc7509ffc6c0ae1a401c04d57dbbea45a (patch)
treeed5eabf542ba844eafd605620cbc35dd72e4134f /app/models
parentecba5b99bb8eae41507d1040f32584472b740d26 (diff)
downloadchouette-core-1e9ed69dc7509ffc6c0ae1a401c04d57dbbea45a.tar.bz2
Import TimeTableDates from calendar dates. Refs #6368
Diffstat (limited to 'app/models')
-rw-r--r--app/models/import/gtfs.rb13
-rw-r--r--app/models/referential.rb4
2 files changed, 17 insertions, 0 deletions
diff --git a/app/models/import/gtfs.rb b/app/models/import/gtfs.rb
index e6552f936..b0c1070bd 100644
--- a/app/models/import/gtfs.rb
+++ b/app/models/import/gtfs.rb
@@ -254,6 +254,19 @@ class Import::Gtfs < Import::Base
end
end
+ def import_calendar_dates
+ source.calendar_dates.each_slice(500) do |slice|
+ Chouette::TimeTable.transaction do
+ slice.each do |calendar_date|
+ time_table = referential.time_tables.find time_tables_by_service_id[calendar_date.service_id]
+ date = time_table.dates.build date: Date.parse(calendar_date.date), in_out: calendar_date.exception_type == "1"
+
+ save_model date
+ end
+ end
+ end
+ end
+
def save_model(model)
unless model.save
Rails.logger.info "Can't save #{model.class.name} : #{model.errors.inspect}"
diff --git a/app/models/referential.rb b/app/models/referential.rb
index 65af58873..70148aa8e 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -168,6 +168,10 @@ class Referential < ActiveRecord::Base
Chouette::TimeTable.all
end
+ def time_table_dates
+ Chouette::TimeTableDate.all
+ end
+
def timebands
Chouette::Timeband.all
end