Sha256: 0d3dd54ec8dba5a60eb8cb8325e4ddd113b1e4ecd861f642f55826d06a5ea658

Contents?: true

Size: 1.25 KB

Versions: 57

Compression:

Stored size: 1.25 KB

Contents

module Spree
  module Admin
    class LineItemsController < Spree::Admin::BaseController
      layout nil, :only => [:create, :destroy, :update]

      before_filter :load_order
      before_filter :load_line_item, :only => [:destroy, :update]

      respond_to :html, :js

      def create
        variant = Variant.find(params[:line_item][:variant_id])
        @line_item = @order.contents.add(variant, params[:line_item][:quantity].to_i)

        if @order.save
          render_order_form
        else
          respond_with(@line_item) do |format|
            format.js { render :action => 'create', :locals => { :order => @order.reload } }
          end
        end
      end

      def destroy
        @line_item.destroy
        render_order_form
      end

      def update
        @line_item.update_attributes(params[:line_item])
        render_order_form
      end

      private
        def render_order_form
          render :partial => 'spree/admin/orders/form', :locals => { :order => @order.reload }
        end

        def load_order
          @order = Order.find_by_number!(params[:order_id])
          authorize! action, @order
        end

        def load_line_item
          @line_item = @order.line_items.find(params[:id])
        end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
spree_backend-2.3.13 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.14 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.12 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.13 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.11 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.12 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.10 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.9 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.11 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.10 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.8 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.7 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.9 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.1.12 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.6 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.8 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.1.11 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.3.5 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.2.7 app/controllers/spree/admin/line_items_controller.rb
spree_backend-2.1.10 app/controllers/spree/admin/line_items_controller.rb