[POS] Fixes and cleanup
diff --git a/erpnext/accounts/doctype/sales_invoice/pos.py b/erpnext/accounts/doctype/sales_invoice/pos.py
index 599e9b1..5336b54 100644
--- a/erpnext/accounts/doctype/sales_invoice/pos.py
+++ b/erpnext/accounts/doctype/sales_invoice/pos.py
@@ -23,7 +23,8 @@
frappe.msgprint('<a href="#List/POS Profile">'
+ _("Welcome to POS: Create your POS Profile") + '</a>');
- update_pos_profile_data(doc, pos_profile)
+ company_data = get_company_data(doc.company)
+ update_pos_profile_data(doc, pos_profile, company_data)
update_multi_mode_option(doc, pos_profile)
default_print_format = pos_profile.get('print_format') or "Point of Sale"
print_template = frappe.db.get_value('Print Format', default_print_format, 'html')
@@ -32,7 +33,7 @@
'doc': doc,
'default_customer': pos_profile.get('customer'),
'items': get_items(doc, pos_profile),
- 'customers': get_customers(pos_profile, doc),
+ 'customers': get_customers(pos_profile, doc, company_data.default_currency),
'pricing_rules': get_pricing_rules(doc),
'print_template': print_template,
'meta': {
@@ -42,8 +43,10 @@
}
}
-def update_pos_profile_data(doc, pos_profile):
- company_data = frappe.db.get_value('Company', doc.company, '*', as_dict=1)
+def get_company_data(company):
+ return frappe.get_all('Company', fields = ["*"], filters= {'name': company})[0]
+
+def update_pos_profile_data(doc, pos_profile, company_data):
doc.campaign = pos_profile.get('campaign')
doc.write_off_account = pos_profile.get('write_off_account') or \
@@ -148,14 +151,14 @@
return serial_no_list
-def get_customers(pos_profile, doc):
+def get_customers(pos_profile, doc, company_currency):
filters = {'disabled': 0}
customer_list = []
customers = frappe.get_all("Customer", fields=["*"], filters = filters)
for customer in customers:
customer_currency = get_party_account_currency('Customer', customer.name, doc.company) or doc.currency
- if customer_currency == doc.currency:
+ if customer_currency == doc.currency or customer_currency == company_currency:
customer_list.append(customer)
return customer_list
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index 06c2b3b..8e14922 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -586,7 +586,8 @@
if(this.frm.doc.is_pos && (update_paid_amount===undefined || update_paid_amount)){
$.each(this.frm.doc['payments'] || [], function(index, data){
if(data.type == "Cash" && payment_status) {
- data.amount = total_amount_to_pay;
+ data.base_amount = flt(total_amount_to_pay, precision("base_amount"));
+ data.amount = flt(total_amount_to_pay / me.frm.doc.conversion_rate, precision("amount"));
payment_status = false;
}else if(me.frm.doc.paid_amount){
data.amount = 0.0;
@@ -599,7 +600,7 @@
var me = this;
var paid_amount = base_paid_amount = 0.0;
$.each(this.frm.doc['payments'] || [], function(index, data){
- data.base_amount = flt(data.amount * me.frm.doc.conversion_rate);
+ data.base_amount = flt(data.amount * me.frm.doc.conversion_rate, precision("base_amount"));
paid_amount += data.amount;
base_paid_amount += data.base_amount;
})