mirror of
https://gitlab.com/animath/si/plateforme-corres2math.git
synced 2025-06-26 07:57:36 +02:00
Meilleur aperçu des équipes en retard
This commit is contained in:
@ -58,11 +58,13 @@ $waiting_emails = [];
|
||||
|
||||
switch (Phase::getCurrentPhase()) {
|
||||
case Phase::PHASE1:
|
||||
case Phase::PHASE12:
|
||||
$req = $DB->query("SELECT DISTINCT `teams`.`id`, `teams`.`problem`, `teams`.`trigram` FROM `teams` WHERE `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||
. " AND `id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'SOLUTION' AND `validation` = " . Video::ACCEPTED . ")"
|
||||
. " AND `year` = $YEAR ORDER BY `problem`, `trigram`;");
|
||||
break;
|
||||
case Phase::PHASE2:
|
||||
case Phase::PHASE23:
|
||||
$req = $DB->query("SELECT DISTINCT `teams`.`id`, `teams`.`problem`, `teams`.`trigram` FROM `teams`"
|
||||
. " WHERE `id` NOT IN (SELECT `q1`.`from` FROM `questions` AS `q1`"
|
||||
. " JOIN `questions` AS `q2` ON `q2`.`from` = `q1`.`from` AND `q2`.`number` = 2"
|
||||
@ -81,6 +83,7 @@ switch (Phase::getCurrentPhase()) {
|
||||
. " AND `year` = $YEAR ORDER BY `problem`, `trigram`;");
|
||||
break;
|
||||
case Phase::PHASE3:
|
||||
case Phase::PHASE34:
|
||||
$req = $DB->query("SELECT DISTINCT `teams`.`id`, `teams`.`problem`, `teams`.`trigram` FROM `teams`"
|
||||
. " WHERE `id` NOT IN (SELECT `q1`.`to` FROM `questions` AS `q1`"
|
||||
. " JOIN `questions` AS `q2` ON `q2`.`to` = `q1`.`to` AND `q2`.`number` = 2"
|
||||
@ -99,6 +102,7 @@ switch (Phase::getCurrentPhase()) {
|
||||
. " AND `year` = $YEAR ORDER BY `problem`, `trigram`;");
|
||||
break;
|
||||
case Phase::PHASE4:
|
||||
case Phase::END:
|
||||
$req = $DB->query("SELECT DISTINCT `teams`.`id`, `teams`.`problem`, `teams`.`trigram` FROM `teams` WHERE `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||
. " AND (`id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'ANSWER1' AND `validation` = " . Video::ACCEPTED . ")"
|
||||
. " OR `id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'ANSWER2' AND `validation` = " . Video::ACCEPTED . "))"
|
||||
@ -110,6 +114,8 @@ if (isset($req)) {
|
||||
$waiting_emails = [];
|
||||
while (($data = $req->fetch()) !== false) {
|
||||
$team = Team::fromId($data["id"]);
|
||||
if (Phase::getCurrentPhase() >= Phase::PHASE12 && $team->getSolution() == null)
|
||||
continue;
|
||||
$waiting_teams[] = $team;
|
||||
$waiting_emails = array_merge($waiting_emails, $team->getAllEmails());
|
||||
}
|
||||
|
Reference in New Issue
Block a user