Diverses corrections

This commit is contained in:
Yohann D'ANELLO 2020-01-16 22:04:29 +01:00
parent 606ad5886f
commit 95ab142702
10 changed files with 71 additions and 58 deletions

View File

@ -194,7 +194,7 @@ class Team
public static function getAllTeams($only_not_validated = false) public static function getAllTeams($only_not_validated = false)
{ {
global $DB, $YEAR; global $DB, $YEAR;
$req = $DB->query("SELECT * FROM `teams` WHERE " . ($only_not_validated ? "`validation_status` = 'NOT_READY' AND " : "") . "`year` = $YEAR;"); $req = $DB->query("SELECT * FROM `teams` WHERE " . ($only_not_validated ? "`validation_status` = 0 AND " : "") . "`year` = $YEAR;");
$teams = []; $teams = [];

View File

@ -8,7 +8,7 @@ $orgas_response = $DB->query("SELECT `id`, `surname`, `first_name` FROM `users`
$has_error = false; $has_error = false;
$error_message = null; $error_message = null;
if (isset($_POST["submitted"])) { if (isset($_POST["add_tournament"])) {
$tournament = new NewTournament($_POST); $tournament = new NewTournament($_POST);
try { try {
$tournament->makeVerifications(); $tournament->makeVerifications();

View File

@ -1,6 +1,7 @@
<?php <?php
$token = $_GET["token"]; $token = $_GET["token"];
$alert = "danger";
if (isset($token)) { if (isset($token)) {
$result = $DB->query("SELECT `email` FROM `users` WHERE `confirm_email` = '$token' AND `year` = '$YEAR';"); $result = $DB->query("SELECT `email` FROM `users` WHERE `confirm_email` = '$token' AND `year` = '$YEAR';");
@ -9,11 +10,13 @@ if (isset($token)) {
else { else {
$DB->exec("UPDATE `users` SET `confirm_email` = NULL WHERE `confirm_email` = '$token';"); $DB->exec("UPDATE `users` SET `confirm_email` = NULL WHERE `confirm_email` = '$token';");
$error_message = "Votre adresse mail a été validée ! Vous pouvez désormais vous connecter."; $error_message = "Votre adresse mail a été validée ! Vous pouvez désormais vous connecter.";
$alert = "success";
} }
} }
else { else {
$error_message = "Il n'y a pas de compte à valider !"; $error_message = "Il n'y a pas de compte à valider !";
$alert = "warning";
} }
require_once "server_files/views/header.php"; require_once "server_files/views/header.php";
echo "<h2>$error_message</h2>"; echo "<div class=\"alert alert-$alert\"><h2>$error_message</h2></div>";
require_once "server_files/views/footer.php"; require_once "server_files/views/footer.php";

View File

@ -95,6 +95,7 @@ class AttributeTeam
ensure($user->getConfirmEmailToken() == null, "Ce participant n'a pas encore validé son adresse e-mail."); ensure($user->getConfirmEmailToken() == null, "Ce participant n'a pas encore validé son adresse e-mail.");
ensure($this->team_id != "no_team", "Vous n'avez pas choisi d'équipe."); ensure($this->team_id != "no_team", "Vous n'avez pas choisi d'équipe.");
ensure($this->team != null, "Cette équipe n'existe pas."); ensure($this->team != null, "Cette équipe n'existe pas.");
ensure($user->getTeamId() <= 0, "Cette personne est déjà dans une équipe !");
ensure($this->team->getValidationStatus() == ValidationStatus::NOT_READY, "Cette équipe est déjà validée ou en cours de validation."); ensure($this->team->getValidationStatus() == ValidationStatus::NOT_READY, "Cette équipe est déjà validée ou en cours de validation.");
$role = $user->getRole(); $role = $user->getRole();
@ -105,7 +106,7 @@ class AttributeTeam
$this->min_null_index = $i; $this->min_null_index = $i;
ensure($role == Role::PARTICIPANT && $this->min_null_index <= 5 || $role == Role::ENCADRANT && $this->min_null_index <= 2, ensure($role == Role::PARTICIPANT && $this->min_null_index <= 6 || $role == Role::ENCADRANT && $this->min_null_index <= 2,
"Il n'y a plus de place pour vous dans l'équipe."); "Il n'y a plus de place pour vous dans l'équipe.");
} }
@ -123,6 +124,12 @@ class AttributeTeam
Mailer::sendJoinTeamMail($user, $this->team, Tournament::fromId($this->team->getTournamentId())); Mailer::sendJoinTeamMail($user, $this->team, Tournament::fromId($this->team->getTournamentId()));
$team = $this->team; $team = $this->team;
global $documents, $payment, $tournament;
$documents = $user->getAllDocuments($team->getTournamentId());
$payment = $user->getPayment();
$tournament = Tournament::fromId($team->getTournamentId());
} }
} }

View File

@ -61,7 +61,7 @@ class NewUser
ensure(preg_match("#^[0-9]{4}[0-9]?$#", $this->postal_code) && intval($this->postal_code) >= 01000 && intval($this->postal_code) <= 95999, "Le code postal est invalide."); ensure(preg_match("#^[0-9]{4}[0-9]?$#", $this->postal_code) && intval($this->postal_code) >= 01000 && intval($this->postal_code) <= 95999, "Le code postal est invalide.");
if ($this->country == "") if ($this->country == "")
$this->country = "France"; $this->country = "France";
ensure(strlen($this->phone_number) >= 10, "Le numéro de téléphone est invalide."); ensure(strlen($this->phone_number) >= 10 && strlen($this->phone_number) <= 20, "Le numéro de téléphone est invalide.");
$this->role = Role::fromName(strtoupper($this->role)); $this->role = Role::fromName(strtoupper($this->role));
if ($this->role == Role::PARTICIPANT) { if ($this->role == Role::PARTICIPANT) {

View File

@ -22,13 +22,6 @@ if (isset($_POST["team_edit"])) {
} }
} }
if (isset($_POST["request_validation"])) {
if (!canValidate($team, $tournament))
$error_message = "Votre équipe ne peut pas demander la validation : il manque soit des participants, soit des documents.";
else
$_SESSION["team"]->setValidationStatus(ValidationStatus::WAITING);
}
if (isset($_SESSION["user_id"]) && isset($_SESSION["team"]) && $_SESSION["team"] !== null) { if (isset($_SESSION["user_id"]) && isset($_SESSION["team"]) && $_SESSION["team"] !== null) {
/** /**
* @var User $user * @var User $user
@ -38,13 +31,20 @@ if (isset($_SESSION["user_id"]) && isset($_SESSION["team"]) && $_SESSION["team"]
$team = $_SESSION["team"]; $team = $_SESSION["team"];
$tournament = Tournament::fromId($team->getTournamentId()); $tournament = Tournament::fromId($team->getTournamentId());
$documents = $user->getAllDocuments($team->getTournamentId()); $documents = $tournament->getAllDocuments($team->getId());
if ($team->isSelectedForFinal()) if ($team->isSelectedForFinal())
$documents_final = $user->getAllDocuments($FINAL->getId()); $documents_final = $FINAL->getAllDocuments($team->getId());
} }
else else
require_once "server_files/403.php"; require_once "server_files/403.php";
if (isset($_POST["request_validation"])) {
if (!canValidate($team, $tournament))
$error_message = "Votre équipe ne peut pas demander la validation : il manque soit des participants, soit des documents.";
else
$team->setValidationStatus(ValidationStatus::WAITING);
}
class MyTeam class MyTeam
{ {
public $name; public $name;

View File

@ -52,7 +52,7 @@
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="/mon-equipe">Mon équipe</a> <a class="nav-link" href="/mon-equipe">Mon équipe</a>
</li> </li>
<?php if ($_SESSION["team"]->getValidationStatus() == ValidationStatus::VALIDATED || true) { ?> <?php if ($_SESSION["team"]->getValidationStatus() == ValidationStatus::VALIDATED) { ?>
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="/paiement">Paiement</a> <a class="nav-link" href="/paiement">Paiement</a>
</li> </li>
@ -117,7 +117,7 @@
</div> </div>
<?php } <?php }
if (!isset($_SESSION["user"]) && $view != "server_files/controllers/connexion.php") { if (getallheaders()["X-Real-Ip"] != "185.230.76.133") {
echo "<div style=\"text-align: center;\" class=\"alert alert-success\"><h1>Cette plateforme ouvrira le 22 janvier 2020 ! :)</h1></div>"; echo "<div style=\"text-align: center;\" class=\"alert alert-success\"><h1>Cette plateforme ouvrira le 22 janvier 2020 ! :)</h1></div>";
require_once "footer.php"; require_once "footer.php";
} }

View File

@ -104,48 +104,50 @@ if (!$has_error) {
Adresse e-mail du responsable légal : <a href="mailto:<?= $user->getResponsibleEmail() ?>"><?= $user->getResponsibleEmail() ?></a> Adresse e-mail du responsable légal : <a href="mailto:<?= $user->getResponsibleEmail() ?>"><?= $user->getResponsibleEmail() ?></a>
</div> </div>
<div class="alert alert-info"> <?php if ($user->getRole() == Role::PARTICIPANT && $user->getTeamId() > 0) { ?>
<strong>Récapitulatif du paiement :</strong><br /><br /> <div class="alert alert-info">
<strong>Récapitulatif du paiement :</strong><br /><br />
<?php if ($payment->getValidationStatus() == ValidationStatus::NOT_READY) { ?> <?php if ($payment->getValidationStatus() == ValidationStatus::NOT_READY) { ?>
<div class="alert alert-danger"> <div class="alert alert-danger">
Cette personne n'a pas encore payé sa participation. Cette personne n'a pas encore payé sa participation.
</div>
<?php } else { ?>
<strong>Tournoi :</strong> <?= $tournament->getName() ?><br />
<strong>Montant :</strong> <?= $payment->getAmount() ?> €<br />
<strong>Moyen de paiement :</strong> <?= PaymentMethod::getTranslatedName($payment->getMethod()) ?><br />
<?php if ($payment->getMethod() == PaymentMethod::SCHOLARSHIP) { ?>
<strong>Notification de bourse :</strong> <a href="/file/<?= $payment->getTransactionInfos() ?>">Télécharger</a><br /><br />
<?php } else { ?>
<strong>Informations sur le paiement :</strong> <?= $payment->getTransactionInfos() ?><br /><br />
<?php }
if ($payment->getValidationStatus() == ValidationStatus::WAITING) { ?>
<div class="alert alert-warning">
Le paiement n'a pas encore été validé.
<form method="POST">
<input type="hidden" name="validate_payment" value=""/>
<div class="form-group row">
<label for="message">Message à adresser au participant :</label>
<textarea class="form-control" id="message" name="message"></textarea>
</div>
<input class="btn btn-primary btn-lg" style="width: 49%;"
type="submit" name="accept" value="Valider le paiement"/>
<input class="btn btn-light btn-lg" style="width: 49%;" type="submit" name="reject"
value="Rejeter le paiement"/>
</form>
</div> </div>
<?php } else { ?> <?php } else { ?>
<div class="alert alert-success"> <strong>Tournoi :</strong> <?= $tournament->getName() ?><br />
Le paiement a été validé. <strong>Montant :</strong> <?= $payment->getAmount() ?> €<br />
</div> <strong>Moyen de paiement :</strong> <?= PaymentMethod::getTranslatedName($payment->getMethod()) ?><br />
<?php if ($payment->getMethod() == PaymentMethod::SCHOLARSHIP) { ?>
<strong>Notification de bourse :</strong> <a href="/file/<?= $payment->getTransactionInfos() ?>">Télécharger</a><br /><br />
<?php } else { ?>
<strong>Informations sur le paiement :</strong> <?= $payment->getTransactionInfos() ?><br /><br />
<?php }
if ($payment->getValidationStatus() == ValidationStatus::WAITING) { ?>
<div class="alert alert-warning">
Le paiement n'a pas encore été validé.
<form method="POST">
<input type="hidden" name="validate_payment" value=""/>
<div class="form-group row">
<label for="message">Message à adresser au participant :</label>
<textarea class="form-control" id="message" name="message"></textarea>
</div>
<input class="btn btn-primary btn-lg" style="width: 49%;"
type="submit" name="accept" value="Valider le paiement"/>
<input class="btn btn-light btn-lg" style="width: 49%;" type="submit" name="reject"
value="Rejeter le paiement"/>
</form>
</div>
<?php } else { ?>
<div class="alert alert-success">
Le paiement a été validé.
</div>
<?php } ?>
<?php } ?> <?php } ?>
<?php } ?> </div>
</div> <?php } ?>
<?php } elseif ($user->getDescription() != "") { ?> <?php } elseif ($user->getDescription() != "") { ?>
<div class="alert alert-info"> <div class="alert alert-info">

View File

@ -198,7 +198,7 @@ if (!$has_error && (isset($my_account) || isset($new_password))) {
</div> </div>
</form> </form>
<?php if (isset($_SESSION["team"]) && $user->getRole() == Role::PARTICIPANT) { <?php if (isset($_SESSION["team"]) && ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT)) {
$not_validated = $_SESSION["team"]->getValidationStatus() == ValidationStatus::NOT_READY; $not_validated = $_SESSION["team"]->getValidationStatus() == ValidationStatus::NOT_READY;
?> ?>
<hr/> <hr/>

View File

@ -82,7 +82,7 @@ require_once "header.php";
<?php } else { ?> <?php } else { ?>
<?php if ($_SESSION["team_validation_status"] == ValidationStatus::NOT_READY) { ?> <?php if ($_SESSION["team"]->getValidationStatus() == ValidationStatus::NOT_READY) { ?>
<!--suppress HtmlUnknownTarget --> <!--suppress HtmlUnknownTarget -->
<a href="/mon-equipe/modifier"> <a href="/mon-equipe/modifier">
<button class="btn btn-secondary btn-lg btn-block">Modifier mon équipe</button> <button class="btn btn-secondary btn-lg btn-block">Modifier mon équipe</button>
@ -101,7 +101,7 @@ require_once "header.php";
if ($can_validate) { ?> if ($can_validate) { ?>
<hr /> <hr />
<form method="post"> <form method="post">
<label for="engage">Je m'engage à participer à l'intégralité des Correspondances</label> <label for="engage">Je m'engage à participer à l'intégralité du TFJM²</label>
<input type="checkbox" name="engage" id="engage" required/> <input type="checkbox" name="engage" id="engage" required/>
<div class="alert alert-warning"> <div class="alert alert-warning">
<strong>Attention !</strong> Une fois votre équipe validée, vous ne pourrez plus modifier le nom <strong>Attention !</strong> Une fois votre équipe validée, vous ne pourrez plus modifier le nom
@ -114,7 +114,8 @@ require_once "header.php";
<hr /> <hr />
<div class="alert alert-warning"> <div class="alert alert-warning">
Pour demander à valider votre équipe, vous devez avoir au moins un encadrant, quatre participants, Pour demander à valider votre équipe, vous devez avoir au moins un encadrant, quatre participants,
choisi un problème et soumis une autorisation de droit à l'image par participant. choisi un problème et soumis une autorisation de droit à l'image, une fiche sanitaire et une autorisation
parentale (si besoin) par participant.
</div> </div>
<?php } ?> <?php } ?>
<?php } <?php }