Sha256: 006d57adfd69ccb10c4b13fff88059595f7565c190b821a91cc35a41cae7bb56

Contents?: true

Size: 1.41 KB

Versions: 13

Compression:

Stored size: 1.41 KB

Contents

class Admin::VariantsController < Admin::ResourceController
  belongs_to :product, :find_by => :permalink
  create.before :create_before

  # override the destory method to set deleted_at value
  # instead of actually deleting the product.
  def destroy
    @variant = Variant.find(params[:id])

    @variant.deleted_at = Time.now()
    if @variant.save
      flash.notice = I18n.t("notice_messages.variant_deleted")
    else
      flash.notice = I18n.t("notice_messages.variant_not_deleted")
    end

    respond_with(@variant) do |format|
      format.html { redirect_to admin_product_variants_url(params[:product_id]) }
      format.js  { render_js_for_destroy }
    end
  end

  def update_positions
    params[:positions].each do |id, index|
      Variant.update_all(['position=?', index], ['id=?', id])
    end

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

  protected
  def create_before
    option_values = params[:new_variant]
    option_values.each_value {|id| @object.option_values << OptionValue.find(id)}
    @object.save
  end

  def collection
    @deleted = (params.key?(:deleted)  && params[:deleted] == "on") ? "checked" : ""

    if @deleted.blank?
      @collection ||= super
    else
      @collection ||= Variant.where(:product_id => parent.id).deleted
    end
    @collection
  end
end

Version data entries

13 entries across 13 versions & 6 rubygems

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