Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/erpnext/patches/profile_mark_not_in_create.py b/erpnext/patches/profile_mark_not_in_create.py
new file mode 100644
index 0000000..8d25047
--- /dev/null
+++ b/erpnext/patches/profile_mark_not_in_create.py
@@ -0,0 +1,10 @@
+import webnotes
+def execute():
+	"""
+		Mark DocType Profile as 'not_in_create'
+	"""
+	webnotes.conn.sql("""
+		UPDATE `tabDocType`
+		SET in_create=1
+		WHERE name='Profile'
+	""")
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index cd84d10..e599e7b 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -417,7 +417,6 @@
 		sch = Scheduler()
 		sch.connect()
 
-
 		if self.doc.enabled == 1:
 			# Create scheduler entry
 			res = sch.conn.sql("""
@@ -429,15 +428,21 @@
 
 			if not (res and res[0]):
 				args['next_execution'] = self.get_next_execution()
-				
+				sch.conn.begin()
 				sch.conn.sql("""
 					INSERT INTO	Event (db_name, event, `interval`, next_execution, recurring)
 					VALUES (%(db_name)s, %(event)s, 86400, %(next_execution)s, 1)
 				""", args)
+				sch.conn.commit()
 
 		else:
-			# delete scheduler entry
-			sch.clear(args['db_name'], args['event'])
+			# delete scheduler entry if no other email digest is enabled
+			res = webnotes.conn.sql("""
+				SELECT * FROM `tabEmail Digest`
+				WHERE enabled=1
+			""")
+			if not (res and res[0]):
+				sch.clear(args['db_name'], args['event'])
 		#print "after on update"
 	
 
diff --git a/erpnext/setup/doctype/permission_control/permission_control.py b/erpnext/setup/doctype/permission_control/permission_control.py
index a24c756..044dff5 100644
--- a/erpnext/setup/doctype/permission_control/permission_control.py
+++ b/erpnext/setup/doctype/permission_control/permission_control.py
@@ -30,7 +30,7 @@
 			WHERE ifnull(docstatus,0)=0 
 			AND ifnull(istable,0)=0
 			AND ifnull(issingle,0)=0
-			AND `module` NOT IN ('System','Utilities','Setup Masters','Roles','Recycle Bin','Mapper','Application Internal','Development')
+			AND `module` NOT IN ('System','Utilities','Setup Masters','Roles','Recycle Bin','Mapper','Application Internal','Development', 'Core')
 			ORDER BY `name` ASC""")
 		
 		rl = [''] + [a[0] for a in sql("select name from tabRole where ifnull(docstatus,0)=0")]