Module: Spree::Admin::PromotionRulesHelper

Defined in:
app/helpers/spree/admin/promotion_rules_helper.rb

Instance Method Summary collapse

Instance Method Details

#active_options_for_option_value_promotion_rule(promotion_rule) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'app/helpers/spree/admin/promotion_rules_helper.rb', line 9

def active_options_for_option_value_promotion_rule(promotion_rule)
  eligible_values = promotion_rule.preferred_eligible_values || []
  return [] if eligible_values.empty?

  Spree::OptionValue.includes(:option_type).where(id: eligible_values).map do |ov|
    {
      id: ov.id,
      name: ov.display_presentation
    }
  end
end

#options_for_promotion_rule_types(promotion) ⇒ Object



4
5
6
7
# File 'app/helpers/spree/admin/promotion_rules_helper.rb', line 4

def options_for_promotion_rule_types(promotion)
  existing = promotion.rules.pluck(:type)
  Spree.promotions.rules.map(&:name).reject { |r| existing.include? r }
end

#promotion_rule_option_values(value_ids) ⇒ Array<String>

Returns the promotion rule option values

Parameters:

  • value_ids (Array<Integer>)

Returns:

  • (Array<String>)


24
25
26
# File 'app/helpers/spree/admin/promotion_rules_helper.rb', line 24

def promotion_rule_option_values(value_ids)
  Spree::OptionValue.includes(:option_type).where(id: value_ids).map(&:display_presentation)
end