Sha256: 0c9ac9fef7814aed40a786b276d97b3b24535dedc4185c3efbad646e8763f0cf

Contents?: true

Size: 1.46 KB

Versions: 13

Compression:

Stored size: 1.46 KB

Contents

class Admin::ProductGroupsController < Admin::ResourceController
  before_filter :patch_params, :only => [:update]
  
  def preview
    @product_group = ProductGroup.new(params[:product_group])
    @product_group.name = "for_preview"
    respond_with(@product_group) { |format| format.html { render :partial => 'preview', :layout => false } }
  end

  protected

    def find_resource
      ProductGroup.find_by_permalink(params[:id])
    end
     
    def location_after_save
      edit_admin_product_group_path(@product_group)
    end

    def collection
      params[:search] ||= {}
      params[:search][:meta_sort] ||= "name.asc"
      @search = super.metasearch(params[:search])
      @collection = @search.paginate( :per_page => Spree::Config[:per_page],
                                      :page     => params[:page])
    end
    
  private

    # Consolidate argument arrays for nested product_scope attributes
    # Necessary for product scopes with multiple arguments
    def patch_params
      if params["product_group"] and params["product_group"]["product_scopes_attributes"].is_a?(Array)
        params["product_group"]["product_scopes_attributes"] = params["product_group"]["product_scopes_attributes"].group_by {|a| a["id"]}.map do |scope_id, attrs|
          a = { "id" => scope_id, "arguments" => attrs.map{|a| a["arguments"] }.flatten }
          if name = attrs.first["name"]
            a["name"] = name
          end
          a
        end
      end
    end



end

Version data entries

13 entries across 13 versions & 6 rubygems

Version Path
apispree_core-0.0.0 app/controllers/admin/product_groups_controller.rb
My-Commerce_core-1.1.0 app/controllers/admin/product_groups_controller.rb
My-Commerce_core-1.0.0 app/controllers/admin/product_groups_controller.rb
MyCommerceapi-1.0.0 core/app/controllers/admin/product_groups_controller.rb
MyCommerce-0.0.3 core/app/controllers/admin/product_groups_controller.rb
rfcommerce_core-0.0.3 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.6 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.5 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.4 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.3 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.2 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.1 app/controllers/admin/product_groups_controller.rb
spree_core-0.60.0 app/controllers/admin/product_groups_controller.rb