Class: Spree::BoxnowController

Inherits:
StoreController
  • Object
show all
Defined in:
app/controllers/spree/boxnow_controller.rb

Instance Method Summary collapse

Instance Method Details

#select_lockerObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/spree/boxnow_controller.rb', line 3

def select_locker
  order = current_order

  if order.blank? || params[:locker_id].blank?
    render json: { error: 'Invalid request' }, status: :unprocessable_entity
    return
  end

  order.shipments.each do |shipment|
    next unless shipment.shipping_method&.boxnow?
    next if shipment.tracked?

    shipment.['boxnow.destination_location_id'] = params[:locker_id]
    shipment.['boxnow.locker_name']             = params[:locker_name]
    shipment.['boxnow.locker_address']          = params[:locker_address]
    shipment.save!
  end

  render json: { success: true }
end