6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'app/services/spree_cm_commissioner/trips/clone.rb', line 6
def call(vendor:, original_trip:, current_store:, params:)
ActiveRecord::Base.transaction do
cloned_product = create_cloned_product(vendor, current_store, original_trip.product, params)
cloned_trip = create_cloned_trip(vendor, original_trip, cloned_product, params)
clone_trip_stop_details(cloned_trip, params)
clone_variants(original_trip, cloned_trip)
clone_service_calendar(cloned_product, params)
cloned_trip.save!
success(cloned_trip: cloned_trip)
end
rescue StandardError => e
CmAppLogger.error(
label: 'SpreeCmCommissioner::Trips::Clone#call',
data: { error_class: e.class.name, error_message: e.message }
)
failure(nil, e.message)
end
|