Sha256: 637a3b62d8bd4f4a33956abf6e1ee7cc3843eefa2960b7950fd67e9c097ed813

Contents?: true

Size: 1.57 KB

Versions: 4

Compression:

Stored size: 1.57 KB

Contents

module Spree
  module Admin
    class OptionTypesController < ResourceController
      before_filter :setup_new_option_value, :only => [:edit]

      def update_positions
        params[:positions].each do |id, index|
          OptionType.where(:id => id).update_all(:position => index)
        end
    
        respond_to do |format|
          format.html { redirect_to admin_product_variants_url(params[:product_id]) }
          format.js  { render :text => 'Ok' }
        end
      end

      def update_values_positions
        params[:positions].each do |id, index|
          OptionValue.where(:id => id).update_all(:position => index)
        end

        respond_to do |format|
          format.html { redirect_to admin_product_variants_url(params[:product_id]) }
          format.js  { render :text => 'Ok' }
        end
      end

      protected
    
        def location_after_save
          if @option_type.created_at == @option_type.updated_at
            edit_admin_option_type_url(@option_type)
          else
            admin_option_types_url
          end
        end


      private
        def load_product
          @product = Product.find_by_param!(params[:product_id])
        end

        def setup_new_option_value
          @option_type.option_values.build if @option_type.option_values.empty?
        end
  
        def set_available_option_types     
          @available_option_types = if @product.option_type_ids.any?
            OptionType.where('id NOT IN (?)', @product.option_type_ids)
          else
            OptionType.all
          end
        end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spree_core-1.2.2 app/controllers/spree/admin/option_types_controller.rb
spree_core-1.2.0 app/controllers/spree/admin/option_types_controller.rb
spree_core-1.2.0.rc2 app/controllers/spree/admin/option_types_controller.rb
spree_core-1.2.0.rc1 app/controllers/spree/admin/option_types_controller.rb