aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
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