From 9e09dad1b8861e61c30d8642332c8f7b2c944dde Mon Sep 17 00:00:00 2001 From: Zaki Benaissa Date: Fri, 12 Jan 2024 18:24:53 +0100 Subject: [PATCH] Display latest ActivityLogs in the dashboard --- core/views.py | 2 ++ course/models.py | 16 ++++------------ templates/core/dashboard.html | 15 ++++++--------- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/core/views.py b/core/views.py index ea40adf..e2da465 100644 --- a/core/views.py +++ b/core/views.py @@ -298,9 +298,11 @@ def semester_delete_view(request, pk): @login_required @admin_required def dashboard_view(request): + logs = ActivityLog.objects.all().order_by("-created_at")[:10] context = { "student_count": User.get_student_count(), "lecturer_count": User.get_lecturer_count(), "superuser_count": User.get_superuser_count(), + "logs": logs, } return render(request, "core/dashboard.html", context) diff --git a/course/models.py b/course/models.py index 8e9247b..d516dc9 100644 --- a/course/models.py +++ b/course/models.py @@ -67,16 +67,12 @@ class Program(models.Model): @receiver(post_save, sender=Program) def log_save(sender, instance, created, **kwargs): verb = "created" if created else "updated" - ActivityLog.objects.create( - message=f"The program '{instance.title}' has been {verb}." - ) + ActivityLog.objects.create(message=f"The program '{instance}' has been {verb}.") @receiver(post_delete, sender=Program) def log_delete(sender, instance, **kwargs): - ActivityLog.objects.create( - message=f"The program '{instance.title}' has been deleted." - ) + ActivityLog.objects.create(message=f"The program '{instance}' has been deleted.") class CourseManager(models.Manager): @@ -138,16 +134,12 @@ pre_save.connect(course_pre_save_receiver, sender=Course) @receiver(post_save, sender=Course) def log_save(sender, instance, created, **kwargs): verb = "created" if created else "updated" - ActivityLog.objects.create( - message=f"The course '{instance.title}' has been {verb}." - ) + ActivityLog.objects.create(message=f"The course '{instance}' has been {verb}.") @receiver(post_delete, sender=Course) def log_delete(sender, instance, **kwargs): - ActivityLog.objects.create( - message=f"The course '{instance.title}' has been deleted." - ) + ActivityLog.objects.create(message=f"The course '{instance}' has been deleted.") class CourseAllocation(models.Model): diff --git a/templates/core/dashboard.html b/templates/core/dashboard.html index da06ecb..bde9eef 100644 --- a/templates/core/dashboard.html +++ b/templates/core/dashboard.html @@ -275,16 +275,13 @@
-
Overall activities
+
Latest activities
    -
  • Created a survey of something
  • -
  • Added new admin user
  • -
  • Deleted 1 video from CSE course
  • -
  • New documentation attached for Arch
  • -
  • Lorem ipsum dolor sit amet consectetur adipisicing elit.
  • -
  • Veniam magnam reiciendis modi explicabo sed aliquid natus
  • -
  • molestias corrupti suscipit similique ex adipisci praesentium
  • -
  • sint dolore, quo quibusdam ea, neque cupiditate.
  • + {% for log in logs %} +
  • {{ log.message }} - {{ log.created_at }}
  • + {% empty %} + No recent activity + {% endfor %}