Class: Kaui::CreditsController

Inherits:
EngineController show all
Defined in:
app/controllers/kaui/credits_controller.rb

Constant Summary

Constants included from EngineControllerUtil

EngineControllerUtil::SIMPLE_PAGINATION_THRESHOLD

Instance Method Summary collapse

Methods inherited from EngineController

#check_for_redirect_to_tenant_screen, #current_ability, #current_user, #options_for_klient, #populate_account_details, #retrieve_allowed_users_for_current_user, #retrieve_tenants_for_current_user

Instance Method Details

#createObject


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/kaui/credits_controller.rb', line 19

def create
  credit = Kaui::Credit.new(params[:credit].delete_if { |key, value| value.blank? })
  credit. ||= params.require(:account_id)

  # No need to show the newly created invoice for account level credits
  should_redirect_to_invoice = credit.invoice_id.present?

  credits = credit.create(true, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
  flash[:notice] = 'Credit was successfully created'

  if should_redirect_to_invoice
    redirect_to kaui_engine.(credits[0]., credits[0].invoice_id)
  else
    redirect_to kaui_engine.(credits[0].)
  end
end

#newObject


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/kaui/credits_controller.rb', line 3

def new
  invoice_id = params[:invoice_id]
  amount = params[:amount]

  if invoice_id.present?
    @invoice = Kaui::Invoice.find_by_id(invoice_id, 'NONE', options_for_klient)
    amount ||= @invoice.balance
    currency = @invoice.currency
  else
    @invoice = nil
    currency = params[:currency] || 'USD'
  end

  @credit = Kaui::Credit.new(:account_id => params.require(:account_id), :invoice_id => invoice_id, :amount => amount, :currency => currency)
end