Added form to edit an account.

This commit is contained in:
Antoine Nguyen
2021-05-05 11:24:12 +02:00
parent 289e8eac46
commit 8fa43f75cf
12 changed files with 320 additions and 38 deletions
+9 -3
View File
@@ -20,7 +20,7 @@ from modoboa.core import (
)
from modoboa.lib import (
email_utils, exceptions as lib_exceptions, fields as lib_fields,
permissions, web_utils
permissions, validators, web_utils
)
from modoboa.parameters import tools as param_tools
@@ -294,14 +294,20 @@ class WritableAccountSerializer(AccountSerializer):
"master_user": _("Not allowed for this role.")
})
if role == "SimpleUsers":
username = data.get("username")
if username:
try:
validators.UTF8EmailValidator()(username)
except ValidationError as err:
raise ValidationError({"username": err.message})
mailbox = data.get("mailbox")
if mailbox is None:
if not self.instance:
data["mailbox"] = {
"full_address": data["username"],
"full_address": username,
"use_domain_quota": True
}
elif "full_address" in mailbox and mailbox["full_address"] != data["username"]:
elif "full_address" in mailbox and mailbox["full_address"] != username:
raise serializers.ValidationError({
"username": _("Must be equal to mailbox full_address")
})
+1
View File
@@ -146,6 +146,7 @@ class TagSerializer(serializers.Serializer):
class IdentitySerializer(serializers.Serializer):
"""Serializer used for identities."""
pk = serializers.IntegerField()
identity = serializers.CharField()
name_or_rcpt = serializers.CharField()
tags = TagSerializer(many=True)