diff options
| author | Zog | 2018-05-28 12:48:28 +0200 |
|---|---|---|
| committer | Johan Van Ryseghem | 2018-05-28 12:48:49 +0200 |
| commit | 20a9124dfa1a7e42dbf01e0d7357003f488418cb (patch) | |
| tree | 4722a81de1c1c49968de3ca9f7e0b4ca989a1e78 | |
| parent | 9f988815907182dd9194d546b19ac4911c804d0e (diff) | |
| download | chouette-core-20a9124dfa1a7e42dbf01e0d7357003f488418cb.tar.bz2 | |
Refs #6433; Fix status filter
| -rw-r--r-- | app/models/chouette/stop_area.rb | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/app/models/chouette/stop_area.rb b/app/models/chouette/stop_area.rb index 479407469..25a0010d8 100644 --- a/app/models/chouette/stop_area.rb +++ b/app/models/chouette/stop_area.rb @@ -396,11 +396,13 @@ module Chouette confirmed: statuses.include?('confirmed'), deactivated: statuses.include?('deactivated'), } - - Chouette::StopArea.where( - "confirmed_at #{status[:confirmed] ? "IS NOT NULL" : "IS NULL"} - AND deleted_at #{status[:deactivated] ? "IS NOT NULL" : "IS NULL"}" - ) + + query = [] + query << "deleted_at IS NOT NULL" if statuses.include?('deactivated') + query << "(confirmed_at IS NULL AND deleted_at IS NULL)" if statuses.include?('in_creation') + query << "(confirmed_at IS NOT NULL AND deleted_at IS NULL)" if statuses.include?('confirmed') + + Chouette::StopArea.where(query.join(' OR ')) end def activated? @@ -430,7 +432,7 @@ module Chouette end def status - return :deleted if deleted_at + return :deactivated if deleted_at return :confirmed if confirmed_at :in_creation @@ -438,7 +440,7 @@ module Chouette def status=(status) case status&.to_sym - when :deleted + when :deactivated deactivate when :confirmed activate @@ -448,7 +450,7 @@ module Chouette end def self.statuses - %i{in_creation confirmed deleted} + %i{in_creation confirmed deactivated} end def time_zone_offset @@ -461,7 +463,7 @@ module Chouette return unless ActiveSupport::TimeZone[time_zone].present? ActiveSupport::TimeZone[time_zone].tzinfo.name end - + def country return unless country_code country = ISO3166::Country[country_code] |
