fix submittion null score

This commit is contained in:
2026-10-23 23:35:38 +02:00
parent f75a1b0338
commit f42649b888
4 changed files with 52 additions and 14 deletions
+8 -4
View File
@@ -122,13 +122,17 @@ def create_submission(
for response_data in data.responses for response_data in data.responses
) )
# Non-admin submissions always go through manual validation
needs_validation = (
data.manual_validation_requested or not request.user.is_staff
)
# Create the submission # Create the submission
submission = Submission.objects.create( submission = Submission.objects.create(
event=request.event, event=request.event,
user=request.user if request.user.is_authenticated else None, user=request.user if request.user.is_authenticated else None,
notes=data.notes, notes=data.notes,
manual_validation_requested=data.manual_validation_requested manual_validation_requested=needs_validation or auto_request_validation,
or auto_request_validation,
) )
file_index = 0 file_index = 0
@@ -148,7 +152,7 @@ def create_submission(
cost=response_data.cost, cost=response_data.cost,
cycles=response_data.cycles, cycles=response_data.cycles,
area=response_data.area, area=response_data.area,
needs_manual_validation=data.manual_validation_requested, needs_manual_validation=needs_validation,
ocr_confidence_cost=response_data.ocr_confidence_cost, ocr_confidence_cost=response_data.ocr_confidence_cost,
ocr_confidence_cycles=response_data.ocr_confidence_cycles, ocr_confidence_cycles=response_data.ocr_confidence_cycles,
ocr_confidence_area=response_data.ocr_confidence_area, ocr_confidence_area=response_data.ocr_confidence_area,
@@ -158,7 +162,7 @@ def create_submission(
"validated_cycles": response_data.cycles, "validated_cycles": response_data.cycles,
"validated_area": response_data.area, "validated_area": response_data.area,
} }
if not data.manual_validation_requested if not needs_validation
else {}, else {},
) )
@@ -0,0 +1,34 @@
# Generated by Django 6.0.5 on 2026-10-23 21:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("opus_magnum", "0019_reset_sequences"),
]
operations = [
migrations.AlterField(
model_name="puzzleresponse",
name="area",
field=models.IntegerField(
blank=True, help_text="Area value from OCR", null=True
),
),
migrations.AlterField(
model_name="puzzleresponse",
name="cost",
field=models.IntegerField(
blank=True, help_text="Cost value from OCR", null=True
),
),
migrations.AlterField(
model_name="puzzleresponse",
name="cycles",
field=models.IntegerField(
blank=True, help_text="Cycles value from OCR", null=True
),
),
]
+3 -3
View File
@@ -400,9 +400,9 @@ class PuzzleResponse(models.Model):
puzzle_name = models.CharField( puzzle_name = models.CharField(
max_length=255, help_text="Puzzle name as detected by OCR" max_length=255, help_text="Puzzle name as detected by OCR"
) )
cost = models.IntegerField(blank=True, help_text="Cost value from OCR") cost = models.IntegerField(null=True, blank=True, help_text="Cost value from OCR")
cycles = models.IntegerField(blank=True, help_text="Cycles value from OCR") cycles = models.IntegerField(null=True, blank=True, help_text="Cycles value from OCR")
area = models.IntegerField(blank=True, help_text="Area value from OCR") area = models.IntegerField(null=True, blank=True, help_text="Area value from OCR")
# Validation flags # Validation flags
needs_manual_validation = models.BooleanField( needs_manual_validation = models.BooleanField(
@@ -398,10 +398,10 @@ SENTRY_DSN = (
import sentry_sdk # noqa import sentry_sdk # noqa
# sentry_sdk.init( sentry_sdk.init(
# dsn=SENTRY_DSN, dsn=SENTRY_DSN,
# # Set traces_sample_rate to 1.0 to capture 100% # Set traces_sample_rate to 1.0 to capture 100%
# # of transactions for tracing. # of transactions for tracing.
# traces_sample_rate=1.0, traces_sample_rate=0.1,
# environment=SENTRY_ENVIRONMENT, environment=SENTRY_ENVIRONMENT,
# ) )