diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index da5f216b..943fc3e9 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -431,13 +431,17 @@ class Origami::PaymentsController < BaseOrigamiController if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) + #calculate cash acmount + cash = saleObj.total_amount + if saleObj.discount_type == "member_discount" - saleObj.update_attributes(rounding_adjustment: 0) + saleObj.update_attributes(grand_total: 0, rounding_adjustment: 0, amount_received: 0, amount_changed: 0) saleObj.compute_by_sale_items(sale_id, saleObj.sale_items,0,order_source) end - saleObj.update_attributes(rounding_adjustment: 0) - + saleObj.update_attributes(grand_total: 0, rounding_adjustment: 0, amount_received: 0, amount_changed: 0) + puts "FOC" + puts saleObj.to_json sale_payment = SalePayment.new sale_payment.process_payment(saleObj, current_user.name, cash, "foc" ,remark) # For Cashier by Zone diff --git a/app/models/sale.rb b/app/models/sale.rb index 883fbad4..49c27448 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -361,6 +361,8 @@ class Sale < ApplicationRecord end end + compute_tax(sale, total_taxable, total_discount, order_source) + sale.total_amount = subtotal_price sale.total_discount = total_discount sale.grand_total = (sale.total_amount - sale.total_discount) + sale.total_tax @@ -371,8 +373,6 @@ class Sale < ApplicationRecord # adjust_rounding sale.rounding_adjustment = compute_adjust_rounding(sale.grand_total) - compute_tax(sale, total_taxable, total_discount, order_source) - sale.save! end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index e43414b8..4621adba 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -263,10 +263,12 @@ class SalePayment < ApplicationRecord self.payment_method = "foc" self.payment_amount = self.received_amount - self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f + # self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f + self.outstanding_amount = 0.00 self.payment_status = "paid" payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) + sale_update_payment_status(0) return payment_status end