Merge pull request #16 from benaissazaki/add-user-count-statistics

Add user count statistics
This commit is contained in:
Adil Mohak 2024-01-09 22:16:46 +03:00 committed by GitHub
commit 79fe335693
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 4 deletions

View File

@ -81,6 +81,18 @@ class User(AbstractUser):
full_name = self.first_name + " " + self.last_name full_name = self.first_name + " " + self.last_name
return full_name return full_name
@classmethod
def get_student_count(cls):
return cls.objects.filter(is_student=True).count()
@classmethod
def get_lecturer_count(cls):
return cls.objects.filter(is_lecturer=True).count()
@classmethod
def get_superuser_count(cls):
return cls.objects.filter(is_superuser=True).count()
def __str__(self): def __str__(self):
return "{} ({})".format(self.username, self.get_full_name) return "{} ({})".format(self.username, self.get_full_name)

View File

@ -4,6 +4,7 @@ from django.contrib.auth.decorators import login_required
from django.conf import settings from django.conf import settings
from accounts.decorators import admin_required, lecturer_required from accounts.decorators import admin_required, lecturer_required
from accounts.models import User
from .forms import SessionForm, SemesterForm, NewsAndEventsForm from .forms import SessionForm, SemesterForm, NewsAndEventsForm
from .models import * from .models import *
@ -297,4 +298,9 @@ def semester_delete_view(request, pk):
@login_required @login_required
@admin_required @admin_required
def dashboard_view(request): def dashboard_view(request):
return render(request, "core/dashboard.html") context = {
"student_count": User.get_student_count(),
"lecturer_count": User.get_lecturer_count(),
"superuser_count": User.get_superuser_count(),
}
return render(request, "core/dashboard.html", context)

View File

@ -174,7 +174,7 @@
<h3><i class="fas fa-users bg-light-aqua"></i></h3> <h3><i class="fas fa-users bg-light-aqua"></i></h3>
<div class="text-right"> <div class="text-right">
Students Students
<h2>12,040</h2> <h2>{{ student_count }}</h2>
</div> </div>
</div> </div>
</div> </div>
@ -183,7 +183,7 @@
<h3><i class="fas fa-users bg-light-orange"></i></h3> <h3><i class="fas fa-users bg-light-orange"></i></h3>
<div class="text-right"> <div class="text-right">
Lecturers Lecturers
<h2>1,350</h2> <h2>{{ lecturer_count }}</h2>
</div> </div>
</div> </div>
</div> </div>
@ -201,7 +201,7 @@
<h3><i class="fas fa-users bg-light-red"></i></h3> <h3><i class="fas fa-users bg-light-red"></i></h3>
<div class="text-right"> <div class="text-right">
Administrators Administrators
<h2>125</h2> <h2>{{ superuser_count }}</h2>
</div> </div>
</div> </div>
</div> </div>