aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette
diff options
context:
space:
mode:
authorZog2018-05-17 16:18:46 +0200
committerZog2018-05-17 16:18:46 +0200
commita90a7cbf003ded70478eec6afdfee2581a06eaed (patch)
treee4d6d08a5046f6d0bd3fbc98f6225d64f0d92fcc /app/models/chouette
parent7852fb8e6d5b9c4f13615ad1cd8a1f26dcd35da7 (diff)
downloadchouette-core-a90a7cbf003ded70478eec6afdfee2581a06eaed.tar.bz2
Refs #7031; Page loading optimizations
Diffstat (limited to 'app/models/chouette')
-rw-r--r--app/models/chouette/route.rb3
-rw-r--r--app/models/chouette/stop_point.rb3
-rw-r--r--app/models/chouette/vehicle_journey.rb1
-rw-r--r--app/models/chouette/vehicle_journey_at_stop.rb4
4 files changed, 8 insertions, 3 deletions
diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb
index 949b18d6f..958bec75b 100644
--- a/app/models/chouette/route.rb
+++ b/app/models/chouette/route.rb
@@ -63,6 +63,9 @@ module Chouette
where(" position between ? and ? ", between_positions.first, between_positions.last)
end
end
+
+ has_many :vehicle_journey_at_stops, through: :vehicle_journeys
+
has_many :stop_areas, -> { order('stop_points.position ASC') }, :through => :stop_points do
def between(departure, arrival)
departure, arrival = [departure, arrival].map do |endpoint|
diff --git a/app/models/chouette/stop_point.rb b/app/models/chouette/stop_point.rb
index edb0e81fd..82bedc6ab 100644
--- a/app/models/chouette/stop_point.rb
+++ b/app/models/chouette/stop_point.rb
@@ -10,6 +10,7 @@ module Chouette
include ObjectidSupport
belongs_to :stop_area
+ belongs_to :stop_area_light, -> {select(:name, :city_name, :zip_code, :time_zone)}, class_name: "Chouette::StopArea", foreign_key: :stop_area_id
belongs_to :route, inverse_of: :stop_points
has_many :journey_patterns, through: :route
has_many :vehicle_journey_at_stops, :dependent => :destroy
@@ -27,7 +28,7 @@ module Chouette
scope :default_order, -> { order("position") }
- delegate :name, :registration_number, :kind, :area_type, to: :stop_area
+ delegate :name, :registration_number, :kind, :area_type, to: :stop_area_light
before_destroy :remove_dependent_journey_pattern_stop_points
def remove_dependent_journey_pattern_stop_points
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 818287b04..3bbd89f7b 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -21,6 +21,7 @@ module Chouette
belongs_to :company
belongs_to :route
belongs_to :journey_pattern
+ belongs_to :journey_pattern_only_objectid, -> {select("journey_patterns.objectid")}, class_name: "Chouette::JourneyPattern", foreign_key: :journey_pattern_id
has_many :stop_areas, through: :journey_pattern
has_and_belongs_to_many :footnotes, :class_name => 'Chouette::Footnote'
diff --git a/app/models/chouette/vehicle_journey_at_stop.rb b/app/models/chouette/vehicle_journey_at_stop.rb
index 3f5bd5abf..797571070 100644
--- a/app/models/chouette/vehicle_journey_at_stop.rb
+++ b/app/models/chouette/vehicle_journey_at_stop.rb
@@ -101,8 +101,8 @@ module Chouette
end
def time_zone_offset
- return 0 unless stop_point&.stop_area&.time_zone.present?
- ActiveSupport::TimeZone[stop_point.stop_area.time_zone]&.utc_offset || 0
+ return 0 unless stop_point&.stop_area_light&.time_zone.present?
+ ActiveSupport::TimeZone[stop_point.stop_area_light.time_zone]&.utc_offset || 0
end
private