tab/app/controllers/transactions_controller.rb
2015-09-11 13:16:53 +02:00

40 lines
1 KiB
Ruby

class TransactionsController < ApplicationController
load_and_authorize_resource
skip_before_filter :verify_authenticity_token, only: :create
before_action :authenticate_user!, except: :create
before_action :authenticate_user_or_client!, only: :create
respond_to :js, only: :create
def index
@transactions = Transaction.all
end
def new
@transaction = Transaction.new
end
def create
transaction = Transaction.new(transaction_params)
if transaction.save
head :created
else
render json: transaction.errors.full_messages, status: :unprocessable_entity
end
end
private
def transaction_params
t = params.require(:transaction)
.permit(:debtor, :creditor, :message, :euros, :cents)
{
debtor: User.find_by(name: t[:debtor]) || User.zeus,
creditor: User.find_by(name: t[:creditor]) || User.zeus,
issuer: current_client || current_user,
amount: (t[:euros].to_f*100 + t[:cents].to_f).to_i,
message: t[:message]
}
end
end