Add dashboard tabs for sorting tasks by status
This commit is contained in:
+12
-5
@@ -40,16 +40,23 @@ def dashboard(request):
|
||||
is_published=True
|
||||
).distinct().order_by('-created_at')
|
||||
|
||||
# Check which ones the student has submitted
|
||||
submissions = Submission.objects.filter(student=request.user)
|
||||
submitted_assignment_ids = submissions.values_list('assignment_id', flat=True)
|
||||
submissions_dict = {sub.assignment_id: sub for sub in submissions}
|
||||
|
||||
total_count = assignments.count()
|
||||
waiting_solution_count = sum(1 for a in assignments if a.id not in submissions_dict or submissions_dict[a.id].status == 'IN_PROGRESS')
|
||||
pending_count = sum(1 for a in assignments if a.id in submissions_dict and submissions_dict[a.id].status == 'PENDING')
|
||||
graded_count = sum(1 for a in assignments if a.id in submissions_dict and submissions_dict[a.id].status == 'GRADED')
|
||||
|
||||
from django.utils import timezone
|
||||
return render(request, 'lms/dashboard.html', {
|
||||
'assignments': assignments,
|
||||
'submitted_assignment_ids': submitted_assignment_ids,
|
||||
'submissions': {sub.assignment_id: sub for sub in submissions},
|
||||
'now': timezone.now()
|
||||
'submissions': submissions_dict,
|
||||
'now': timezone.now(),
|
||||
'total_count': total_count,
|
||||
'waiting_solution_count': waiting_solution_count,
|
||||
'pending_count': pending_count,
|
||||
'graded_count': graded_count,
|
||||
})
|
||||
|
||||
@login_required
|
||||
|
||||
Reference in New Issue
Block a user