aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette
diff options
context:
space:
mode:
authorXinhui2017-11-09 14:58:02 +0100
committerXinhui2017-11-09 14:58:02 +0100
commit5c799fbeceae9876b1fa1c50f7504956c3b4b834 (patch)
tree69097eb2c70c1bbcdf3fb17fa0542a4103ff021e /app/models/chouette
parent205d69f10d7011246b331dbf9c0e504b322ff377 (diff)
parent40656591832d8f26903f2bbdb16ef53cbcb7e6bc (diff)
downloadchouette-core-5c799fbeceae9876b1fa1c50f7504956c3b4b834.tar.bz2
Merge branch '4944_remove_route_section_code'
Diffstat (limited to 'app/models/chouette')
-rw-r--r--app/models/chouette/journey_pattern.rb40
-rw-r--r--app/models/chouette/journey_pattern_section.rb20
-rw-r--r--app/models/chouette/route.rb8
-rw-r--r--app/models/chouette/route_section.rb81
4 files changed, 0 insertions, 149 deletions
diff --git a/app/models/chouette/journey_pattern.rb b/app/models/chouette/journey_pattern.rb
index fa2a9c8bb..1104c6035 100644
--- a/app/models/chouette/journey_pattern.rb
+++ b/app/models/chouette/journey_pattern.rb
@@ -9,8 +9,6 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
has_many :vehicle_journey_at_stops, :through => :vehicle_journeys
has_and_belongs_to_many :stop_points, -> { order("stop_points.position") }, :before_add => :vjas_add, :before_remove => :vjas_remove, :after_add => :shortcuts_update_for_add, :after_remove => :shortcuts_update_for_remove
has_many :stop_areas, through: :stop_points
- has_many :journey_pattern_sections
- has_many :route_sections, through: :journey_pattern_sections, dependent: :destroy
validates_presence_of :route
validates_presence_of :name
@@ -19,9 +17,6 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
enum section_status: { todo: 0, completed: 1, control: 2 }
attr_accessor :control_checked
- after_update :control_route_sections, :unless => "control_checked"
-
-
def local_id
"IBOO-#{self.referential.id}-#{self.try(:route).try(:line).try(:objectid).try(:local_id)}-#{self.id}"
end
@@ -146,39 +141,4 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
vjas.destroy
end
end
-
- def control_route_sections
- stop_area_ids = self.stop_points.map(&:stop_area_id)
- control_route_sections_by_stop_areas(stop_area_ids)
- end
-
- def control_route_sections_by_stop_areas(stop_area_ids)
- journey_pattern_section_all
- i = 0
- to_control = false
- stop_area_ids.each_cons(2) do |a|
- jps = @route_sections_orders[i]
- i += 1
- unless jps
- to_control = true
- next
- end
- unless [jps.route_section.departure.id, jps.route_section.arrival.id] == a
- jps.destroy
- to_control = true
- end
- end
- self.control_checked = true
- to_control ? self.control! : self.completed!
- end
-
- protected
-
- def journey_pattern_section_all
- @route_sections_orders = {}
- self.journey_pattern_sections.all.map do |journey_pattern_section|
- @route_sections_orders[journey_pattern_section.rank] = journey_pattern_section
- end
- end
-
end
diff --git a/app/models/chouette/journey_pattern_section.rb b/app/models/chouette/journey_pattern_section.rb
deleted file mode 100644
index 3ccba8ec0..000000000
--- a/app/models/chouette/journey_pattern_section.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-class Chouette::JourneyPatternSection < Chouette::ActiveRecord
- belongs_to :journey_pattern
- belongs_to :route_section
-
- validates :journey_pattern_id, presence: true
- validates :route_section_id, presence: true
- validates :rank, presence: true, numericality: :only_integer
- validates :journey_pattern_id, uniqueness: { scope: [:route_section_id, :rank] }
-
- default_scope { order(:rank) }
-
- def self.update_by_journey_pattern_rank(journey_pattern_id, route_section_id, rank)
- jps = self.find_or_initialize_by(journey_pattern_id: journey_pattern_id, rank: rank)
- if route_section_id.present?
- jps.update_attributes(route_section_id: route_section_id)
- else
- jps.destroy
- end
- end
-end
diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb
index 7a529d2b9..1a05d43d9 100644
--- a/app/models/chouette/route.rb
+++ b/app/models/chouette/route.rb
@@ -74,8 +74,6 @@ class Chouette::Route < Chouette::TridentActiveRecord
validates :wayback, inclusion: { in: self.wayback.values }
- after_commit :journey_patterns_control_route_sections
-
def duplicate
overrides = {
'opposite_route_id' => nil,
@@ -183,12 +181,6 @@ class Chouette::Route < Chouette::TridentActiveRecord
return true
end
- def journey_patterns_control_route_sections
- self.journey_patterns.each do |jp|
- jp.control_route_sections
- end
- end
-
protected
def self.vehicle_journeys_timeless(stop_point_id)
diff --git a/app/models/chouette/route_section.rb b/app/models/chouette/route_section.rb
deleted file mode 100644
index 3ce4232be..000000000
--- a/app/models/chouette/route_section.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-class Chouette::RouteSection < Chouette::TridentActiveRecord
- belongs_to :departure, class_name: 'Chouette::StopArea'
- belongs_to :arrival, class_name: 'Chouette::StopArea'
- has_many :journey_pattern_sections
- has_many :journey_patterns, through: :journey_pattern_sections, dependent: :destroy
-
- validates :departure, :arrival, :processed_geometry, presence: true
-
- scope :by_endpoint_name, ->(endpoint, name) do
- joins("INNER JOIN stop_areas #{endpoint} ON #{endpoint}.id = route_sections.#{endpoint}_id").where(["#{endpoint}.name ilike ?", "%#{name}%"])
- end
- scope :by_line_id, ->(line_id) do
- joins(:journey_pattern_sections, :journey_patterns).joins('INNER JOIN routes ON journey_patterns.route_id = routes.id').where("routes.line_id = #{line_id}")
- end
-
- def stop_areas
- [departure, arrival].compact
- end
-
- def default_geometry
- points = stop_areas.collect(&:geometry).compact
- GeoRuby::SimpleFeatures::LineString.from_points(points) if points.many?
- end
-
- def name
- stop_areas.map do |stop_area|
- stop_area.try(:name) or '?'
- end.join(' - ') + " (#{geometry_description})"
- end
-
- def via_count
- input_geometry ? [ input_geometry.points.count - 2, 0 ].max : 0
- end
-
- def geometry_description
- if input_geometry || processed_geometry
- [ "#{distance.to_i}m" ].tap do |parts|
- parts << "#{via_count} #{'via'.pluralize(via_count)}" if via_count > 0
- end.join(' - ')
- else
- "-"
- end
- end
-
- DEFAULT_PROCESSOR = Proc.new { |section| section.input_geometry || section.default_geometry.try(:to_rgeo) }
-
- @@processor = DEFAULT_PROCESSOR
- cattr_accessor :processor
-
- def instance_processor
- no_processing || processor.nil? ? DEFAULT_PROCESSOR : processor
- end
-
- def process_geometry
- if input_geometry_changed? || processed_geometry.nil?
- self.processed_geometry = instance_processor.call(self)
- self.distance = processed_geometry.to_georuby.to_wgs84.spherical_distance if processed_geometry
- end
-
- true
- end
- before_validation :process_geometry
-
- def editable_geometry=(geometry)
- self.input_geometry = geometry
- end
-
- def editable_geometry
- input_geometry.try(:to_georuby) or default_geometry
- end
-
- def editable_geometry_before_type_cast
- editable_geometry.to_ewkt
- end
-
- def geometry(mode = nil)
- mode ||= :processed
- mode == :editable ? editable_geometry : processed_geometry.to_georuby
- end
-
-end