diff --git a/server_files/classes/User.php b/server_files/classes/User.php index e9fd91f..cc8111e 100644 --- a/server_files/classes/User.php +++ b/server_files/classes/User.php @@ -121,8 +121,7 @@ class User { global $DB, $YEAR; $users = []; - $req = $DB->query("SELECT * FROM `users` WHERE (`role` = 'PARTICIPANT' OR `role` = 'ENCADRANT') " - . "AND `year` = $YEAR ORDER BY `role`, `inscription_date`;"); + $req = $DB->query("SELECT * FROM `users` WHERE `year` = $YEAR ORDER BY `role` DESC, `inscription_date`;"); while (($data = $req->fetch()) !== false) { $orphan = new User(); @@ -455,8 +454,8 @@ class User $team = Team::fromId($this->team_id); $tournament = $team->getEffectiveTournament(); - $req = $DB->prepare("SELECT `id` FROM `payments` WHERE `user` = ? AND `tournament` = ?;"); - $req->execute([$this->id, $tournament->getId()]); + $req = $DB->prepare("SELECT `id` FROM `payments` WHERE `user` = ?;"); + $req->execute([$this->id]); if (($data = $req->fetch()) !== false) return Payment::fromId($data["id"]); diff --git a/server_files/controllers/equipe.php b/server_files/controllers/equipe.php index 8af48fd..9e9a2eb 100644 --- a/server_files/controllers/equipe.php +++ b/server_files/controllers/equipe.php @@ -68,6 +68,24 @@ if (isset($_POST["download_zip"])) { exit(); } +if (isset($_POST["select_tournament"])) { + $new_tournament = Tournament::fromId($_POST["select_tournament"]); + ensure($new_tournament != null, "Le tournoi indiqué n'existe pas."); + $team->setTournamentId($new_tournament->getId()); + $DB->prepare("UPDATE `documents` SET `tournament` = ? WHERE `team` = ?;")->execute([$tournament->getId(), $team->getId()]); + $DB->prepare("UPDATE `solutions` SET `tournament` = ? WHERE `team` = ?;")->execute([$tournament->getId(), $team->getId()]); + $DB->prepare("UPDATE `syntheses` SET `tournament` = ? WHERE `team` = ?;")->execute([$tournament->getId(), $team->getId()]); + foreach ($team->getParticipants() as $user) { + if ($user != null) + $DB->prepare("UPDATE `payments` SET `tournament` = ? WHERE `user` = ?;")->execute([$tournament->getId(), $user]); + } + foreach ($team->getEncadrants() as $user) { + if ($user != null) + $DB->prepare("UPDATE `payments` SET `tournament` = ? WHERE `user` = ?;")->execute([$tournament->getId(), $user]); + } + $tournament = $new_tournament; +} + class EditTeam { public $name; diff --git a/server_files/controllers/mon_equipe.php b/server_files/controllers/mon_equipe.php index e3d6d34..f83957c 100644 --- a/server_files/controllers/mon_equipe.php +++ b/server_files/controllers/mon_equipe.php @@ -78,12 +78,24 @@ class MyTeam public function updateTeam() { - global $URL_BASE; + global $URL_BASE, $DB; $this->team->setName($this->name); $this->team->setTrigram($this->trigram); $this->team->setTournamentId($this->tournament_id); + $DB->prepare("UPDATE `documents` SET `tournament` = ? WHERE `team` = ?;")->execute([$this->tournament_id, $this->team->getId()]); + $DB->prepare("UPDATE `solutions` SET `tournament` = ? WHERE `team` = ?;")->execute([$this->tournament_id, $this->team->getId()]); + $DB->prepare("UPDATE `syntheses` SET `tournament` = ? WHERE `team` = ?;")->execute([$this->tournament_id, $this->team->getId()]); + foreach ($this->team->getParticipants() as $user) { + if ($user != null) + $DB->prepare("UPDATE `payments` SET `tournament` = ? WHERE `user` = ?;")->execute([$this->tournament_id, $user]); + } + foreach ($this->team->getEncadrants() as $user) { + if ($user != null) + $DB->prepare("UPDATE `payments` SET `tournament` = ? WHERE `user` = ?;")->execute([$this->tournament_id, $user]); + } + $_SESSION["tournament"] = $this->tournament; header("Location: $URL_BASE/mon-equipe"); diff --git a/server_files/controllers/profils.php b/server_files/controllers/profils.php index 64c1edb..51dc8b9 100644 --- a/server_files/controllers/profils.php +++ b/server_files/controllers/profils.php @@ -6,4 +6,11 @@ if (!isset($_SESSION["user_id"]) || $_SESSION["role"] != Role::ADMIN) $orphans = isset($_GET["orphans"]); $users = $orphans ? User::getOrphanUsers() : User::getAllUsers(); +$emails = []; + +if ($_SESSION["role"] == Role::ORGANIZER || $_SESSION["role"] == Role::ADMIN) { + foreach ($users as $user) + $emails[] = $user->getEmail(); +} + require_once "server_files/views/profils.php"; \ No newline at end of file diff --git a/server_files/controllers/tournois.php b/server_files/controllers/tournois.php index cf9ebce..68430cf 100644 --- a/server_files/controllers/tournois.php +++ b/server_files/controllers/tournois.php @@ -4,7 +4,7 @@ $tournaments = Tournament::getAllTournaments(); $emails = []; -if ($_SESSION["role"] == Role::ENCADRANT || $_SESSION["role"] == Role::ADMIN) { +if ($_SESSION["role"] == Role::ORGANIZER || $_SESSION["role"] == Role::ADMIN) { foreach ($tournaments as $tournament) { foreach ($tournament->getOrganizers() as $organizer) $emails[] = $organizer->getEmail(); diff --git a/server_files/model.php b/server_files/model.php index 6db9f62..2b92812 100644 --- a/server_files/model.php +++ b/server_files/model.php @@ -123,7 +123,9 @@ function canValidate(Team $team, Tournament $tournament) $can_validate = $team->getValidationStatus() == ValidationStatus::NOT_READY; $can_validate &= $team->getEncadrants()[0] != NULL; $can_validate &= $team->getParticipants()[3] != NULL; - for ($i = 1; $i <= 2; ++$i) { + + // Le TFJM² 2020 se déroulant en ligne, les papiers ne sont plus nécessaires +/* for ($i = 1; $i <= 2; ++$i) { if ($team->getEncadrants()[$i - 1] === NULL) continue; @@ -131,9 +133,11 @@ function canValidate(Team $team, Tournament $tournament) $req->execute([$team->getEncadrants()[$i - 1], $tournament->getId(), "PHOTO_CONSENT"]); $d = $req->fetch(); $can_validate &= $d["version"] > 0; - } + }*/ - for ($i = 1; $i <= 6; ++$i) { + + // Le TFJM² 2020 se déroulant en ligne, les papiers ne sont plus nécessaires +/* for ($i = 1; $i <= 6; ++$i) { if ($team->getParticipants()[$i] === NULL) continue; @@ -154,12 +158,13 @@ function canValidate(Team $team, Tournament $tournament) $d = $req->fetch(); $can_validate &= $d["version"] > 0; } - } + } */ - $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `team` = ? AND `tournament` = ? AND `type` = ?;"); + // La lettre de motivation n'est plus nécessaire, mais existe toujours +/* $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `team` = ? AND `tournament` = ? AND `type` = ?;"); $req->execute([$team->getId(), $tournament->getId(), "MOTIVATION_LETTER"]); $d = $req->fetch(); - $can_validate &= $d["version"] > 0; + $can_validate &= $d["version"] > 0;*/ return $can_validate; } diff --git a/server_files/views/equipe.php b/server_files/views/equipe.php index 08ce9a3..3cdc9b4 100644 --- a/server_files/views/equipe.php +++ b/server_files/views/equipe.php @@ -12,7 +12,7 @@
- getValidationStatus() == ValidationStatus::NOT_READY) { ?> + getValidationStatus() != ValidationStatus::VALIDATED) { ?>
getBirthDate() > strval($YEAR - 18) . substr($tournament->getStartDate(), 4)) { ?> - + - - + +
diff --git a/server_files/views/mon_equipe.php b/server_files/views/mon_equipe.php index 2fa7df4..b9eb97e 100644 --- a/server_files/views/mon_equipe.php +++ b/server_files/views/mon_equipe.php @@ -119,6 +119,12 @@ require_once "header.php"; Les encadrants doivent également fournir une autorisation de droit à l'image. +
+
+ En raison du changement de format du TFJM² 2020, il n'y a plus de document obligatoire à envoyer. Les autorisations + précédemment envoyées ont été détruites. Seules les lettres de motivation ont été conservées, mais leur envoi + n'est plus obligatoire. +
getValidationStatus() == ValidationStatus::WAITING) { ?>
diff --git a/server_files/views/profils.php b/server_files/views/profils.php index cc8f2e6..747604f 100644 --- a/server_files/views/profils.php +++ b/server_files/views/profils.php @@ -10,6 +10,10 @@ require_once "header.php"; Cette page recense tous les utilisateurs inscrits.
+
+ subject=TFJM² " target="_blank">Envoyer un mail à toutes les personnes inscrites +
+
diff --git a/server_files/views/tournoi.php b/server_files/views/tournoi.php index 2d57350..7bd706a 100644 --- a/server_files/views/tournoi.php +++ b/server_files/views/tournoi.php @@ -4,13 +4,13 @@

Tournoi de getName() ?>

-
+
Organisateur= 2 ? 's' : '' ?> : @@ -35,9 +35,9 @@
Lieu : getPlace() ?>
-
+
Dates : Du getStartDate()) ?> au getEndDate()) ?>