Enhance Supervisor Dashboard and Trainee Feedback Features

- Redesigned the supervisor overview page to include a header card with supervisor details and trainee statistics.
- Implemented a tabbed interface for viewing trainees and their recent attempts.
- Improved the trainee detail page with a profile card and a table for displaying attempt history.
- Added a new view for supervisors to provide feedback on case collections, including outstanding feedback items and previous conversations.
- Updated URL routing to support new feedback functionality.
- Enhanced backend logic to ensure proper sharing permissions for exam attempts and case collections.
- Added comprehensive tests for supervisor access to trainee data and feedback functionalities.
This commit is contained in:
Ross
2026-06-15 12:28:00 +01:00
parent c52cf46d65
commit a573ed78a4
16 changed files with 1150 additions and 100 deletions
+5 -1
View File
@@ -11,6 +11,9 @@ import datetime
class TestExamCollections:
def test_list_url(self, db, client):
from django.contrib.auth.models import User
user = User.objects.create_user(username="test_list_user", password="password")
client.force_login(user)
# Test with no content
response = client.get(reverse("generic:examcollection_list"))
assert response.status_code == 200
@@ -22,11 +25,12 @@ class TestExamCollections:
assert response.status_code == 404
collection = ExamCollection.objects.create(name="test collection", date=datetime.date.today())
collection.author.add(user)
response = client.get(reverse("generic:examcollection_list"))
assert response.status_code == 200
soup = BeautifulSoup(response.content, "html.parser")
assert collection.name in soup.find("li", class_="collection").text
assert collection.name in soup.find("a", class_="stretched-link").text
response = client.get(reverse("generic:examcollection_detail", args=( collection.pk, )))