add delete permission to communication
diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index 8e0a4a0..e4eff96 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -541,4 +541,8 @@
 		'patch_module': 'patches.september_2012',
 		'patch_file': 'stock_report_permissions_for_accounts',
 	},
+	{
+		'patch_module': 'patches.september_2012',
+		'patch_file': 'communication_delete_permission',
+	},
 ]
diff --git a/erpnext/patches/september_2012/communication_delete_permission.py b/erpnext/patches/september_2012/communication_delete_permission.py
new file mode 100644
index 0000000..68aea40
--- /dev/null
+++ b/erpnext/patches/september_2012/communication_delete_permission.py
@@ -0,0 +1,21 @@
+def execute():
+	import webnotes
+	from webnotes.model.doc import addchild
+	from webnotes.model.code import get_obj
+	
+	existing = webnotes.conn.sql("""select role, name from `tabDocPerm`
+		where permlevel=0 and parent='Communication'""")
+
+	for role in ("Support Manager", "System Manager"):
+		if role not in map(lambda x: x[0], existing):
+			doctype_obj = get_obj("DocType", "Communication", with_children=1)
+			ch = addchild(doctype_obj.doc, "permissions", "DocPerm")
+			ch.permlevel = 0
+			ch.role = role
+			ch.read = 1
+			ch.write = 1
+			ch.create = 1
+			ch.cancel = 1
+			ch.save()
+		else:
+			webnotes.conn.set_value("DocPerm", dict(existing).get(role), "cancel", 1)