diff options
| author | Xinhui | 2017-11-09 14:58:02 +0100 |
|---|---|---|
| committer | Xinhui | 2017-11-09 14:58:02 +0100 |
| commit | 5c799fbeceae9876b1fa1c50f7504956c3b4b834 (patch) | |
| tree | 69097eb2c70c1bbcdf3fb17fa0542a4103ff021e /app/models/chouette | |
| parent | 205d69f10d7011246b331dbf9c0e504b322ff377 (diff) | |
| parent | 40656591832d8f26903f2bbdb16ef53cbcb7e6bc (diff) | |
| download | chouette-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.rb | 40 | ||||
| -rw-r--r-- | app/models/chouette/journey_pattern_section.rb | 20 | ||||
| -rw-r--r-- | app/models/chouette/route.rb | 8 | ||||
| -rw-r--r-- | app/models/chouette/route_section.rb | 81 |
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 |
