Sha256: 1822c799732c7d03364cd9dac1d73cb6eb5cf7e3f26dd9ccc683627f645b6bdb

Contents?: true

Size: 1.04 KB

Versions: 85

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Spree
  module Admin
    class ProductPropertiesController < ResourceController
      belongs_to 'spree/product', find_by: :slug, includes: { product_properties: :property }
      before_action :find_properties
      before_action :setup_property, only: :index, if: -> { can?(:create, model_class) }
      before_action :setup_variant_property_rules, only: :index

      private

      def find_properties
        @properties = Spree::Property.pluck(:name)
      end

      def setup_property
        @product.product_properties.build if @product.product_properties.empty?
      end

      def setup_variant_property_rules
        @option_types = @product.variant_option_values_by_option_type
        @option_value_ids = (params[:ovi] || []).reject(&:blank?).map(&:to_i)
        @variant_property_rule = @product.find_variant_property_rule(@option_value_ids) || @product.variant_property_rules.build
        @variant_property_rule.values.build if can?(:create, Spree::VariantPropertyRuleValue)
      end
    end
  end
end

Version data entries

85 entries across 85 versions & 1 rubygems

Version Path
solidus_backend-4.4.2 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.4.1 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.4.0 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.3.4 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.2.4 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.1.5 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.3.3 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.3.2 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.1.4 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.3.1 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.3.0 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.2.3 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.1.3 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.0.4 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-3.4.6 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.0.3 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.1.2 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.2.2 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-3.4.5 app/controllers/spree/admin/product_properties_controller.rb
solidus_backend-4.2.1 app/controllers/spree/admin/product_properties_controller.rb