aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorAlban Peignier2018-03-15 09:57:53 +0100
committerAlban Peignier2018-03-15 10:10:29 +0100
commit3036b52aea082c12dec82d463936dae29643cb22 (patch)
tree5fb93f87993eacdbac52ac57325a79066ae7b171 /app/models
parent7cef201f206f1b95ece9b28a07b384a3fb88d7c9 (diff)
downloadchouette-core-3036b52aea082c12dec82d463936dae29643cb22.tar.bz2
Add StopArea#status in stop_areas#_form. Refs #60336033-stop-area-states
Diffstat (limited to 'app/models')
-rw-r--r--app/models/chouette/stop_area.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/models/chouette/stop_area.rb b/app/models/chouette/stop_area.rb
index d9d2facfe..1918c90d1 100644
--- a/app/models/chouette/stop_area.rb
+++ b/app/models/chouette/stop_area.rb
@@ -410,6 +410,28 @@ module Chouette
update_attribute :deleted_at, Time.now
end
+ def status
+ return :deleted if deleted_at
+ return :confirmed if confirmed_at
+
+ :in_creation
+ end
+
+ def status=(status)
+ case status&.to_sym
+ when :deleted
+ deactivate
+ when :confirmed
+ activate
+ when :in_creation
+ self.confirmed_at = self.deleted_at = nil
+ end
+ end
+
+ def self.statuses
+ %i{in_creation confirmed deleted}
+ end
+
def time_zone_offset
return 0 unless time_zone.present?
ActiveSupport::TimeZone[time_zone]&.utc_offset