check for existing task before appending to child table (#15183)

diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
old mode 100644
new mode 100755
index 6acad06..3dc52d4
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -141,12 +141,13 @@
 	def populate_depends_on(self):
 		if self.parent_task:
 			parent = frappe.get_doc('Task', self.parent_task)
-			parent.append("depends_on", {
-				"doctype": "Task Depends On",
-				"task": self.name,
-				"subject": self.subject
-			})
-			parent.save()
+			if not self.name in [row.task for row in parent.depends_on]:
+				parent.append("depends_on", {
+					"doctype": "Task Depends On",
+					"task": self.name,
+					"subject": self.subject
+				})
+				parent.save()
 
 	def on_trash(self):
 		if check_if_child_exists(self.name):