Add Shorts exam type to USER_EXAM_TYPES and update index.html for course/exam navigation

This commit is contained in:
Ross
2025-09-08 09:39:35 +01:00
parent 149b95a7e4
commit 963221633a
3 changed files with 17 additions and 36 deletions
+11 -10
View File
@@ -58,6 +58,17 @@ import requests
from django.core.files.base import ContentFile
USER_EXAM_TYPES = (
("Physics", "user_physics_exams"),
("Rapids", "user_rapid_exams"),
("Shorts", "user_shorts_exams"),
("SBAs", "user_sba_exams"),
("Anatomy", "user_anatomy_exams"),
("Longs", "user_longs_exams"),
# ("CaseCollection", "user_casecollection_exams"),
)
def get_pretty_json(data):
"""Function to display pretty version of our data"""
if not data:
@@ -1695,16 +1706,6 @@ class UserGrades(models.Model):
return self.name
USER_EXAM_TYPES = (
("Physics", "user_physics_exams"),
("Rapids", "user_rapid_exams"),
("SBAs", "user_sba_exams"),
("Anatomy", "user_anatomy_exams"),
("Longs", "user_longs_exams"),
# ("CaseCollection", "user_casecollection_exams"),
)
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
supervisor = models.ForeignKey(
+3 -25
View File
@@ -80,6 +80,7 @@ from generic.models import (
Supervisor,
UserGrades,
UserProfile,
USER_EXAM_TYPES
)
from django_filters.views import FilterView
@@ -97,6 +98,8 @@ from loguru import logger
import psutil
def feedback_checker(user):
return user.groups.filter(name="feedback_checker").exists()
@@ -191,15 +194,6 @@ def user_scores_admin(request, user_id):
@login_required
def user_scores(request, user=None):
# exam = get_object_or_404(Exam, pk=pk)
# cid = pk
# cid_user = CidUser.objects.filter(cid=cid).first()
# print(cid_user)
# if not cid_user or cid_user.passcode != passcode:
# raise Http404("CID / Passcode combination not found")
# print(cid_user.passcode)
admin = True
if user is None:
user = request.user
@@ -209,14 +203,6 @@ def user_scores(request, user=None):
# case_collections = request.user.casecollection_exams.all()
USER_EXAM_TYPES = (
("Physics", "user_physics_exams"),
("Rapids", "user_rapid_exams"),
("SBAs", "user_sba_exams"),
("Anatomy", "user_anatomy_exams"),
("Longs", "user_longs_exams"),
# ("CaseCollection", "user_casecollection_exams"),
)
available_exams = []
for n, t in USER_EXAM_TYPES:
@@ -250,10 +236,8 @@ def cid_scores(request, cid, passcode):
# exam = get_object_or_404(Exam, pk=pk)
cid_user = CidUser.objects.filter(cid=cid).first()
print(cid_user)
if not cid_user or cid_user.passcode != passcode:
raise Http404("CID / Passcode combination not found")
print(cid_user.passcode)
EXAM_ANSWER_MAP = {
"physics": (PhysicsUserAnswer, PhysicsExam),
@@ -339,9 +323,7 @@ def active_exams_unbased(request, cid=None, passcode=None):
@csrf_exempt
def exam_submit(request):
print(request)
if request.method == "POST":
print(request.POST)
exam_type, exam_id = request.POST.get("eid").split("/")
try:
@@ -863,7 +845,6 @@ def accounts_bulk_create(request):
context = {}
users = json.loads(request.POST.get("usersjson"))
print(users)
created_users = []
existing_users = []
@@ -871,7 +852,6 @@ def accounts_bulk_create(request):
try:
users = json.loads(request.POST.get("usersjson"))
print(users)
for user in users:
try:
@@ -913,7 +893,6 @@ def accounts_bulk_create(request):
# Try to create the user
try:
print(user)
user_dict = {
"username": user["email"],
"first_name": user["first_name"],
@@ -999,7 +978,6 @@ def request_cid_details(request):
def cimar_study_dicom_json(request, uuid="c9417b53-87aa-4c40-aca0-3fa34c225536"):
with CimarAPI(request.user.userprofile.cimar_sid) as api:
print(api.sid)
# studies = api.list_studies()
# test_study = studies["studies"][0]
+3 -1
View File
@@ -34,8 +34,10 @@
<a href='{% url "generic:supervisor_overview" request.user.supervisor.pk %}'>Supervisor overview</a>
{% endif %}
<h3>Exams / Courses</h3>
<p>
<a href="{% url 'user_scores'%}"><button>Exams</button></a>
View your courses / exams <a href="{% url 'user_scores'%}">here</a>
</p>
{% endif %}