Class: Kaui::RefundsController
Instance Method Summary
collapse
#check_for_redirect_to_tenant_screen, #current_ability, #current_user, #options_for_klient, #retrieve_allowed_users_for_current_user, #retrieve_tenants_for_current_user
Instance Method Details
#create ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'app/controllers/kaui/refunds_controller.rb', line 12
def create
invoice = Kaui::Invoice.find_by_id_or_number(params.require(:invoice_id), true, 'NONE', options_for_klient)
if params[:adjustment_type] == 'invoiceItemAdjustment'
items = []
(params[:adjustments] || []).each do |ii|
original_item = find_original_item(invoice.items, ii[0])
item = KillBillClient::Model::InvoiceItem.new
item.invoice_item_id = ii[0]
item.amount = (ii[1].to_f == original_item.amount) ? nil : ii[1]
items << item
end
end
KillBillClient::Model::InvoicePayment.refund(params.require(:payment_id), params[:amount], items, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
redirect_to kaui_engine.account_invoice_path(invoice.account_id, invoice.invoice_id), :notice => 'Refund created'
end
|
#new ⇒ Object
3
4
5
6
7
8
9
10
|
# File 'app/controllers/kaui/refunds_controller.rb', line 3
def new
fetch_invoice = lambda { @invoice = Kaui::Invoice.find_by_id_or_number(params.require(:invoice_id), true, 'NONE', options_for_klient) }
fetch_payment = lambda { @payment = Kaui::InvoicePayment::find_by_id(params.require(:payment_id), false, options_for_klient) }
run_in_parallel fetch_invoice, fetch_payment
@refund = KillBillClient::Model::InvoiceItem.new(:invoice_id => @invoice.invoice_id)
end
|