Class: Dscf::Marketplace::DeliveryOrderItemsController

Inherits:
ApplicationController show all
Includes:
Core::Common
Defined in:
app/controllers/dscf/marketplace/delivery_order_items_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#bypass_permissions_for_demo?, #pundit_user

Instance Method Details

#dispute_deliveryObject



30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/dscf/marketplace/delivery_order_items_controller.rb', line 30

def dispute_delivery
  @obj = find_record
  authorize @obj, :dispute_delivery?
  reason = params[:reason]

  if @obj.dispute_delivery!(reason, current_user&.id)
    render_success("delivery_order_items.success.delivery_disputed", data: @obj)
  else
    render_error("delivery_order_items.errors.dispute_delivery_failed")
  end
end

#receiver_confirmObject



6
7
8
9
10
11
12
13
14
# File 'app/controllers/dscf/marketplace/delivery_order_items_controller.rb', line 6

def receiver_confirm
  @obj = find_record
  authorize @obj, :receiver_confirm?
  if @obj.receiver_confirm!(params[:confirmed_quantity], params[:notes], current_user&.id)
    render_success("delivery_order_items.success.receiver_confirmed", data: @obj)
  else
    render_error("delivery_order_items.errors.receiver_confirm_failed")
  end
end

#report_issueObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/dscf/marketplace/delivery_order_items_controller.rb', line 16

def report_issue
  @obj = find_record
  authorize @obj, :report_issue?
  issue_type = params[:issue_type]
  quantity = params[:quantity]
  description = params[:description]

  if @obj.report_issue!(issue_type, quantity, description, current_user&.id)
    render_success("delivery_order_items.success.issue_reported", data: @obj.delivery_order)
  else
    render_error("delivery_order_items.errors.report_issue")
  end
end