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] | 
