Merge pull request #24446 from deepeshgarg007/patch-fix-1-new

fix: Project Template patch
diff --git a/erpnext/patches/v13_0/update_project_template_tasks.py b/erpnext/patches/v13_0/update_project_template_tasks.py
index 5fa0623..8cc27d2 100644
--- a/erpnext/patches/v13_0/update_project_template_tasks.py
+++ b/erpnext/patches/v13_0/update_project_template_tasks.py
@@ -5,40 +5,43 @@
 import frappe
 
 def execute():
-    frappe.reload_doc("projects", "doctype", "project_template")
-    frappe.reload_doc("projects", "doctype", "project_template_task")
-    frappe.reload_doc("projects", "doctype", "project_template")
-    frappe.reload_doc("projects", "doctype", "task")
+	frappe.reload_doc("projects", "doctype", "project_template")
+	frappe.reload_doc("projects", "doctype", "project_template_task")
+	frappe.reload_doc("projects", "doctype", "task")
 
-    for template_name in frappe.db.sql(""" 
-        select 
-            name 
-        from 
-            `tabProject Template` """, 
-        as_dict=1):
-       
-        template = frappe.get_doc("Project Template", template_name.name)
-        replace_tasks = False
-        new_tasks = []
-        for task in template.tasks:
-            if task.subject:
-                replace_tasks = True
-                new_task = frappe.get_doc(dict(
-                    doctype = "Task",
-                    subject = task.subject,
-                    start = task.start,
-                    duration = task.duration,
-                    task_weight = task.task_weight,
-                    description = task.description,
-                    is_template = 1
-                )).insert()
-                new_tasks.append(new_task)
+	# Update property setter status if any
+	property_setter = frappe.db.get_value('Property Setter', {'doc_type': 'Task',
+		'field_name': 'status', 'property': 'options'})
 
-        if replace_tasks:
-            template.tasks = []
-            for tsk in new_tasks:
-                template.append("tasks", {
-                    "task": tsk.name,
-                    "subject": tsk.subject
-                })  
-            template.save()
\ No newline at end of file
+	if property_setter:
+		property_setter_doc = frappe.get_doc('Property Setter', {'doc_type': 'Task',
+			'field_name': 'status', 'property': 'options'})
+		property_setter_doc.value += "\nTemplate"
+		property_setter_doc.save()
+
+	for template_name in frappe.get_all('Project Template'):
+		template = frappe.get_doc("Project Template", template_name.name)
+		replace_tasks = False
+		new_tasks = []
+		for task in template.tasks:
+			if task.subject:
+				replace_tasks = True
+				new_task = frappe.get_doc(dict(
+					doctype = "Task",
+					subject = task.subject,
+					start = task.start,
+					duration = task.duration,
+					task_weight = task.task_weight,
+					description = task.description,
+					is_template = 1
+				)).insert()
+				new_tasks.append(new_task)
+
+		if replace_tasks:
+			template.tasks = []
+			for tsk in new_tasks:
+				template.append("tasks", {
+					"task": tsk.name,
+					"subject": tsk.subject
+				})
+			template.save()
\ No newline at end of file