Skip to content
3 changes: 3 additions & 0 deletions src/apps/api/views/submissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,9 @@ def get_renderer_context(self):
'created_when': 'Created When',
'status': 'Status',
'phase_name': 'Phase',
'task.name': 'Task',
'scores.0.score': 'Score',
'on_leaderboard': 'On Leaderboard'
}
context["header"] = [k for k in context["labels"].keys()]
return context
Expand Down
53 changes: 51 additions & 2 deletions src/apps/competitions/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,58 @@ def SubmissionsExport_as_csv(modeladmin, request, queryset):
headers={"Content-Disposition": 'attachment; filename="submissions.csv"'},
)
writer = csv.writer(response)
writer.writerow(["ID", "Owner", "Status", "Task", "Phase", "Queue"])
writer.writerow(
[
"ID",
"Owner",
"Status",
"Submitted on",
"Task",
"Phase",
"Competition Title",
"Competition creation date",
"Queue",
"Scores",
"On Leaderboard",
]
)
for obj in queryset:
writer.writerow([obj.id, obj.owner, obj.status, obj.task, obj.phase, obj.queue])
scores_list = []
for scores in obj.scores.all():
scores_list.append(scores.score)
if obj.task is not None:
if len(scores_list) == 0:
writer.writerow(
[
obj.id,
obj.owner,
obj.status,
obj.created_when,
obj.task,
obj.phase,
obj.phase.competition.title,
obj.phase.competition.created_when,
obj.queue,
"None",
obj.appear_on_leaderboards,
]
)
else:
writer.writerow(
[
obj.id,
obj.owner,
obj.status,
obj.created_when,
obj.task,
obj.phase,
obj.phase.competition.title,
obj.phase.competition.created_when,
obj.queue,
scores_list[0],
obj.appear_on_leaderboards,
]
)
return response


Expand Down