diff --git a/orchestra/contrib/musician/models.py b/orchestra/contrib/musician/models.py index 8aa4e771..1a80e261 100644 --- a/orchestra/contrib/musician/models.py +++ b/orchestra/contrib/musician/models.py @@ -8,7 +8,6 @@ from django.utils.translation import gettext_lazy as _ from . import settings as musician_settings from .utils import get_bootstraped_percent - logger = logging.getLogger(__name__) @@ -176,7 +175,7 @@ class DatabaseService(OrchestraModel): break details = { - 'usage': float(resource_disk['used']), + 'used': float(resource_disk['used']), 'total': resource_disk['allocated'], 'unit': resource_disk['unit'], } @@ -185,7 +184,7 @@ class DatabaseService(OrchestraModel): percent = get_bootstraped_percent( - details['usage'], + details['used'], details['total'] ) details['percent'] = percent @@ -291,7 +290,7 @@ class Address(OrchestraModel): break mailbox_details = { - 'usage': float(resource_disk['used']), + 'used': float(resource_disk['used']), 'total': resource_disk['allocated'], 'unit': resource_disk['unit'], } diff --git a/orchestra/contrib/musician/templates/musician/components/usage_progress_bar.html b/orchestra/contrib/musician/templates/musician/components/usage_progress_bar.html index b35e84c4..0461f04b 100644 --- a/orchestra/contrib/musician/templates/musician/components/usage_progress_bar.html +++ b/orchestra/contrib/musician/templates/musician/components/usage_progress_bar.html @@ -1,22 +1,22 @@ {% comment %} -Resource usage rendered as bootstrap progress bar +Resource used rendered as bootstrap progress bar Expected parameter: detail Expected structure: dictionary or object with attributes: - - usage (int): 125 + - used (int): 125 - total (int): 200 - unit (string): 'MB' - percent (int: [0, 25, 50, 75, 100]: 75 {% endcomment %}
- {% if detail %} - {{ detail.usage }} {{ detail.unit }} + {% if detail and detail.used %} + {{ detail.used|floatformat }} {{ detail.unit }} {% else %} N/A {% endif %}
-
diff --git a/orchestra/contrib/musician/views.py b/orchestra/contrib/musician/views.py index 549a796e..1a5667ab 100644 --- a/orchestra/contrib/musician/views.py +++ b/orchestra/contrib/musician/views.py @@ -99,7 +99,7 @@ class DashboardView(CustomContextMixin, UserTokenRequiredMixin, TemplateView): return { 'verbose_name': _('Mailbox usage'), 'data': { - 'usage': total_mailboxes, + 'used': total_mailboxes, 'total': allowed_mailboxes, 'alert': alert, 'unit': 'mailboxes', @@ -424,6 +424,21 @@ class DatabasesView(ServiceListView): 'title': _('Databases'), } + def get_queryset(self): + qs = super().get_queryset() + # TODO(@slamora): optimize query + from django.contrib.contenttypes.models import ContentType + + from orchestra.contrib.resources.models import Resource, ResourceData + ctype = ContentType.objects.get_for_model(self.model) + disk_resource = Resource.objects.get(name='disk', content_type=ctype) + for db in qs: + try: + db.usage = db.resource_set.get(resource=disk_resource) + except ResourceData.DoesNotExist: + db.usage = ResourceData(resource=disk_resource) + return qs + class SaasListView(ServiceListView): service_class = SaasService