diff --git a/notifications/constants.py b/notifications/constants.py index c22f246..6917327 100644 --- a/notifications/constants.py +++ b/notifications/constants.py @@ -22,79 +22,93 @@ ARTICLE_REWARD_POINTS = 17 REMOVE_JUNIOR = 18 TEST_NOTIFICATION = 99 + # notification dictionary NOTIFICATION_DICT = { REGISTRATION: { + "notification_type": REGISTRATION, "title": "Successfully registered!", "body": "You have registered successfully. Now login and complete your profile." }, # user will receive notification as soon junior # sign up application using their guardian code for association ASSOCIATE_REQUEST: { + "notification_type": ASSOCIATE_REQUEST, "title": "Associate request!", "body": "You have request from {from_user} to associate with you." }, # Juniors will receive notification when # custodians reject their request for associate ASSOCIATE_REJECTED: { + "notification_type": ASSOCIATE_REJECTED, "title": "Associate request rejected!", "body": "Your request to associate has been rejected by {from_user}." }, # Juniors will receive notification when # custodians approve their request for associate ASSOCIATE_APPROVED: { + "notification_type": ASSOCIATE_APPROVED, "title": "Associate request approved!", "body": "Your request to associate has been approved by {from_user}." }, # Juniors will receive Notifications # for every Points earned by referrals REFERRAL_POINTS: { + "notification_type": REFERRAL_POINTS, "title": "Earn Referral points!", "body": "You earn 5 points for referral." }, # Juniors will receive notification # once any custodians add them in their account ASSOCIATE_JUNIOR: { + "notification_type": ASSOCIATE_JUNIOR, "title": "Profile already setup!", "body": "Your guardian has already setup your profile." }, ASSOCIATE_EXISTING_JUNIOR: { + "notification_type": ASSOCIATE_EXISTING_JUNIOR, "title": "Associated to guardian", "body": "Your are associated to your guardian {from_user}." }, # Juniors will receive Notification # for every Task Assign by Custodians TASK_ASSIGNED: { + "notification_type": TASK_ASSIGNED, "title": "New task assigned!", "body": "{from_user} has assigned you a new task." }, # Guardian will receive notification as soon # as junior send task for approval TASK_ACTION: { + "notification_type": TASK_ACTION, "title": "Task completion approval!", "body": "{from_user} completed their task {task_name}." }, # Juniors will receive notification as soon # as their task is rejected by custodians TASK_REJECTED: { + "notification_type": TASK_REJECTED, "title": "Task completion rejected!", "body": "Your task completion request has been rejected by {from_user}." }, # Juniors will receive notification as soon as their task is approved by custodians # and for every Points earned by Task completion TASK_APPROVED: { + "notification_type": TASK_APPROVED, "title": "Task completion approved!", "body": "Your task completion request has been approved by {from_user}. " "Also you earned 5 points for successful completion." }, # Juniors will receive notification when their task end date about to end PENDING_TASK_EXPIRING: { + "notification_type": PENDING_TASK_EXPIRING, "title": "Task expiring soon!", "body": "Your task {task_name} is expiring soon. Please complete it." }, # User will receive notification when their assigned task is about to end # and juniors have not performed any action IN_PROGRESS_TASK_EXPIRING: { + "notification_type": IN_PROGRESS_TASK_EXPIRING, "title": "Task expiring soon!", "body": "{from_user} didn't take any action on assigned task {task_name} and it's expiring soon. " "Please assist to complete it." @@ -102,27 +116,32 @@ NOTIFICATION_DICT = { # Juniors will receive Notification # related to Leaderboard progress TOP_JUNIOR: { + "notification_type": TOP_JUNIOR, "title": "Leaderboard topper!", "body": "{from_user} is on top in leaderboard with {points} points." }, # Juniors will receive notification # when admin add any new financial learnings NEW_ARTICLE_PUBLISHED: { + "notification_type": NEW_ARTICLE_PUBLISHED, "title": "Time to read!", "body": "A new article has been published." }, # Juniors will receive notification when they earn points by reading financial Learning ARTICLE_REWARD_POINTS: { + "notification_type": ARTICLE_REWARD_POINTS, "title": "Article reward points!", "body": "You are rewarded with {points} points for reading article and answering questions. " }, # Juniors will receive notification as soon as their custodians remove them from account REMOVE_JUNIOR: { + "notification_type": REMOVE_JUNIOR, "title": "Disassociate by guardian!", "body": "Your guardian has disassociated you." }, # Test notification TEST_NOTIFICATION: { + "notification_type": TEST_NOTIFICATION, "title": "Test Notification", "body": "This notification is for testing purpose from {from_user}." } diff --git a/notifications/views.py b/notifications/views.py index cec50e4..31fb9c1 100644 --- a/notifications/views.py +++ b/notifications/views.py @@ -58,7 +58,8 @@ class NotificationViewSet(viewsets.GenericViewSet): """ notify_task_expiry() notify_top_junior() - send_notification(TEST_NOTIFICATION, None, None, request.auth.payload['user_id'], + notification_type = request.query_params.get('type', TEST_NOTIFICATION) + send_notification(int(notification_type), None, None, request.auth.payload['user_id'], {}) return custom_response(SUCCESS_CODE["3000"])