aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/admin
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/admin')
-rw-r--r--mediagoblin/admin/routing.py8
-rw-r--r--mediagoblin/admin/views.py39
2 files changed, 45 insertions, 2 deletions
diff --git a/mediagoblin/admin/routing.py b/mediagoblin/admin/routing.py
index 29515f12..d5edac0f 100644
--- a/mediagoblin/admin/routing.py
+++ b/mediagoblin/admin/routing.py
@@ -17,4 +17,10 @@
admin_routes = [
('mediagoblin.admin.panel',
'/panel',
- 'mediagoblin.admin.views:admin_processing_panel')]
+ 'mediagoblin.admin.views:admin_processing_panel'),
+ ('mediagoblin.admin.users',
+ '/users',
+ 'mediagoblin.admin.views:admin_users_panel'),
+ ('mediagoblin.admin.reports',
+ '/reports',
+ 'mediagoblin.admin.views:admin_reports_panel')]
diff --git a/mediagoblin/admin/views.py b/mediagoblin/admin/views.py
index 22ca74a3..faa8603a 100644
--- a/mediagoblin/admin/views.py
+++ b/mediagoblin/admin/views.py
@@ -16,7 +16,7 @@
from werkzeug.exceptions import Forbidden
-from mediagoblin.db.models import MediaEntry
+from mediagoblin.db.models import MediaEntry, User, MediaComment, CommentReport, ReportBase
from mediagoblin.decorators import require_active_login
from mediagoblin.tools.response import render_to_response
@@ -46,3 +46,40 @@ def admin_processing_panel(request):
{'processing_entries': processing_entries,
'failed_entries': failed_entries,
'processed_entries': processed_entries})
+
+@require_active_login
+def admin_users_panel(request):
+ '''
+ Show the global processing panel for this instance
+ '''
+ # TODO: Why not a "require_admin_login" decorator throwing a 403 exception?
+ if not request.user.is_admin:
+ raise Forbidden()
+
+ user_list = User.query
+
+ # Render to response
+ return render_to_response(
+ request,
+ 'mediagoblin/admin/user.html',
+ {'user_list': user_list})
+
+@require_active_login
+def admin_reports_panel(request):
+ '''
+ Show the global processing panel for this instance
+ '''
+ # TODO: Why not a "require_admin_login" decorator throwing a 403 exception?
+ if not request.user.is_admin:
+ raise Forbidden()
+
+ report_list = ReportBase.query.filter(ReportBase.resolved==None).order_by(ReportBase.created.desc()).limit(10)
+ closed_report_list = ReportBase.query.filter(ReportBase.resolved!=None).order_by(ReportBase.created.desc()).limit(10)
+
+ # Render to response
+ return render_to_response(
+ request,
+ 'mediagoblin/admin/report.html',
+ {'report_list':report_list,
+ 'closed_report_list':closed_report_list})
+