[fix] show formatted currency value in advance paid validation

This commit is contained in:
Anand Doshi
2016-01-29 12:16:24 +05:30
parent ee8f88d641
commit 7c0a58ac3f
3 changed files with 48 additions and 39 deletions

View File

@@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe
from frappe import _, throw
from frappe.utils import today, flt, cint
from frappe.utils import today, flt, cint, fmt_money
from erpnext.setup.utils import get_company_currency, get_exchange_rate
from erpnext.accounts.utils import get_fiscal_year, validate_fiscal_year, get_account_currency
from erpnext.utilities.transaction_base import TransactionBase
@@ -402,21 +402,28 @@ class AccountsController(TransactionBase):
""".format(dr_or_cr=dr_or_cr), (self.doctype, self.name, party), as_dict=1)
if advance:
advance_paid = flt(advance[0].amount, self.precision("advance_paid"))
frappe.db.set_value(self.doctype, self.name, "party_account_currency",
advance[0].account_currency)
if advance[0].account_currency == self.currency:
advance = advance[0]
advance_paid = flt(advance.amount, self.precision("advance_paid"))
formatted_advance_paid = fmt_money(advance_paid, precision=self.precision("advance_paid"),
currency=advance.account_currency)
frappe.db.set_value(self.doctype, self.name, "party_account_currency",
advance.account_currency)
if advance.account_currency == self.currency:
order_total = self.grand_total
formatted_order_total = fmt_money(order_total, precision=self.precision("grand_total"),
currency=advance.account_currency)
else:
order_total = self.base_grand_total
formatted_order_total = fmt_money(order_total, precision=self.precision("base_grand_total"),
currency=advance.account_currency)
if order_total >= advance_paid:
frappe.db.set_value(self.doctype, self.name, "advance_paid", advance_paid)
else:
frappe.throw(_("Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2})")
.format(advance_paid, self.name, order_total))
.format(formatted_advance_paid, self.name, formatted_order_total))
@property
def company_abbr(self):