diff options
Diffstat (limited to 'app/models/referential.rb')
| -rw-r--r-- | app/models/referential.rb | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/app/models/referential.rb b/app/models/referential.rb index 0913c9cd9..2c64a9a5c 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -232,11 +232,19 @@ class Referential < ActiveRecord::Base    def self.referential_ids_in_periode(range)      subquery = "SELECT DISTINCT(public.referential_metadata.referential_id) FROM public.referential_metadata, LATERAL unnest(periodes) period " -    subquery << "WHERE period && '#{ActiveRecord::ConnectionAdapters::PostgreSQLColumn.range_to_string(range)}'" +    subquery << "WHERE period && '#{range_to_string(range)}'"      query = "SELECT * FROM public.referentials WHERE referentials.id IN (#{subquery})"      self.connection.select_values(query).map(&:to_i)    end +  # Copied from Rails 4.1 activerecord/lib/active_record/connection_adapters/postgresql/cast.rb +  # TODO: Relace with the appropriate Rais 4.2 / 5.x helper if one is found. +  def self.range_to_string(object) +    from = object.begin.respond_to?(:infinite?) && object.begin.infinite? ? '' : object.begin +    to   = object.end.respond_to?(:infinite?) && object.end.infinite? ? '' : object.end +    "[#{from},#{to}#{object.exclude_end? ? ')' : ']'}" +  end +    def overlapped_referential_ids      return [] unless metadatas.present? | 
