auto-reload for admin + auto validation for all using python

This commit is contained in:
2025-10-31 02:41:44 +01:00
parent e0ada1e26d
commit 596731a8a7
6 changed files with 110 additions and 8 deletions
+17
View File
@@ -7,6 +7,8 @@ from django.utils import timezone
from django.shortcuts import get_object_or_404
from typing import List
from opus_submitter.submissions.utils import verify_and_validate_ocr_date_for_submission
from .models import Submission, PuzzleResponse, SubmissionFile, SteamCollectionItem
from .schemas import (
SubmissionIn,
@@ -196,6 +198,21 @@ def validate_response(request, response_id: int, data: ValidationIn):
return response
@router.put("/responses/{response_id}/validate/auto", response=PuzzleResponseOut)
def validate_response(request, response_id: int):
"""Try to auto validate a puzzle response"""
if not request.user.is_authenticated or not request.user.is_staff:
return 403, {"detail": "Admin access required"}
response = get_object_or_404(PuzzleResponse, id=response_id)
for file in response.files.all():
verify_and_validate_ocr_date_for_submission(file)
return response
@router.get("/responses/needs-validation", response=List[PuzzleResponseOut])
def list_responses_needing_validation(request):
"""Get all responses that need manual validation"""