tab/app/controllers/transactions_controller.rb

45 lines
1.1 KiB
Ruby

class TransactionsController < ApplicationController
skip_before_filter :verify_authenticity_token, only: :create
before_action :authenticate_user!, except: :create
before_action :authenticate_user_or_client!, only: :create
def index
@transactions = Transaction.all
end
def new
@transaction = Transaction.new
end
def create
@transaction = Transaction.new(transaction_params)
respond_to do |format|
format.html do
if @transaction.save
flash[:success] = "Transaction created"
redirect_to new_transaction_path
else
render 'new'
end
end
format.json do
head(@transaction.save ? :created : :unprocessable_entity)
end
end
end
private
def transaction_params
t = params.require(:transaction)
.permit(:debtor, :creditor, :amount, :message)
t.update({
debtor: User.find_by(name: t[:debtor]) || User.zeus,
creditor: User.find_by(name: t[:creditor]) || User.zeus,
issuer: current_client || current_user
})
end
end