Generalise notifications and implement SMS notifications
This MR implements some generalisations for the notification system.
- Use more generic naming in model
- Create utility library ofr sending notifications
- Implement SMS channel (Twilio) in addition to e-mail channel
- Make channels configurable in admin backend
Special attention has been paid to:
- Allow easy addition of channels
- Ensure only configured channels can be selected
- Ensure channels that have been selected, but have becom unavailable, are not tried
>>> from aleksis.core.models import Person, Notification
>>> nik = Person.objects.first()
>>> noti = Notification.objects.create(title="Tag des Raclettes", description="Bitte überbacken Sie Ihre Vertretungsaufgaben umgehend mit Käse 🧀!", link="http://www.raclette.de/shop/", recipient=nik, sender="Feiertage-App")
Closes #165 (closed)
Edited by Nik | Klampfradler