From 1d1cd491495ff976db93b3de82f1feecdcc14dff Mon Sep 17 00:00:00 2001 From: nishanth Date: Mon, 1 Mar 2010 12:44:27 +0530 Subject: added au ru notifications. --- taskapp/events/task.py | 9 +++++--- taskapp/models.py | 6 +++++- taskapp/utilities/notification.py | 45 ++++++++++++++++++++++++++++++++++++++- taskapp/views/task.py | 2 +- 4 files changed, 56 insertions(+), 6 deletions(-) (limited to 'taskapp') diff --git a/taskapp/events/task.py b/taskapp/events/task.py index 9a12125..625c2d8 100644 --- a/taskapp/events/task.py +++ b/taskapp/events/task.py @@ -149,15 +149,17 @@ def addClaim(task, message, user): user.request_sent_to.filter(is_replied=False, is_valid=True, role="MT", task=task).update(is_valid=False) -def assignTask(task, user, assigned_by): +def assignTask(task, added_user, assigned_by): """ check for the status of task and assign it to the particular user """ if task.status in ['OP', 'WR']: - task.assigned_users.add(user) - task.claimed_users.remove(user) + task.assigned_users.add(added_user) + task.claimed_users.remove(added_user) task.status = "WR" task.save() + create_notification("AU", added_user, assigned_by, task=task) + def updateTask(task, title=None, desc=None, credits=None, tags_field=None): """ update the property accordingly. @@ -195,6 +197,7 @@ def removeUser(main_task, rem_user, removed_by, reason=None): ## TODiscuss : when a user is kicked off, his pending requests for pynts is made invalid rem_user.request_receiving_user.filter(task=main_task,role="PY",is_valid=True,is_replied=False).update(is_valid=False) + create_notification("RU", rem_user, removed_by, task=main_task, remarks=reason) ## TODO : create notification to the victim def assignCredits(task, given_by, given_to, points): diff --git a/taskapp/models.py b/taskapp/models.py index e6e1133..a429cd3 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -34,9 +34,13 @@ NOTIFY_CHOICES = ( ("CM", "Task completed"), ("CD", "Task closed"), ("DL", "Task deleted"), - ("KD", "Kicked off"), ("NU", "New User"), ("NT", "New Mentor"), + ("ND", "New Developer"), + ("NG", "New Manager"), + ("NA", "New Admin"), + ("AU", "Assign user"), ## i mean assign the task + ("RU", "Remove user"), ## remove from working users list in task ) diff --git a/taskapp/utilities/notification.py b/taskapp/utilities/notification.py index e16a94f..887b82e 100644 --- a/taskapp/utilities/notification.py +++ b/taskapp/utilities/notification.py @@ -69,12 +69,12 @@ def create_notification(role, sent_to, sent_from=None, reply=None, task=None, re notification.sub = "%s rejected request to act as a mentor"%new_mentor.username notification.message = "%s has rejected your request asking him to act as a mentor for %s.
"%(new_mentor_url, task_url) if remarks: + notification.remarks = remarks notification.message += "Remarks: %s
"%remarks elif role in ["DV", "MG", "AD"]: notification.sent_from = sent_from - accepting_user = sent_from user_url = '%s'%(accepting_user.id, accepting_user.username) ## i mean the user who has accepted it requested_by_url = '%s'%(requested_by.id, requested_by.username) @@ -89,6 +89,7 @@ def create_notification(role, sent_to, sent_from=None, reply=None, task=None, re notification.sub = "Rejected your request to act as %s"%role_rights notification.message = "%s has rejected your request asking him to act as %s %s.
"%(user_url, a_or_an, role_rights) if remarks: + notification.remarks = remarks notification.message += "Remarks: %s
"%remarks elif role == "NT": @@ -162,8 +163,50 @@ def create_notification(role, sent_to, sent_from=None, reply=None, task=None, re notification.message = "The task %s has been closed by %s.
"%(task_url, mentor_url) if remarks: + notification.remarks = remarks notification.message += "Remarks: %s"%remarks + elif role == "AU": + + notification.task = task + added_user = sent_to + mentor = sent_from + assigned_by_url = '%s'%(mentor.id, mentor.username) + task_url= '%s'%(task.id, task.title) + + notification.sub = "Your claim for the task %s accepted."%task.title[:20] + notification.message = "You have been selected to work on the task %s by %s.
"%(task_url, assigned_by_url) + notification.message += "You can now start working on the task and will be credited by the mentors for your work.
" + + notification.message += " Here is a list of mentors for the task and their email addresses.
" + + working_users = task.assigned_users.exclude(id=added_user.id) + if working_users: + notification.message += "List of other users working on the task.
" + notification.message += "
" + + elif role == "RU": + + notification.task = task + removed_user = sent_to + mentor = sent_from + removed_by_url = '%s'%(mentor.id, mentor.username) + task_url = '%s'%(task.id, task.title) + claim_url = '%s'%(task.id, "clicking here") + + notification.sub = "You have been removed from working users of %s"%task.title[:20] + notification.message = "%s has removed you from the working users list of %s.
"%(removed_by_url, task_url) + notification.message += "if you want to work on the task again, you can claim the task by %s.
"%claim_url + if remarks: + notification.remarks = remarks + notification.message += "Reason: %s"%(remarks) + notification.save() diff --git a/taskapp/views/task.py b/taskapp/views/task.py index 20329bc..16ec11e 100644 --- a/taskapp/views/task.py +++ b/taskapp/views/task.py @@ -393,7 +393,7 @@ def rem_user(request, tid): 'task':task, } - if task.status in ["OP", "WR"]: + if task.status in ["WR"]: if assigned_users: form = RemoveUserForm(choices) context['form'] = form -- cgit