From 52b9dbf48b8f9c7ea691937305f35510a4d68293 Mon Sep 17 00:00:00 2001
From: Kálmán Viktor <kviktor@cloud.bme.hu>
Date: Thu, 24 Jul 2014 12:16:25 +0200
Subject: [PATCH] dashboard: add progress bar for quota

---
 circle/dashboard/static/dashboard/dashboard.css      | 18 ++++++++++++++++++
 circle/dashboard/templates/dashboard/store/list.html | 20 ++++++++++++++++++++
 circle/dashboard/views.py                            |  4 +++-
 3 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/circle/dashboard/static/dashboard/dashboard.css b/circle/dashboard/static/dashboard/dashboard.css
index e115ac1..e5786ec 100644
--- a/circle/dashboard/static/dashboard/dashboard.css
+++ b/circle/dashboard/static/dashboard/dashboard.css
@@ -831,3 +831,21 @@ textarea[name="list-new-namelist"] {
 .store-action-button {
   margin-left: 5px;
 }
+
+.progress-bar {
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+
+#progress-marker-hard {
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 4px;
+  right: 0;
+  background: red;
+}
+
+.progress-marker {
+  width: 6px;
+  height: 20px;
+  position: absolute;
+}
diff --git a/circle/dashboard/templates/dashboard/store/list.html b/circle/dashboard/templates/dashboard/store/list.html
index b8bef83..a52402b 100644
--- a/circle/dashboard/templates/dashboard/store/list.html
+++ b/circle/dashboard/templates/dashboard/store/list.html
@@ -12,6 +12,26 @@
   </div>
 </div>
 
+<div class="progress" style="position: relative; overflow: visible;">
+  <div class="progress-bar" role="progressbar" aria-valuenow="{{ quota.Used }}" aria-valuemin="0"
+    aria-valuemax="{{ quota.Hard }}" style="width:
+    {% if quota.Used > quota.Hard %}100{% else %}{% widthratio quota.Used quota.Hard 100 %}%{% endif %}%">
+    <div style="padding-top: 2px;">
+      {% blocktrans with used=quota.readable_used %}
+        {{ used }} used
+      {% endblocktrans %}
+    </div>
+  </div>
+    <div class="progress-marker" id="progress-marker-hard" data-placement="left"
+      title="{% trans "Hard limit" %}: {{ quota.readable_hard }}">
+    </div>
+    <div class="progress-marker" id="progress-marker-soft" style="background: orange; 
+      left: {% widthratio quota.Soft quota.Hard 100 %}%"
+      title="{% trans "Soft limit" %}: {{ quota.readable_soft }}"
+      data-placement="left">
+    </div>
+</div>
+
 {% endblock %}
 
 {% block extra_js %}
diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py
index 21ceaa0..9933584 100644
--- a/circle/dashboard/views.py
+++ b/circle/dashboard/views.py
@@ -3100,7 +3100,9 @@ class StoreList(LoginRequiredMixin, TemplateView):
         directory = self.request.GET.get("directory", "/")
         directory = "/" if not len(directory) else directory
 
-        context['root'] = Store(self.request.user).list(directory)
+        store = Store(self.request.user)
+        context['root'] = store.list(directory)
+        context['quota'] = store.get_quota()
         context['up_url'] = self.create_up_directory(directory)
         context['current'] = directory
         context['next_url'] = "%s%s?directory=%s" % (
--
libgit2 0.26.0