diff --git a/src/openclaw/admin_new_views.py b/src/openclaw/admin_new_views.py index aaa1825..1f38a3e 100644 --- a/src/openclaw/admin_new_views.py +++ b/src/openclaw/admin_new_views.py @@ -35,7 +35,6 @@ def daily_report_list_view(request): .order_by("agent_name") ) - # Query messages within range, select_related session for efficiency messages_qs = Message.objects.filter( timestamp__date__gte=start_date, timestamp__date__lte=end_date, @@ -44,7 +43,6 @@ def daily_report_list_view(request): if agent_filter: messages_qs = messages_qs.filter(session__agent_name=agent_filter) - # Group by (agent_name, date) in Python — simple and reliable groups = defaultdict(lambda: {"message_count": 0, "session_ids": set()}) for msg in messages_qs: d = msg.timestamp.date() @@ -52,7 +50,6 @@ def daily_report_list_view(request): groups[key]["message_count"] += 1 groups[key]["session_ids"].add(msg.session.session_id) - # Build sorted list (newest first, then by agent) groups_list = sorted( [ { @@ -66,8 +63,10 @@ def daily_report_list_view(request): key=lambda x: (-x["date_val"].toordinal(), x["agent_name"]), ) + # Use request.admin_site (set by AdminSite.admin_view wrapper) + admin_site = getattr(request, "admin_site", admin.site) context = { - **admin.site.each_context(request), + **admin_site.each_context(request), "start_date": start_date, "end_date": end_date, "selected_agent": agent_filter, @@ -112,8 +111,9 @@ def daily_report_detail_view(request, agent_name, year, month, day): "system": "System", } + admin_site = getattr(request, "admin_site", admin.site) context = { - **admin.site.each_context(request), + **admin_site.each_context(request), "agent_name": agent_name, "target_date": target_date, "sessions": sessions_with_messages,