# HG changeset patch # User nishanth # Date 1267424520 -19800 # Node ID 74ef330c9185a0c65c58e2b36b0b5f5e91c9c14a # Parent 05157d35d66fd5870c20b155dcca90717dffcf55 implemented nu nt nd ng na notifications. diff -r 05157d35d66f -r 74ef330c9185 taskapp/events/request.py --- a/taskapp/events/request.py Mon Mar 01 05:46:13 2010 +0530 +++ b/taskapp/events/request.py Mon Mar 01 11:52:00 2010 +0530 @@ -57,11 +57,6 @@ elif request_obj.role == "DV": if reply: - ## tell only the user who made him a DV - ## drop a welcome message to that fucker - changeRole(role=request_obj.role, user=request_obj.replied_by) - create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) - ## here we look for requests that are similar => requesting for DV and make them invalid ## also we drop a notification to user who made request pending_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False,role="DV") @@ -71,14 +66,19 @@ create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ requested_by = req.sent_by ) + + ## tell only the user who made him a DV + ## drop a welcome message to that fucker + create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) + create_notification("ND", request_obj.replied_by, requested_by=request_obj.sent_by) + changeRole(role=request_obj.role, user=request_obj.replied_by) + else: create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) elif request_obj.role == "MG": if reply: ## tell all the MG and AD - ## drop a welcome message to that fucker - changeRole(role=request_obj.role, user=request_obj.replied_by) alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") for a_profile in alerting_users: create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) @@ -93,17 +93,16 @@ create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ requested_by = req.sent_by ) + + ## drop a welcome message to that fucker + create_notification("NG", request_obj.replied_by, requested_by=request_obj.sent_by) + changeRole(role=request_obj.role, user=request_obj.replied_by) + else: create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) elif request_obj.role == "AD": if reply: - ## tell all the AD - ## drop a welcome message to that fucker - changeRole(role=request_obj.role, user=request_obj.replied_by) - alerting_users = Profile.objects.filter(user__is_active=True).filter(rights="AD") - for a_profile in alerting_users: - create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) ## here we look for requests that less or similar => requesting for DV or MG or AD and make them invalid ## also we drop a notification to user who made request @@ -115,6 +114,15 @@ create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ requested_by = req.sent_by ) + ## tell all the AD + alerting_users = Profile.objects.filter(user__is_active=True).filter(rights="AD") + for a_profile in alerting_users: + create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) + + ## drop a welcome message to that fucker + create_notification("NA", request_obj.replied_by, requested_by=request_obj.sent_by) + changeRole(role=request_obj.role, user=request_obj.replied_by) + else: create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) diff -r 05157d35d66f -r 74ef330c9185 taskapp/utilities/notification.py --- a/taskapp/utilities/notification.py Mon Mar 01 05:46:13 2010 +0530 +++ b/taskapp/utilities/notification.py Mon Mar 01 11:52:00 2010 +0530 @@ -115,6 +115,33 @@ notification.message += "
" notification.message += "Happy Mentoring." + elif role == "NU": + + start_here_url = 'start here' + notification.sub = "Welcome %s"%sent_to.username + notification.message = "Welcome to PyTasks %s.
"%sent_to.username + notification.message += "If you are lost and have no clue, %s"%start_here_url + + elif role in ["ND", "NG", "NA"]: + + rights_dict = dict(RIGHTS_CHOICES) + + if role == "ND": + role_rights = rights_dict["DV"] + elif role == "NG": + role_rights = rights_dict["MG"] + elif role == "NA": + role_rights = rights_dict["AD"] + + requested_by_url = r'%s'%(requested_by.id, requested_by.username) + role_learn_url = r'click here'%role_rights.lower() + a_or_an = "an" if role_rights == "Admin" else "a" + + notification.sub = "You are now %s %s"%(a_or_an, role_rights) + notification.message = r"You have accepted the request made by %s asking you to act as %s %s in the site "%(requested_by_url, a_or_an, role_rights) + notification.message += "and you are now %s %s in the site.
%s to learn more on %s."%(a_or_an, role_rights, role_learn_url, role_rights) + + elif role in ["CM", "CD"]: notification.sent_from = sent_from