diff options
| author | Alban Peignier | 2018-03-15 09:57:53 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-03-15 10:10:29 +0100 |
| commit | 3036b52aea082c12dec82d463936dae29643cb22 (patch) | |
| tree | 5fb93f87993eacdbac52ac57325a79066ae7b171 /app/models | |
| parent | 7cef201f206f1b95ece9b28a07b384a3fb88d7c9 (diff) | |
| download | chouette-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.rb | 22 |
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 |
