- use signals to trigger Celery tasks to create and delete mailboxes
- add generic TestCaseWithCeleryTasks class to handle celery task tests
in a uniform way
This commit is a rough port to Django 2.1, Python 3 and a Docker based local
development setup. Tests fail/error but migrations and the web frontend are
already runnable. Task queue functionality is untested and translations seem to
have trouble.
This commit adds tests for managemails.models to improve the test
coverage of that model. There are some changes to the classes in
managemails.models too:
- add a method create_mailbox to MailboxManager
- properly handle uncommited mailaddresses in MailAddress.set_mailbox
and MailAddress.set_forward_addresses
- add managemails.apps to give a more meaningful title in the admin site
- add verbose names to MailAddressMailbox fields
- implement managemails.models.Mailbox.get_mailaddresses and a corresponding
property mailaddresses
- add migration to place a unique constraint on MailAddressMailbox.mailaddress
and drop existing primary_key
- change managemails.models.MailAddressMailbox.mailaddress to OneToOneField
- move active flag into managemails.models.ActivateAbleMixin
- refactor Mailbox and Mailaddress to use ActivateAbleMixin
- implement managemails.models.Mailbox.__str__
- add managemails.admin.ActivationChangeMixin to provide activate and
deactivate actions for model admin classes
- add activate and deactivate actions for managemails.admin.MailboxAdmin
- add managemails.admin.MailAddressAdmin and inlines for MailAddressMailbox and
MailAddressForward management on the MailAddress management admin page