mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-06-25 15:37:27 +02:00
Page de paiement (en cours)
This commit is contained in:
@ -2,14 +2,17 @@
|
||||
|
||||
class PaymentMethod
|
||||
{
|
||||
const CREDIT_CARD = 0;
|
||||
const BANK_CHECK = 1;
|
||||
const BANK_TRANSFER = 2;
|
||||
const CASH = 3;
|
||||
const SCHOLARSHIP = 4;
|
||||
const CREDIT_CARD = 1;
|
||||
const BANK_CHECK = 2;
|
||||
const BANK_TRANSFER = 3;
|
||||
const CASH = 4;
|
||||
const SCHOLARSHIP = 5;
|
||||
const NOT_PAID = 0;
|
||||
|
||||
public static function getTranslatedName($status) {
|
||||
switch ($status) {
|
||||
case self::CREDIT_CARD:
|
||||
return "Carte bancaire";
|
||||
case self::BANK_CHECK:
|
||||
return "Chèque";
|
||||
case self::BANK_TRANSFER:
|
||||
@ -18,13 +21,15 @@ class PaymentMethod
|
||||
return "Espèce";
|
||||
case self::SCHOLARSHIP:
|
||||
return "Je suis boursier";
|
||||
default:
|
||||
return "Carte bancaire";
|
||||
default:
|
||||
return "Pas encore payé";
|
||||
}
|
||||
}
|
||||
|
||||
public static function getName($status) {
|
||||
switch ($status) {
|
||||
case self::CREDIT_CARD:
|
||||
return "CREDIT_CARD";
|
||||
case self::BANK_CHECK:
|
||||
return "BANK_CHECK";
|
||||
case self::BANK_TRANSFER:
|
||||
@ -34,12 +39,14 @@ class PaymentMethod
|
||||
case self::SCHOLARSHIP:
|
||||
return "SCHOLARSHIP";
|
||||
default:
|
||||
return "CREDIT_CARD";
|
||||
return "NOT_PAID";
|
||||
}
|
||||
}
|
||||
|
||||
public static function fromName($name) {
|
||||
switch ($name) {
|
||||
case "CREDIT_CARD":
|
||||
return self::CREDIT_CARD;
|
||||
case "BANK_CHECK":
|
||||
return self::BANK_CHECK;
|
||||
case "BANK_TRANSFER":
|
||||
@ -49,7 +56,7 @@ class PaymentMethod
|
||||
case "SCHOLARSHIP":
|
||||
return self::SCHOLARSHIP;
|
||||
default:
|
||||
return self::CREDIT_CARD;
|
||||
return self::NOT_PAID;
|
||||
}
|
||||
}
|
||||
}
|
@ -110,6 +110,14 @@ class Team
|
||||
return $this->tournament;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Tournament
|
||||
*/
|
||||
public function getEffectiveTournament()
|
||||
{
|
||||
return $this->isSelectedForFinal() ? Tournament::getFinalTournament() : Tournament::fromId($this->getTournamentId());
|
||||
}
|
||||
|
||||
public function setTournamentId($tournament)
|
||||
{
|
||||
global $DB;
|
||||
|
@ -422,6 +422,22 @@ class User
|
||||
return $docs;
|
||||
}
|
||||
|
||||
public function getPayment() {
|
||||
global $DB;
|
||||
|
||||
$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()]);
|
||||
|
||||
if (($data = $req->fetch()) !== false)
|
||||
return Payment::fromId($data["id"]);
|
||||
|
||||
$req = $DB->prepare("INSERT INTO `payments`(`user`, `tournament`, `amount`, `method`, `transaction_infos`, `validation_status`) VALUES (?, ?, ?, ?, ?, ?);");
|
||||
$req->execute([$this->id, $tournament->getId(), 0, PaymentMethod::getName(PaymentMethod::NOT_PAID), "L'inscription n'est pas encore payée.", ValidationStatus::getName(ValidationStatus::NOT_READY)]);
|
||||
}
|
||||
|
||||
public function getOrganizedTournaments()
|
||||
{
|
||||
global $DB;
|
||||
|
Reference in New Issue
Block a user