Add Course Notification System with Email and SMS Capabilities #1518
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a comprehensive course notification system for the We All Code admin interface, allowing administrators to send both email and SMS notifications to parents and volunteers attending/teaching classes.
Overview
The notification system adds a new admin interface accessible from the main dashboard that enables staff to send customized notifications with dynamic template variables. The system integrates seamlessly with existing email infrastructure while adding new SMS capabilities via Dialpad API.
Key Features
Admin Interface
/admin/classes/{session_id}/notifications/
Email Integration
util.py
SMS Integration
Template System
Dynamic variable replacement supporting:
{parent_name}
,{student_names}
,{mentor_name}
- Personal names<class date>
,<class start time>
,<class location>
- Session details<15 minutes before class start time>
- Calculated arrival timeDefault Templates
Implements the exact templates specified in the issue:
Technical Implementation
Usage
Configuration
Requires new environment variables for SMS functionality:
The system gracefully handles missing SMS configuration and provides appropriate user feedback.
Testing
Includes comprehensive testing of template variable replacement, phone number formatting, and error handling scenarios. All core functionality has been validated with mock data.
Fixes #1517.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
db
/home/REDACTED/work/website/website/.venv/bin/python3 manage.py migrate
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.