6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'app/services/spree_cm_commissioner/distribution_agreements/create.rb', line 6
def call(params:, vendor:, price_list:, partner:)
record = SpreeCmCommissioner::DistributionAgreement.new(
vendor: vendor,
price_list: price_list,
partner: partner,
fee_type: params[:fee_type],
fee_percentage: params[:fee_percentage],
fee_fixed_amount: params[:fee_fixed_amount],
settlement_basis: params[:settlement_basis],
status: params[:status]
)
if record.save
success(distribution_agreement: record)
else
failure(record, record.errors.full_messages.join(', '))
end
rescue ActiveRecord::RecordNotUnique
failure(nil, I18n.t('distribution_agreements.not_unique'))
end
|