diff --git a/src/js/client.js b/src/js/client.js index b0a678730..a4a8c1a84 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1990,6 +1990,20 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; + Client.prototype.getMailUsage = function (domain, callback) { + var config = { + params: { + domain: domain + } + }; + + get('/api/v1/mailserver/usage', config, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + callback(null, data.usage); + }); + }; + Client.prototype.getMailConfigForDomain = function (domain, callback) { get('/api/v1/mail/' + domain, null, function (error, data, status) { if (error) return callback(error); diff --git a/src/views/email.html b/src/views/email.html index 8b0ba15af..8cd23adea 100644 --- a/src/views/email.html +++ b/src/views/email.html @@ -304,6 +304,7 @@ Name Owner Aliases + Usage Action @@ -318,6 +319,9 @@ {{ mailbox.aliases }} + + {{ mailbox.usage | prettyDiskSize }} + diff --git a/src/views/email.js b/src/views/email.js index e4bbd4e5e..5bd3acad5 100644 --- a/src/views/email.js +++ b/src/views/email.js @@ -391,7 +391,13 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio return m; }); - callback(); + Client.getMailUsage($scope.domain.domain, function (error, usage) { + if (error) return callback(error); + + $scope.mailboxes.mailboxes.forEach(function (m) { m.usage = usage[m.name].size || 0; }); + + callback(); + }); }); }); }