Open
Description
Here is the most delicate part of the whole thing. Email notifications are a dangerous thing. If you make a small mistake you can accidentially send emails off to hundreds of people if you are not careful. No pressure lol
We will need to have a few boolean values added to the user table for things like:
- is_new_post_notification_enabled # For each new post
- is_comment_notification_enabled # For followup comments
- is_instructor_post_notification_enabled # For when a TA/Professor posts
We can then send emails in RPC jobs. Nothing fancy needed, we already have the logic for sending emails. We will need email templates written for the different types of events too. We can follow the existing models:
This is the Subject and Body for the assignment release email for reference:
Anubis LMS :: {{ assignment.name }} has been released
<p>
Hello {{ user.netid }},
</p>
<p>
An assignment has been released on
<a href="https://anubis-lms.io/dashboard">
Anubis.
</a>
</p>
<p>
Course: {{ course.name }} <br>
Assignment: {{ assignment.name }} <br>
Due Date: {{ assignment.due_date }}
</p>
<p>
To stop reciving emails from anubis, edit your
notification preferences on your profile page:
<a href="https://anubis-lms.io/profile">
https://anubis-lms.io/profile
</a>
</p>
<p>
- <i>Anubis LMS Robot</i><br>
<small><i>Made for students, by students.</i></small>
</p>
And where we actually send the emails:
Activity