diff --git a/modoboa/admin/models.py b/modoboa/admin/models.py
index 6deebe21c..c14357b26 100644
--- a/modoboa/admin/models.py
+++ b/modoboa/admin/models.py
@@ -724,7 +724,11 @@ class Mailbox(DatesAware):
else:
self.quota = value
- def get_cur_quota(self):
+ def get_quota(self):
+ q = Quota.objects.get(username=self.full_address)
+ return int(q.bytes / 1048576)
+
+ def get_quota_in_percent(self):
if not self.quota:
return 0
q = Quota.objects.get(username=self.full_address)
diff --git a/modoboa/admin/static/admin/css/admin.css b/modoboa/admin/static/admin/css/admin.css
index a28919dd9..58ece8008 100644
--- a/modoboa/admin/static/admin/css/admin.css
+++ b/modoboa/admin/static/admin/css/admin.css
@@ -10,6 +10,7 @@ span.title {
width: 180px;
}
+table th#quotabar,
table th#actions {
text-align: right;
}
diff --git a/modoboa/admin/templates/admin/quotas.html b/modoboa/admin/templates/admin/quotas.html
index 77f8170b2..26c7d50b2 100644
--- a/modoboa/admin/templates/admin/quotas.html
+++ b/modoboa/admin/templates/admin/quotas.html
@@ -2,18 +2,22 @@
- | {% trans "Address" %} | {% trans "Current quota" %} | {% trans "Actions" %} |
+ {% trans "Address" %} |
+ {% trans "Value" %} |
+ {% trans "Limit" %} |
+ {% trans "%" %} |
{% for mbox in mboxes %}
| {{ mbox.full_address }} |
+ {{ mbox.get_quota }}M |
+ {{ mbox.quota }}M |
- |
- |
{% endfor %}
diff --git a/modoboa/admin/views.py b/modoboa/admin/views.py
index 407088eac..a648350d7 100644
--- a/modoboa/admin/views.py
+++ b/modoboa/admin/views.py
@@ -345,8 +345,16 @@ def mboxes_list(request):
@permission_required("admin.add_mailbox")
def list_quotas(request, tplname="admin/quotas.html"):
mboxes = request.user.get_mailboxes()
+ paginator = Paginator(mboxes, int(parameters.get_admin("ITEMS_PER_PAGE")))
+ pagenum = int(request.GET.get("page", "1"))
+ try:
+ page = paginator.page(pagenum)
+ except (EmptyPage, PageNotAnInteger):
+ page = paginator.page(paginator.num_pages)
return ajax_simple_response({
"status": "ok",
+ "page": page.number,
+ "paginbar": pagination_bar(page),
"table": _render_to_string(request, tplname, {
"mboxes": mboxes
})
diff --git a/modoboa/userprefs/__init__.py b/modoboa/userprefs/__init__.py
index 237f467d8..d542429da 100644
--- a/modoboa/userprefs/__init__.py
+++ b/modoboa/userprefs/__init__.py
@@ -1,7 +1,7 @@
# coding: utf-8
from django.utils.translation import ugettext_lazy
from modoboa.extensions import ModoExtension, exts_pool
-
+from modoboa.lib import parameters
class UserPreferences(ModoExtension):
name = "userprefs"
@@ -11,7 +11,6 @@ class UserPreferences(ModoExtension):
always_active = True
def load(self):
- from modoboa.lib import parameters
from app_settings import UserSettings
parameters.register(UserSettings, ugettext_lazy("General"))