From 51f722d20fa9db015fc55a96443f56aa1dd20343 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 4 Jul 2014 15:44:26 +0530 Subject: [PATCH] Trigger Apply Price List on change of Currency Conversion Rate or Price List Currency Conversion Rate --- erpnext/public/js/transaction.js | 27 ++++++++++++--------------- erpnext/startup/__init__.py | 14 +++----------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js index 9cc22eac581..932206174ae 100644 --- a/erpnext/public/js/transaction.js +++ b/erpnext/public/js/transaction.js @@ -236,8 +236,8 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({ if(flt(this.frm.doc.conversion_rate)>0.0) { if(this.frm.doc.ignore_pricing_rule) { this.calculate_taxes_and_totals(); - } else { - this.apply_pricing_rule(); + } else if (!this.in_apply_price_list){ + this.apply_price_list(); } } @@ -254,22 +254,17 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({ price_list_currency: function() { var me=this; this.set_dynamic_labels(); - - var company_currency = this.get_company_currency(); - if(this.frm.doc.price_list_currency !== company_currency) { - this.get_exchange_rate(this.frm.doc.price_list_currency, company_currency, - function(exchange_rate) { - if(exchange_rate) { - me.frm.set_value("plc_conversion_rate", exchange_rate); - me.plc_conversion_rate(); - } - }); - } else { - this.plc_conversion_rate(); - } + this.set_plc_conversion_rate(); }, plc_conversion_rate: function() { + this.set_plc_conversion_rate(); + if(!this.in_apply_price_list) { + this.apply_price_list(); + } + }, + + set_plc_conversion_rate: function() { if(this.frm.doc.price_list_currency === this.get_company_currency()) { this.frm.set_value("plc_conversion_rate", 1.0); } @@ -403,8 +398,10 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({ args: { args: this._get_args() }, callback: function(r) { if (!r.exc) { + me.in_apply_price_list = true; me.frm.set_value("price_list_currency", r.message.parent.price_list_currency); me.frm.set_value("plc_conversion_rate", r.message.parent.plc_conversion_rate); + me.in_apply_price_list = false; me._set_values_for_item_list(r.message.children); } } diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py index 576ab056275..a3b96cf46c5 100644 --- a/erpnext/startup/__init__.py +++ b/erpnext/startup/__init__.py @@ -2,17 +2,17 @@ # ERPNext - web based ERP (http://erpnext.com) # Copyright (C) 2012 Web Notes Technologies Pvt Ltd -# +# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program. If not, see . @@ -26,11 +26,3 @@ user_defaults = { "Company": "company", "Territory": "territory" } - -def get_monthly_bulk_mail_limit(): - import frappe - # if global settings, then 500 or unlimited - if frappe.db.get_value('Outgoing Email Settings', None, 'mail_server'): - return 999999 - else: - return 500