fix: use request.admin_site in daily report views to avoid circular import
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user