Skip to content
Snippets Groups Projects

Dashboard was broken if user was connected to a DummyPerson. Closes #771

Merged Tom Teichler requested to merge fix-dashboard into master
+ 17
9
@@ -96,7 +96,6 @@ from .models import (
DashboardWidget,
DashboardWidgetOrder,
DataCheckResult,
DummyPerson,
Group,
GroupType,
OAuthApplication,
@@ -213,16 +212,23 @@ def index(request: HttpRequest) -> HttpResponse:
if has_person(request.user):
person = request.user.person
widgets = person.dashboard_widgets
activities = person.activities.all().order_by("-created")[:5]
notifications = person.notifications.filter(send_at__lte=timezone.now()).order_by(
"-created"
)[:5]
unread_notifications = person.notifications.filter(
send_at__lte=timezone.now(), read=False
).order_by("-created")
announcements = Announcement.objects.at_time().for_person(person)
activities = person.activities.all().order_by("-created")[:5]
else:
person = DummyPerson()
person = None
activities = []
notifications = []
unread_notifications = []
widgets = []
activities = person.activities.all().order_by("-created")[:5]
context["activities"] = activities
announcements = Announcement.objects.at_time().for_person(person)
context["announcements"] = announcements
announcements = []
if len(widgets) == 0:
# Use default dashboard if there are no widgets
@@ -235,6 +241,8 @@ def index(request: HttpRequest) -> HttpResponse:
context["widgets"] = widgets
context["media"] = media
context["show_edit_dashboard_button"] = show_edit_dashboard_button
context["activities"] = activities
context["announcements"] = announcements
return render(request, "core/index.html", context)
Loading