Sha256: 346de47ba498aa45783ec5f687a68383cefec2248a79ec5c391eb71e22edf03a

Contents?: true

Size: 825 Bytes

Versions: 13

Compression:

Stored size: 825 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module ParticipatoryProcesses
    # Service that encapsulates all logic related to filtering participatory processes.
    class ParticipatoryProcessSearch < ParticipatorySpaceSearch
      def initialize(options = {})
        super(ParticipatoryProcess.all, options)
      end

      def search_date
        case date
        when "active"
          query.active.order(start_date: :desc)
        when "past"
          query.past.order(end_date: :desc)
        when "upcoming"
          query.upcoming.order(start_date: :asc)
        else # Assume 'all'
          timezone = ActiveSupport::TimeZone.find_tzinfo(Time.zone.name).identifier
          query.order(Arel.sql("ABS(start_date - (CURRENT_DATE at time zone '#{timezone}')::date)"))
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
decidim-participatory_processes-0.23.6 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.5 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.4 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.3 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.2 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.1 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.1.rc1 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.23.0 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.22.0 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.21.0 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.20.1 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.20.0 app/services/decidim/participatory_processes/participatory_process_search.rb
decidim-participatory_processes-0.19.1 app/services/decidim/participatory_processes/participatory_process_search.rb