diff --git a/generic/templates/generic/trainees.html b/generic/templates/generic/trainees.html index 714e5929..7f23e24f 100644 --- a/generic/templates/generic/trainees.html +++ b/generic/templates/generic/trainees.html @@ -5,6 +5,10 @@ {% endblock %} {% block content %} +All, + {% for i in "123456"|make_list %} + ST{{i}}{% if not forloop.last %}, {% endif %} + {% endfor %}

{% if grade %} @@ -12,14 +16,14 @@ {% endif %}Trainees

- + {% for trainee in trainees %} - + {% endfor %}
NameGradeEmailSupervisor
NameGradeEmailSupervisorEdit
{{trainee.user.first_name}} {{trainee.user.last_name}}{{trainee.grade}}{{trainee.user.email}}{{trainee.supervisor}}
{{trainee.user.first_name}} {{trainee.user.last_name}}{{trainee.grade}}{{trainee.user.email}}{{trainee.supervisor}}User/Profile
- +
Count: {{trainees|length}}
{% endblock %} diff --git a/generic/views.py b/generic/views.py index b18a48c7..05dfc9e5 100644 --- a/generic/views.py +++ b/generic/views.py @@ -7,7 +7,7 @@ from dal import autocomplete from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.forms.models import model_to_dict -from django.db.models.functions import Coalesce +from django.db.models.functions import Coalesce, Lower from django.shortcuts import render, get_object_or_404, redirect from django.contrib.auth.decorators import login_required, user_passes_test @@ -3034,7 +3034,7 @@ def exam_inactive(request, context): @user_is_cid_user_manager def trainees(request, grade: None|str=None): - trainees = UserProfile.objects.filter(peninsula_trainee=True).order_by(Coalesce("grade__name", "user__last_name").asc()) + trainees = UserProfile.objects.filter(peninsula_trainee=True, user__is_active=True).order_by("grade__name", Lower("user__last_name")) if grade is not None: trainees = trainees.filter(grade__name=grade)