Merge pull request #17001 from scmmishra/develop-task-status

fix: task overdue status propagates to project
This commit is contained in:
rohitwaghchaure 2019-03-29 18:44:17 +05:30 committed by GitHub
commit 706cf7d3d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -165,6 +165,13 @@ class Task(NestedSet):
self.update_nsm_model() self.update_nsm_model()
def update_status(self):
if self.status not in ('Cancelled', 'Completed') and self.exp_end_date:
from datetime import datetime
if self.exp_end_date < datetime.now().date():
self.db_set('status', 'Overdue')
self.update_project()
@frappe.whitelist() @frappe.whitelist()
def check_if_child_exists(name): def check_if_child_exists(name):
child_tasks = frappe.get_all("Task", filters={"parent_task": name}) child_tasks = frappe.get_all("Task", filters={"parent_task": name})
@ -196,10 +203,9 @@ def set_multiple_status(names, status):
task.save() task.save()
def set_tasks_as_overdue(): def set_tasks_as_overdue():
frappe.db.sql("""update tabTask set `status`='Overdue' tasks = frappe.get_all("Task", filters={'status':['not in',['Cancelled', 'Completed']]})
where exp_end_date is not null for task in tasks:
and exp_end_date < CURDATE() frappe.get_doc("Task", task.name).update_status()
and `status` not in ('Completed', 'Cancelled')""")
@frappe.whitelist() @frappe.whitelist()
def get_children(doctype, parent, task=None, project=None, is_root=False): def get_children(doctype, parent, task=None, project=None, is_root=False):