Browse Source

Display DB size on admin index

Rafał Pitoń 10 years ago
parent
commit
c268123378
2 changed files with 56 additions and 4 deletions
  1. 14 2
      misago/admin/views/index.py
  2. 42 2
      misago/templates/misago/admin/index.html

+ 14 - 2
misago/admin/views/index.py

@@ -1,6 +1,18 @@
+from misago.threads.models import Thread, Post
+from misago.users.models import User, ACTIVATION_REQUIRED_NONE
+
 from misago.admin.views import render
 
 
 def admin_index(request):
-    namespace = request.resolver_match.namespace
-    return render(request, 'misago/admin/index.html', {'namespace': namespace})
+    inactive_users = {'requires_activation__gt': ACTIVATION_REQUIRED_NONE}
+    db_stats = {
+        'threads': Thread.objects.count(),
+        'posts': Post.objects.count(),
+        'users': User.objects.count(),
+        'inactive_users': User.objects.filter(**inactive_users)
+    }
+
+    return render(request, 'misago/admin/index.html', {
+        'db_stats': db_stats,
+    })

+ 42 - 2
misago/templates/misago/admin/index.html

@@ -16,7 +16,47 @@
 </div>
 
 <div class="container">
-  <h3>Admin Placeholder View</h3>
-  <p class="lead">Requested namespace: <strong>{{ namespace }}</strong></p>
+  <div class="row">
+    <div class="col-md-8">
+    </div>
+    <div class="col-md-4">
+
+      <table class="table">
+        <thead>
+          <tr>
+            <th colspan="2">
+              <h4>
+                <span class="fa fa-database"></span>
+                {% trans "DB Contents" %}
+              </h4>
+            </th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>{% trans "Threads" %}</td>
+            <td>{{ db_stats.threads }}</td>
+          </tr>
+          <tr>
+            <td>{% trans "Posts" %}</td>
+            <td>{{ db_stats.posts }}</td>
+          </tr>
+          <tr>
+            <td>{% trans "Users" %}</td>
+            <td>{{ db_stats.users }}</td>
+          </tr>
+          {% if db_stats.inactive_users %}
+          <tr>
+            <td>{% trans "Inactive users" %}</td>
+            <td>
+              <a href="{% url "misago:admin:users:accounts:index" %}?inactive=1">{{ db_stats.inactive_users }}</a>
+            </td>
+          </tr>
+          {% endif %}
+        </tbody>
+      </table>
+
+    </div>
+  </div>
 </div>
 {% endblock content %}