Sha256: e0494aa83b92ecc2689fd69ea13d0d69bb28226d167b9a5c23e336938dd20b93

Contents?: true

Size: 707 Bytes

Versions: 15

Compression:

Stored size: 707 Bytes

Contents

class Dorsale::BillingMachine::SmallData::FilterStrategyByPaymentStatus < ::Agilibox::SmallData::FilterStrategy
  def apply(query, value)
    table_name = query.model.table_name

    if value == "paid"
      return query.where("#{table_name}.paid = ?", true)
    elsif value == "unpaid"
      return query.where("#{table_name}.paid = ?", false)
    elsif value == "pending"
      return query.where("#{table_name}.paid = ? and #{table_name}.due_date >= ?", false, Time.zone.now.to_date)
    elsif value == "late"
      return query.where("#{table_name}.paid = ? and (#{table_name}.due_date < ? or #{table_name}.due_date is null)", false, Time.zone.now.to_date)
    else
      return query
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
dorsale-3.8.1 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.8.0 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.8 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.7 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.6 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.5 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.4 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.2 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.1 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.7.0 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.6.1 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.6.0 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.5.2 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.5.1 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb
dorsale-3.5.0 app/filters/dorsale/billing_machine/small_data/filter_strategy_by_payment_status.rb