diff --git a/erpnext/patches/v12_0/set_task_status.py b/erpnext/patches/v12_0/set_task_status.py index 44000cf6fc..32b8177130 100644 --- a/erpnext/patches/v12_0/set_task_status.py +++ b/erpnext/patches/v12_0/set_task_status.py @@ -1,5 +1,17 @@ import frappe def execute(): + frappe.reload_doctype('Task') + frappe.reload_doctype('Project Task') + + # add "Completed" if customized + for doctype in ('Task', 'Project Task'): + property_setter_name = frappe.db.exists('Property Setter', dict(doc_type = doctype, field_name = 'status', property = 'options')) + if property_setter_name: + property_setter = frappe.get_doc('Property Setter', property_setter_name) + if not "Completed" in property_setter.value: + property_setter.value = property_setter.value + '\nCompleted' + property_setter.save() + # renamed default status to Completed as status "Closed" is ambiguous frappe.db.sql('update tabTask set status = "Completed" where status = "Closed"') \ No newline at end of file diff --git a/erpnext/projects/doctype/project/project.js b/erpnext/projects/doctype/project/project.js index a366a25bb4..6de6454a0e 100644 --- a/erpnext/projects/doctype/project/project.js +++ b/erpnext/projects/doctype/project/project.js @@ -9,7 +9,7 @@ frappe.ui.form.on("Project", { indicator = 'red'; } else if (doc.status == 'Cancelled') { indicator = 'dark grey'; - } else if (doc.status == 'Closed') { + } else if (doc.status == 'Completed') { indicator = 'green'; } return indicator;