foodsoft/app/controllers/finance/bank_transactions_controller.rb

40 lines
1.4 KiB
Ruby
Raw Normal View History

2018-09-14 19:33:27 +02:00
class Finance::BankTransactionsController < ApplicationController
before_action :authenticate_finance
2018-09-14 19:33:27 +02:00
inherit_resources
def index
sort = if params['sort']
case params['sort']
when 'date' then 'date'
when 'amount' then 'amount'
when 'financial_link' then 'financial_link_id'
when 'date_reverse' then 'date DESC'
when 'amount_reverse' then 'amount DESC'
when 'financial_link_reverse' then 'financial_link_id DESC'
2018-09-14 19:33:27 +02:00
end
else
'date DESC'
end
2018-09-14 19:33:27 +02:00
@bank_account = BankAccount.find(params[:bank_account_id])
@bank_transactions_all = @bank_account.bank_transactions.order(sort).includes(:financial_link)
unless params[:query].nil?
@bank_transactions_all = @bank_transactions_all.where('reference LIKE ? OR text LIKE ?', "%#{params[:query]}%",
"%#{params[:query]}%")
end
@bank_transactions = @bank_transactions_all.page(params[:page]).per(@per_page)
respond_to do |format|
format.js
format.html { render }
format.csv do
send_data BankTransactionsCsv.new(@bank_transactions_all).to_csv, filename: 'transactions.csv', type: 'text/csv'
end
end
2018-09-14 19:33:27 +02:00
end
def show
@bank_transaction = BankTransaction.find(params[:id])
end
end