diff --git a/frontend/src/components/domains/DomainSummary.vue b/frontend/src/components/domains/DomainSummary.vue
index 5b281dc8a..6567459f5 100644
--- a/frontend/src/components/domains/DomainSummary.vue
+++ b/frontend/src/components/domains/DomainSummary.vue
@@ -14,7 +14,7 @@
Quota
- {{ domain.quota }} MB
+ {{ domain.quota }} MB
Default mailbox quota
diff --git a/frontend/src/components/identities/AccountAliases.vue b/frontend/src/components/identities/AccountAliases.vue
index 88593cd64..a5d899979 100644
--- a/frontend/src/components/identities/AccountAliases.vue
+++ b/frontend/src/components/identities/AccountAliases.vue
@@ -4,9 +4,9 @@
Aliases
-
+
{{ alias }}
-
+
diff --git a/frontend/src/components/identities/AccountSummary.vue b/frontend/src/components/identities/AccountSummary.vue
index 5031f548b..16f78b8d6 100644
--- a/frontend/src/components/identities/AccountSummary.vue
+++ b/frontend/src/components/identities/AccountSummary.vue
@@ -29,7 +29,28 @@
Phone number
{{ account.phone_number }}
+
+
+ Quota
+
+
+
+ {{ Math.ceil(value) }}% ({{ account.mailbox.quota }} MB)
+
+
+
+
+
+ Daily sending limit
+ {{ account.mailbox.message_limit }}
+
+
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 49655d1fe..5d405fa40 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2410,9 +2410,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407:
- version "1.0.30001410"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz#b5a86366fbbf439d75dd3db1d21137a73e829f44"
- integrity sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==
+ version "1.0.30001481"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz"
+ integrity sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==
case-sensitive-paths-webpack-plugin@^2.3.0:
version "2.4.0"
diff --git a/modoboa/admin/api/v1/serializers.py b/modoboa/admin/api/v1/serializers.py
index abe9d0cbb..db86de661 100644
--- a/modoboa/admin/api/v1/serializers.py
+++ b/modoboa/admin/api/v1/serializers.py
@@ -150,13 +150,18 @@ class MailboxSerializer(serializers.ModelSerializer):
full_address = lib_fields.DRFEmailFieldUTF8()
quota = serializers.CharField(required=False)
+ quota_usage = serializers.SerializerMethodField()
class Meta:
model = models.Mailbox
fields = (
- "pk", "full_address", "use_domain_quota", "quota", "message_limit"
+ "pk", "full_address", "use_domain_quota", "quota", "message_limit",
+ "quota_usage"
)
+ def get_quota_usage(self, mb) -> int:
+ return mb.get_quota_in_percent()
+
def validate_full_address(self, value):
"""Lower case address."""
return value.lower()
diff --git a/modoboa/admin/api/v2/serializers.py b/modoboa/admin/api/v2/serializers.py
index 9ace85c92..9e884bbfe 100644
--- a/modoboa/admin/api/v2/serializers.py
+++ b/modoboa/admin/api/v2/serializers.py
@@ -392,7 +392,7 @@ class MailboxSerializer(serializers.ModelSerializer):
class Meta:
model = models.Mailbox
fields = (
- "pk", "use_domain_quota", "quota", "message_limit"
+ "pk", "use_domain_quota", "quota", "message_limit",
)
def validate_quota(self, value):