Sha256: 8dce396748b5b1ca9b816e2f9e5bc4a9a7816fe987dafbdf2362ed673b23ac64

Contents?: true

Size: 1.04 KB

Versions: 11

Compression:

Stored size: 1.04 KB

Contents

module Carnival
  class QueryFormCreator

    def self.create presenter, params
      query_form = Carnival::QueryForm.new(params)

      if query_form.sort_column.nil?
        query_form.sort_column = presenter.default_sortable_field.sort_name.to_sym
      end

      if query_form.sort_direction.nil?
        query_form.sort_direction = presenter.default_sort_direction
      end

      if query_form.scope.nil?
        scope = presenter.default_scope
        query_form.scope = scope.name if scope.present?
      end

      date_filter_field = presenter.date_filter_field
      if date_filter_field.present?
        query_form.date_period_label = date_filter_field.default_date_filter if query_form.date_period_label.nil?
        query_form.date_period_from = date_filter_field.date_filter_periods[query_form.date_period_label].first if query_form.date_period_from.nil?
        query_form.date_period_to = date_filter_field.date_filter_periods[query_form.date_period_label].first if query_form.date_period_to.nil?
      end

      query_form
    end


  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
carnival-0.2.5 app/services/carnival/query_form_creator.rb
carnival-0.2.4 app/services/carnival/query_form_creator.rb
carnival-0.2.3 app/services/carnival/query_form_creator.rb
carnival-0.1.10 app/services/carnival/query_form_creator.rb
carnival-0.2.2 app/services/carnival/query_form_creator.rb
carnival-0.2.1 app/services/carnival/query_form_creator.rb
carnival-0.2.0 app/services/carnival/query_form_creator.rb
carnival-0.1.9 app/services/carnival/query_form_creator.rb
carnival-0.1.8 app/services/carnival/query_form_creator.rb
carnival-0.1.7 app/services/carnival/query_form_creator.rb
carnival-0.1.6 app/services/carnival/query_form_creator.rb