mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 07:42:11 +01: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