From dcd1819cbefa654e46cd074d3cd6742c746a7fb0 Mon Sep 17 00:00:00 2001 From: Yohann Date: Wed, 1 Jan 2020 21:41:22 +0100 Subject: [PATCH] =?UTF-8?q?S=C3=A9lection=20des=20=C3=A9quipes=20pour=20la?= =?UTF-8?q?=20phase=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server_files/classes/Team.php | 6 ++++-- server_files/controllers/equipe.php | 8 ++++++-- server_files/views/equipe.php | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/server_files/classes/Team.php b/server_files/classes/Team.php index 7f44498..3448314 100644 --- a/server_files/classes/Team.php +++ b/server_files/classes/Team.php @@ -70,7 +70,7 @@ class Team return $team; } - public static function getAllTeams($problem = -1, $only_validated = false) + public static function getAllTeams($problem = -1, $only_validated = false, $only_with_solutions = true) { global $DB, $YEAR; $req = $DB->prepare("SELECT * FROM `teams` WHERE " . ($problem < 0 ? "" : "`problem` = ? AND ") . ($only_validated ? "`validation_status` = 'VALIDATED' AND " : "") . "`year` = $YEAR;"); @@ -81,7 +81,9 @@ class Team while (($data = $req->fetch()) != false) { $team = new Team(); $team->fill($data); - $teams[] = $team; + $sol = $team->getSolution(); + if ($sol != null && $sol->getValidation() == ValidationStatus::VALIDATED - 1) + $teams[] = $team; } return $teams; diff --git a/server_files/controllers/equipe.php b/server_files/controllers/equipe.php index 871c3a6..969cd21 100644 --- a/server_files/controllers/equipe.php +++ b/server_files/controllers/equipe.php @@ -88,7 +88,11 @@ class UpdateVideoTeams public function makeVerifications() { - ensure(Phase::getCurrentPhase() < Phase::PHASE2, "Il est trop tard pour réaffecter les vidéos aux équipes."); + global $team; + + ensure(Phase::getCurrentPhase() > Phase::PHASE2, "Il est trop tard pour réaffecter les vidéos aux équipes."); + ensure($team->getSolution() != null, "L'équipe doit avoir soumis une vidéo."); + ensure($team->getSolution()->getValidation() == ValidationStatus::VALIDATED - 1, "L'équipe doit avoir soumis une vidéo validée."); ensure(sizeof($this->other_teams) == 2, "L'équipe doit recevoir exactement deux vidéos."); ensure(Team::fromId($this->other_teams[0]) != null, "La première équipe n'existe pas."); ensure(Team::fromId($this->other_teams[1]) != null, "La seconde équipe n'existe pas."); @@ -102,7 +106,7 @@ class UpdateVideoTeams } } -$other_teams = Team::getAllTeams($team->getProblem(), true); +$other_teams = Team::getAllTeams($team->getProblem(), true, true); $documents = Document::getAllDocuments($team->getProblem(), $team->getId()); require_once "server_files/views/equipe.php"; diff --git a/server_files/views/equipe.php b/server_files/views/equipe.php index bd21aea..731cbd1 100644 --- a/server_files/views/equipe.php +++ b/server_files/views/equipe.php @@ -57,7 +57,7 @@ subject=Correspondances de Jeunes Mathématicien·ne·s" target="_blank">Envoyer un mail à toute l'équipe -getValidationStatus() == ValidationStatus::VALIDATED) { ?> +getValidationStatus() == ValidationStatus::VALIDATED && $team->getSolution() != null && $team->getSolution()->getValidation() == ValidationStatus::VALIDATED - 1) { ?>