Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/gl_control/gl_control.py b/accounts/doctype/gl_control/gl_control.py
index 71d5a0b..f0c76eb 100644
--- a/accounts/doctype/gl_control/gl_control.py
+++ b/accounts/doctype/gl_control/gl_control.py
@@ -439,13 +439,7 @@
 		
 def notify_errors(inv, owner):
 	import webnotes
-	from webnotes.utils import get_request_site_address
-	url = get_request_site_address()
-	if not url or url=='http://localhost':
-		new_url = webnotes.conn.get_value('Website Settings', 'Website Settings',
-			'subdomain')
-		if new_url:
-			url = new_url
+	import website
 		
 	exception_msg = """
 		Dear User,
@@ -467,11 +461,15 @@
 		Regards,
 		Administrator
 		
-	""" % (inv, url, inv)
+	""" % (inv, website.get_site_address(), inv)
 	subj = "[Urgent] Error while creating recurring invoice from %s" % inv
-	import webnotes.utils
-	recipients = webnotes.utils.get_system_managers_list()
-	recipients += [webnotes.conn.get_value("Profile", owner, "email")]
+
+	from webnotes.profile import get_system_managers
+	recipients = get_system_managers()
+	owner_email = webnotes.conn.get_value("Profile", owner, "email")
+	if not owner_email in recipients:
+		recipients.append(owner_email)
+
 	assign_task_to_owner(inv, exception_msg, recipients)
 	sendmail(recipients, subject=subj, msg = exception_msg)
 	
diff --git a/setup/doctype/setup_control/setup_control.py b/setup/doctype/setup_control/setup_control.py
index b5207c2..a71fde9 100644
--- a/setup/doctype/setup_control/setup_control.py
+++ b/setup/doctype/setup_control/setup_control.py
@@ -140,8 +140,8 @@
 		import webnotes
 		companies_list = webnotes.conn.sql("SELECT company_name FROM `tabCompany`", as_list=1)
 
-		import webnotes.utils
-		system_managers = webnotes.utils.get_system_managers_list()
+		from webnotes.profile import get_system_managers
+		system_managers = get_system_managers()
 		if not system_managers: return
 		
 		from webnotes.model.doc import Document
diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js
index bc9d57f..f19a464 100644
--- a/stock/doctype/item/item.js
+++ b/stock/doctype/item/item.js
@@ -18,18 +18,12 @@
 	// make sensitive fields(has_serial_no, is_stock_item, valuation_method)
 	// read only if any stock ledger entry exists
 
-	if (!doc.__islocal) {
-		set_field_permlevel("item_code", 1);
-	}
+	cur_frm.toggle_enable("item_code", doc.__islocal);
 
 	if ((!doc.__islocal) && (doc.is_stock_item == 'Yes')) {
 		var callback = function(r, rt) {
-			if (r.message == 'exists') permlevel = 1;
-			else permlevel = 0;
-
-			set_field_permlevel('has_serial_no', permlevel);
-			set_field_permlevel('is_stock_item', permlevel);
-			set_field_permlevel('valuation_method', permlevel);
+			var enabled = (r.message == 'exists') ? false : true;				
+			cur_frm.toggle_enable(['has_serial_no', 'is_stock_item', 'valuation_method'], enabled);
 		}
 		$c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
 	}
diff --git a/website/__init__.py b/website/__init__.py
index dbf65dd..0796fb4 100644
--- a/website/__init__.py
+++ b/website/__init__.py
@@ -23,4 +23,16 @@
 		webnotes.msgprint('Please give us your email id so that we can write back to you', raise_exception=True)
 	
 	d.save()
-	webnotes.msgprint('Thank you!')
\ No newline at end of file
+	webnotes.msgprint('Thank you!')
+	
+def get_site_address():
+	from webnotes.utils import get_request_site_address
+	url = get_request_site_address()
+
+	if not url or url=='http://localhost':
+		new_url = webnotes.conn.get_value('Website Settings', 'Website Settings',
+			'subdomain')
+		if new_url:
+			url = "http://" + new_url
+			
+	return url
\ No newline at end of file