Sha256: 881a5d1ec31d78435c7019ff633411160ccd5e1b30036bc269b43db21886f664

Contents?: true

Size: 1.29 KB

Versions: 139

Compression:

Stored size: 1.29 KB

Contents

module Spree
  module Admin
    class ImagesController < ResourceController
      before_action :load_edit_data, except: :index
      before_action :load_index_data, only: :index

      create.before :set_viewable
      update.before :set_viewable

      private

      def location_after_destroy
        admin_product_images_url(@product)
      end

      def location_after_save
        admin_product_images_url(@product)
      end

      def load_index_data
        @product = Product.friendly.includes(*variant_index_includes).find(params[:product_id])
      end

      def load_edit_data
        @product = Product.friendly.includes(*variant_edit_includes).find(params[:product_id])
        @variants = @product.variants.map do |variant|
          [variant.sku_and_options_text, variant.id]
        end
        @variants.insert(0, [Spree.t(:all), @product.master.id])
      end

      def set_viewable
        @image.viewable_type = 'Spree::Variant'
        @image.viewable_id = params[:image][:viewable_id]
      end

      def variant_index_includes
        [
          variant_images: [viewable: { option_values: :option_type }]
        ]
      end

      def variant_edit_includes
        [
          variants_including_master: { option_values: :option_type, images: :viewable }
        ]
      end
    end
  end
end

Version data entries

139 entries across 139 versions & 2 rubygems

Version Path
goca-spree-backend-3.1.14.rails.5.0.1 app/controllers/spree/admin/images_controller.rb
goca-spree-backend-3.1.14.rails.5.0 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.9 app/controllers/spree/admin/images_controller.rb
spree_backend-4.1.15 app/controllers/spree/admin/images_controller.rb
spree_backend-4.1.14 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.8 app/controllers/spree/admin/images_controller.rb
spree_backend-3.7.14.1 app/controllers/spree/admin/images_controller.rb
spree_backend-4.1.13.1 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.7.1 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.7 app/controllers/spree/admin/images_controller.rb
spree_backend-3.7.14 app/controllers/spree/admin/images_controller.rb
spree_backend-4.2.0.rc4 app/controllers/spree/admin/images_controller.rb
spree_backend-4.2.0.rc3 app/controllers/spree/admin/images_controller.rb
spree_backend-4.1.13 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.6 app/controllers/spree/admin/images_controller.rb
spree_backend-4.2.0.rc2 app/controllers/spree/admin/images_controller.rb
spree_backend-3.7.13 app/controllers/spree/admin/images_controller.rb
spree_backend-4.0.5 app/controllers/spree/admin/images_controller.rb
spree_backend-4.1.12 app/controllers/spree/admin/images_controller.rb
spree_backend-3.7.12 app/controllers/spree/admin/images_controller.rb