feat: replace email flows with in-app notifications

Add recipient notification detail and filtering, a queued admin composer, and contextual automatic titles. Retire email delivery, obsolete auth routes, newsletter data, and related templates and settings.
This commit is contained in:
2026-09-26 12:23:10 +03:30
parent b706a2d10a
commit 3ec28638d1
54 changed files with 787 additions and 4843 deletions

View File

@@ -0,0 +1,46 @@
# Generated by Django 5.2.5 on 2026-09-26 07:57
from django.db import migrations, models
def delete_newsletter_announcements(apps, schema_editor):
apps.get_model('communications', 'Announcement')._base_manager.filter(announcement_type='newsletter').delete()
class Migration(migrations.Migration):
dependencies = [
('communications', '0002_initial'),
]
operations = [
migrations.RunPython(delete_newsletter_announcements, migrations.RunPython.noop),
migrations.RemoveField(
model_name='announcement',
name='email_sent',
),
migrations.RemoveField(
model_name='announcement',
name='push_sent',
),
migrations.RemoveField(
model_name='announcement',
name='send_email',
),
migrations.RemoveField(
model_name='announcement',
name='send_push',
),
migrations.RemoveField(
model_name='announcement',
name='target_audience',
),
migrations.AlterField(
model_name='announcement',
name='announcement_type',
field=models.CharField(choices=[('general', 'General'), ('event', 'Event'), ('academic', 'Academic'), ('urgent', 'Urgent')], default='general', max_length=20, verbose_name='Type'),
),
migrations.DeleteModel(
name='NewsletterSubscription',
),
]