diff options
| author | Zog | 2018-05-29 15:51:52 +0200 |
|---|---|---|
| committer | Johan Van Ryseghem | 2018-05-30 16:29:33 +0200 |
| commit | 63a277b88de6703dcf4f32508099def1e9cbca19 (patch) | |
| tree | 367488bc99b17d479a77a6b2773046470bf213ad /app/models | |
| parent | 3e8d95ac8168205ac9526fb8663459d691d09c30 (diff) | |
| download | chouette-core-63a277b88de6703dcf4f32508099def1e9cbca19.tar.bz2 | |
Refs #7161; Clean views and routes
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/stop_area_copy.rb | 95 |
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 |
