From 84995909ebcc813400d37f04c0187c1eaa177366 Mon Sep 17 00:00:00 2001
From: Lukas Schauer <lukas@schauer.so>
Date: Thu, 30 Apr 2020 00:52:58 +0200
Subject: [PATCH] admin: show all jitsi rooms

---
 jitsimod/templates/jitsi/rooms.html | 20 +++++++++++++++++++-
 jitsimod/views.py                   | 11 +++++++++--
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/jitsimod/templates/jitsi/rooms.html b/jitsimod/templates/jitsi/rooms.html
index b7e0ee7..aaa9d64 100755
--- a/jitsimod/templates/jitsi/rooms.html
+++ b/jitsimod/templates/jitsi/rooms.html
@@ -4,7 +4,7 @@
 
 <h2>Jitsi Rooms</h2>
 
-{% if request.user.jitsi_moderating.exists %}
+{% if rooms %}
 <div class="w3-card-4">
 	<div class="w3-container w3-hochschulblau">
 		<h2>Your Rooms</h2>
@@ -40,6 +40,24 @@
 <!-- no whitelisted patterns -->
 {% endif %}
 
+{% if request.user.is_staff %}
+<div class="w3-card-4">
+	<div class="w3-container w3-red">
+		<h2>Admin Rooms</h2>
+	</div>
+	<ul class="w3-ul w3-border">
+		{% for room in admin_rooms %}
+		{% if room not in rooms %}
+		<li><a href="/jitsi/{{ room.id }}">{{ room.name }}</a> ({% if not room.approved %}pending approval, {% endif%}moderators: {% for user in room.moderators.all %}{{ user.username }}{% if not forloop.last %}, {% endif %}{% endfor %})</li>
+		{% endif %}
+		{% endfor %}
+	</ul>
+</div>
+<br/>
+
+{% endif %}
+
+
 <a href="/jitsi/add" class="w3-button w3-hochschulblau">Request Room</a>
 </p>
 
diff --git a/jitsimod/views.py b/jitsimod/views.py
index db22560..2b42c94 100644
--- a/jitsimod/views.py
+++ b/jitsimod/views.py
@@ -3,14 +3,21 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.auth import get_user_model
 from django.core.mail import EmailMessage
 from .forms import RoomForm
-from .models import Room
+from .models import Room, Pattern
 import re
 from .modapi import modapi_get_room, modapi_reset_password, modapi_grant_moderator, modapi_revoke_moderator
 from videos.models import Course
 
 @login_required
 def rooms(request):
-    return render(request, "jitsi/rooms.html", context={'rooms': request.user.jitsi_moderating.all().order_by("name"), 'patterns': request.user.jitsi_whitelisted.all().order_by("pattern")})
+    context = {}
+    context['rooms'] = request.user.jitsi_moderating.all().order_by("name")
+    context['patterns'] = request.user.jitsi_whitelisted.all().order_by("pattern")
+    if request.user.is_staff:
+        context['admin_rooms'] = Room.objects.all()
+        context['admin_patterns'] = Pattern.objects.all()
+
+    return render(request, "jitsi/rooms.html", context=context)
 
 @login_required
 def newroom(request):
-- 
GitLab