1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-07-03 00:42:51 +02:00

Duplicate solutions from regional tournament to final tournament after selection

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello
2024-04-07 12:54:16 +02:00
parent b4fc976197
commit 7073f64aa6
3 changed files with 8 additions and 2 deletions

View File

@ -1561,7 +1561,7 @@ class Tweak(models.Model):
def get_solution_filename(instance, filename):
return f"solutions/{instance.participation.team.trigram}_{instance.problem}" \
+ ("final" if instance.final_solution else "")
+ ("_final" if instance.final_solution else "")
def get_synthesis_filename(instance, filename):

View File

@ -850,6 +850,12 @@ class SelectTeamFinalView(VolunteerMixin, DetailView):
tournament = self.get_object()
self.participation.final = True
self.participation.save()
for regional_sol in self.participation.solutions.filter(final_solution=False).all():
final_sol, _created = Solution.objects.get_or_create(participation=self.participation, final_solution=True,
problem=regional_sol.problem)
final_sol: Solution
with open(regional_sol.file.path, 'rb') as f:
final_sol.file.save(regional_sol.file.name, f)
return redirect(reverse_lazy("participation:tournament_detail", args=(tournament.pk,)))