[fix] [minor] set price list currency and conversion rate

This commit is contained in:
Anand Doshi 2013-09-05 18:18:40 +05:30
parent c7fa9cc4f5
commit c6d17a6989

View File

@ -56,23 +56,23 @@ class AccountsController(TransactionBase):
def set_price_list_currency(self, buying_or_selling): def set_price_list_currency(self, buying_or_selling):
company_currency = get_company_currency(self.doc.company) company_currency = get_company_currency(self.doc.company)
fieldname = buying_or_selling.lower() + "_price_list" fieldname = buying_or_selling.lower() + "_price_list"
# TODO - change this, since price list now has only one currency allowed # TODO - change this, since price list now has only one currency allowed
if self.meta.get_field(fieldname) and self.doc.fields.get(fieldname) and \ if self.meta.get_field(fieldname) and self.doc.fields.get(fieldname):
not self.doc.price_list_currency: if not self.doc.price_list_currency:
self.doc.fields.update(get_price_list_currency(self.doc.fields.get(fieldname))) self.doc.fields.update(get_price_list_currency(self.doc.fields.get(fieldname)))
if self.doc.price_list_currency: if self.doc.price_list_currency:
if not self.doc.plc_conversion_rate: if self.doc.price_list_currency == company_currency:
if self.doc.price_list_currency == company_currency: self.doc.plc_conversion_rate = 1.0
self.doc.plc_conversion_rate = 1.0 elif not self.doc.plc_conversion_rate:
else: exchange = self.doc.price_list_currency + "-" + company_currency
exchange = self.doc.price_list_currency + "-" + company_currency self.doc.plc_conversion_rate = flt(webnotes.conn.get_value("Currency Exchange",
self.doc.plc_conversion_rate = flt(webnotes.conn.get_value("Currency Exchange", exchange, "exchange_rate"))
exchange, "exchange_rate"))
if not self.doc.currency:
if not self.doc.currency: self.doc.currency = self.doc.price_list_currency
self.doc.currency = self.doc.price_list_currency self.doc.conversion_rate = self.doc.plc_conversion_rate
self.doc.conversion_rate = self.doc.plc_conversion_rate
if self.meta.get_field("currency"): if self.meta.get_field("currency"):
if self.doc.currency and self.doc.currency != company_currency: if self.doc.currency and self.doc.currency != company_currency:
@ -82,7 +82,7 @@ class AccountsController(TransactionBase):
exchange, "exchange_rate")) exchange, "exchange_rate"))
else: else:
self.doc.conversion_rate = 1 self.doc.conversion_rate = 1
def set_missing_item_details(self, get_item_details): def set_missing_item_details(self, get_item_details):
"""set missing item values""" """set missing item values"""
for item in self.doclist.get({"parentfield": self.fname}): for item in self.doclist.get({"parentfield": self.fname}):