Class: Spree::Api::StockTransfersController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/api/stock_transfers_controller.rb

Instance Attribute Summary

Attributes inherited from BaseController

#current_api_user

Instance Method Summary collapse

Instance Method Details

#receiveObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/spree/api/stock_transfers_controller.rb', line 4

def receive
  authorize! :update, TransferItem
  @stock_transfer = Spree::StockTransfer.accessible_by(current_ability, :update).find_by!(number: params[:id])
  variant = Spree::Variant.accessible_by(current_ability, :show).find(params[:variant_id])
  @transfer_item = @stock_transfer.transfer_items.find_by(variant: variant)
  if @transfer_item.nil?
    logger.error("variant_not_in_stock_transfer")
    render "spree/api/errors/variant_not_in_stock_transfer", status: 422
  elsif @transfer_item.update_attributes(received_quantity: @transfer_item.received_quantity + 1)
    render 'spree/api/stock_transfers/receive', status: 200
  else
    invalid_resource!(@transfer_item)
  end
end