summaryrefslogtreecommitdiff
path: root/taskapp/events/task.py
diff options
context:
space:
mode:
Diffstat (limited to 'taskapp/events/task.py')
-rw-r--r--taskapp/events/task.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/taskapp/events/task.py b/taskapp/events/task.py
index 6fd3fef..04cdd2d 100644
--- a/taskapp/events/task.py
+++ b/taskapp/events/task.py
@@ -230,8 +230,6 @@ def completeTask(task, marked_by):
for a_mentor in task.mentors.all():
create_notification(role="CM", sent_to=a_mentor, sent_from=marked_by, task=task)
-
-
def closeTask(task, closed_by, reason=None):
""" set the status of task as CD.
generate notifications accordingly.
@@ -254,4 +252,16 @@ def closeTask(task, closed_by, reason=None):
for a_mentor in task.mentors.all():
create_notification(role="CD", sent_to=a_mentor, sent_from=closed_by, task=task, remarks=reason)
+def deleteTask(task, deleted_by, reason=None):
+ """ set the task status as DL
+ notify all its other viewers about the deleting of task.
+ """
+
+ task.status = "DL"
+ task.save()
+
+ pending_requests = task.request_task.filter(is_replied=False,is_valid=True)
+ pending_requests.update(is_valid=False)
+ for a_mentor in task.mentors.exclude(id=deleted_by.id):
+ create_notification("DL", sent_to=a_mentor, sent_from=deleted_by, task=task, remarks=reason)