51 lines
1.5 KiB
Ruby
Executable File
51 lines
1.5 KiB
Ruby
Executable File
class Origami::CreditPaymentsController < BaseOrigamiController
|
|
def index
|
|
@sale_id = params[:sale_id]
|
|
@cashier_type = params[:type]
|
|
|
|
# limit visa_amount
|
|
sale_data = Sale.find_by_sale_id(@sale_id)
|
|
total = sale_data.grand_total
|
|
@creditcount = 0
|
|
others = 0
|
|
|
|
@shop = Shop::ShopDetail
|
|
if @shop.is_rounding_adj
|
|
new_total = Sale.get_rounding_adjustment(sale_data.grand_total)
|
|
else
|
|
new_total = sale_data.grand_total
|
|
end
|
|
@rounding_adj = new_total-sale_data.grand_total
|
|
|
|
sale_data.sale_payments.each do |sale_payment|
|
|
if sale_payment.payment_method == "creditnote"
|
|
@creditcount = @creditcount + sale_payment.payment_amount
|
|
else
|
|
others = others + sale_payment.payment_amount
|
|
end
|
|
end
|
|
@can_credit = total - @creditcount - others
|
|
end
|
|
|
|
def create
|
|
cash = params[:amount]
|
|
sale_id = params[:sale_id]
|
|
if(Sale.exists?(sale_id))
|
|
saleObj = Sale.find(sale_id)
|
|
shop_details = Shop::ShopDetail
|
|
|
|
# rounding adjustment
|
|
if shop_details.is_rounding_adj
|
|
new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
|
|
rounding_adj = new_total-saleObj.grand_total
|
|
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
|
|
end
|
|
|
|
saleObj = Sale.find(sale_id)
|
|
sale_payment = SalePayment.new
|
|
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "creditnote")
|
|
end
|
|
end
|
|
|
|
end
|