diff --git a/aleksis/core/views.py b/aleksis/core/views.py index 886ae4e3bd74f60b898ffefd90a61e1a023acf71..8c03ebbdacf5bd0e2049d212705a23767495db7e 100644 --- a/aleksis/core/views.py +++ b/aleksis/core/views.py @@ -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)