aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorZog2018-05-29 15:51:52 +0200
committerJohan Van Ryseghem2018-05-30 16:29:33 +0200
commit63a277b88de6703dcf4f32508099def1e9cbca19 (patch)
tree367488bc99b17d479a77a6b2773046470bf213ad /app/models
parent3e8d95ac8168205ac9526fb8663459d691d09c30 (diff)
downloadchouette-core-63a277b88de6703dcf4f32508099def1e9cbca19.tar.bz2
Refs #7161; Clean views and routes
Diffstat (limited to 'app/models')
-rw-r--r--app/models/stop_area_copy.rb95
1 files changed, 0 insertions, 95 deletions
diff --git a/app/models/stop_area_copy.rb b/app/models/stop_area_copy.rb
deleted file mode 100644
index d3eb78557..000000000
--- a/app/models/stop_area_copy.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-class StopAreaCopy
- include ActiveModel::Validations
- include ActiveModel::Conversion
- extend ActiveModel::Naming
-
- attr_accessor :source_id, :hierarchy, :area_type, :source, :copy
-
- validates_presence_of :source_id, :hierarchy, :area_type
-
- validates :hierarchy, inclusion: { in: %w(child parent) }
-
-
- def initialize(attributes = {})
- attributes.each { |name, value| send("#{name}=", value) } if attributes
- if self.area_type.blank? && self.source != nil
- self.source_id = self.source.id
- if self.hierarchy == "child"
- if self.source.area_type.underscore == "stop_place"
- self.area_type="commercial_stop_point"
- else
- self.area_type="boarding_position"
- end
- else
- if self.source.area_type.underscore == "stop_place" || self.source.area_type.underscore == "commercial_stop_point"
- self.area_type="stop_place"
- else
- self.area_type="commercial_stop_point"
- end
- end
- end
- end
-
- def persisted?
- false
- end
-
- def source
- @source ||= Chouette::StopArea.find self.source_id
- end
-
- def copy
- @copy ||= self.source.duplicate
- end
-
- def copy_is_source_parent?
- self.hierarchy == "parent"
- end
-
- def copy_is_source_child?
- self.hierarchy == "child"
- end
-
- def copy_modfied_attributes
- { :name => self.source.name, # TODO: change ninoxe to avoid that !!!
- :area_type => self.area_type.camelcase,
- :registration_number => nil,
- :parent_id => copy_is_source_child? ? self.source_id : nil
- }
- end
-
- def source_modified_attributes
- return {} unless copy_is_source_parent?
- { :parent_id => self.copy.id
- }
- end
-
- def save
- begin
- if self.valid?
- Chouette::StopArea.transaction do
- copy.update_attributes copy_modfied_attributes
- if copy.valid?
- unless source_modified_attributes.empty?
- source.update_attributes source_modified_attributes
- end
- true
- else
- copy.errors.full_messages.each do |m|
- errors.add :base, m
- end
- false
- end
- end
- else
- false
- end
- rescue Exception => exception
- Rails.logger.error(exception.message)
- Rails.logger.error(exception.backtrace.join("\n"))
- errors.add :base, I18n.t("stop_area_copies.errors.exception")
- false
- end
- end
-
-end