(admin) manage aliases from admin

manage aliases from admin, including alias creation,
deletion and sync
This commit is contained in:
Marie PUPO JEAMMET
2025-12-11 15:58:36 +01:00
committed by Marie
parent 01583ba94f
commit 7d44e54913
2 changed files with 22 additions and 3 deletions

View File

@@ -8,11 +8,19 @@ and this project adheres to
## [Unreleased]
- 🔒️(security) upgrade python version to fix vulnerability #1010
- 🐛(dimail) allow mailboxes and aliases to have the same local part #986
- 🐛(dimail) ignore oxadmin when importing mailboxes from dimail #986
### Added
- (domains) alias sorting and admin
- ✨(aliases) delete all aliases in one call #1002
### Fixed
- 🔒️(security) upgrade python version to fix vulnerability #1010
- 🐛(dimail) ignore oxadmin when importing mailboxes from dimail #986
- ✨(aliases) fix deleting single aliases #1002
### Changed
- 🐛(dimail) allow mailboxes and aliases to have the same local part #986
### Removed
- 🔥(plugins) remove CommuneCreation plugin
## [1.21.0] - 2025-12-05

View File

@@ -235,6 +235,7 @@ class MailDomainAdmin(admin.ModelAdmin):
inlines = (UserMailDomainAccessInline,)
actions = (
sync_mailboxes_from_dimail,
sync_aliases_from_dimail,
fetch_domain_status_from_dimail,
fetch_domain_expected_config_from_dimail,
send_pending_mailboxes,
@@ -308,3 +309,13 @@ class MailDomainInvitationAdmin(admin.ModelAdmin):
def is_expired(self, obj):
"""Return the expiration date of the invitation."""
return obj.is_expired
@admin.register(models.Alias)
class AliasAdmin(admin.ModelAdmin):
"""Admin for alias model."""
list_display = ("local_part", "domain", "destination", "updated_at")
list_filter = ("domain",)
search_fields = ("local_part", "domain__name", "destination")
readonly_fields = ["updated_at"]