Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.txt b/accounts/doctype/purchase_invoice/purchase_invoice.txt
index 64b9f5c..44cd20f 100755
--- a/accounts/doctype/purchase_invoice/purchase_invoice.txt
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:51:06", 
+  "modified": "2013-07-23 15:27:03", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -273,7 +273,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/accounts/doctype/sales_invoice/sales_invoice.txt b/accounts/doctype/sales_invoice/sales_invoice.txt
index e3c60a0..a04fca4 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.txt
+++ b/accounts/doctype/sales_invoice/sales_invoice.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:05", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:05", 
+  "modified": "2013-07-23 15:28:32", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -279,7 +279,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/buying/doctype/purchase_order/purchase_order.txt b/buying/doctype/purchase_order/purchase_order.txt
index bb310aa..a79d98e 100644
--- a/buying/doctype/purchase_order/purchase_order.txt
+++ b/buying/doctype/purchase_order/purchase_order.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-19 22:04:17", 
+  "modified": "2013-07-23 15:26:28", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -225,7 +225,8 @@
   "fieldtype": "Link", 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.txt b/buying/doctype/supplier_quotation/supplier_quotation.txt
index 3cb5046..e18e011 100644
--- a/buying/doctype/supplier_quotation/supplier_quotation.txt
+++ b/buying/doctype/supplier_quotation/supplier_quotation.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:45", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:49:31", 
+  "modified": "2013-07-23 15:27:23", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -222,7 +222,8 @@
   "fieldtype": "Link", 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index 7bcc92e..acb6077 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -57,10 +57,7 @@
 		# TODO - change this, since price list now has only one currency allowed
 		if self.meta.get_field("price_list_name") and self.doc.price_list_name and \
 			not self.doc.price_list_currency:
-				self.doc.fields.update(get_price_list_currency({
-					"price_list_name": self.doc.price_list_name, 
-					"buying_or_selling": buying_or_selling
-				}))
+				self.doc.fields.update(get_price_list_currency(self.doc.price_list_name))
 				
 				if self.doc.price_list_currency:
 					if not self.doc.plc_conversion_rate:
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 421a7a5..8770ba9 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -74,14 +74,9 @@
 	
 	company: function() {
 		if(this.frm.doc.company && this.frm.fields_dict.currency) {
-			var me = this;
 			var company_currency = this.get_company_currency();
-			$.each(["currency", "price_list_currency"], function(i, fieldname) {
-				if(!me.frm.doc[fieldname]) {
-					me.frm.set_value(fieldname, company_currency);
-					me.script_manager.trigger(fieldname);
-				}
-			});
+			this.frm.set_value("currency", company_currency);
+			this.frm.script_manager.trigger("currency");
 		}
 	},
 	
@@ -123,10 +118,9 @@
 		if(this.frm.doc.price_list_name) {
 			this.frm.call({
 				method: "setup.utils.get_price_list_currency",
-				args: { args: {
+				args: { 
 					price_list_name: this.frm.doc.price_list_name,
-					buying_or_selling: buying_or_selling
-				}},
+				},
 				callback: function(r) {
 					if(!r.exc) {
 						me.price_list_currency();
diff --git a/public/js/utils.js b/public/js/utils.js
index 743c02b..96b312f 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -20,7 +20,7 @@
 		if(!company && cur_frm)
 			company = cur_frm.doc.company;
 		if(company)
-			return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
+			return wn.model.get_doc(":Company", company).default_currency || wn.boot.sysdefaults.currency;
 		else
 			return wn.boot.sysdefaults.currency;
 	},
diff --git a/selling/doctype/quotation/quotation.txt b/selling/doctype/quotation/quotation.txt
index 19eefa3..7f16466 100644
--- a/selling/doctype/quotation/quotation.txt
+++ b/selling/doctype/quotation/quotation.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:08", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:56", 
+  "modified": "2013-07-23 15:27:53", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -301,7 +301,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index b67510d..210e56f 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -366,7 +366,7 @@
 		}
 	}, target_doclist, postprocess)
 	
-	return [d.fields for d in doclist]
+	return [(d if isinstance(d, dict) else d.fields) for d in doclist]
 
 @webnotes.whitelist()
 def make_delivery_note(source_name, target_doclist=None):	
diff --git a/selling/doctype/sales_order/sales_order.txt b/selling/doctype/sales_order/sales_order.txt
index 37c9e21..3e6cbe4 100644
--- a/selling/doctype/sales_order/sales_order.txt
+++ b/selling/doctype/sales_order/sales_order.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-06-18 12:39:59", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:47:46", 
+  "modified": "2013-07-23 15:27:39", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -311,6 +311,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/setup/utils.py b/setup/utils.py
index e1463fa..adfa4f7 100644
--- a/setup/utils.py
+++ b/setup/utils.py
@@ -44,20 +44,6 @@
 	return result or []
 
 @webnotes.whitelist()
-def get_price_list_currency(args):
-	"""
-		args = {
-			"price_list_name": "Something",
-			"buying_or_selling": "Buying" or "Selling"
-		}
-	"""
-	if isinstance(args, basestring):
-		args = json.loads(args)
-	
-	result = webnotes.conn.sql("""select distinct ref_currency from `tabItem Price`
-		where price_list_name=%s and buying_or_selling=%s""",
-		(args.get("price_list_name"), args.get("buying_or_selling")))
-	if result and len(result)==1:
-		return {"price_list_currency": result[0][0]}
-	else:
-		return {}
\ No newline at end of file
+def get_price_list_currency(price_list_name):
+	return {"price_list_currency": webnotes.conn.get_value("Price List", price_list_name, 
+		"currency")}
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/delivery_note.txt b/stock/doctype/delivery_note/delivery_note.txt
index cfdd8cd..aa9530f 100644
--- a/stock/doctype/delivery_note/delivery_note.txt
+++ b/stock/doctype/delivery_note/delivery_note.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:09", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:27", 
+  "modified": "2013-07-23 15:28:18", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -303,7 +303,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.txt b/stock/doctype/purchase_receipt/purchase_receipt.txt
index 94136ae..f5b64d2 100755
--- a/stock/doctype/purchase_receipt/purchase_receipt.txt
+++ b/stock/doctype/purchase_receipt/purchase_receipt.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:50:25", 
+  "modified": "2013-07-23 15:26:50", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -251,7 +251,8 @@
   "hidden": 0, 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name",