<?php

namespace Controllers;

use Bases\Controller;
use Models\Categorie;

class CategorieController extends Controller
{
    /**
     * Ajouter une categorie
     * 
     * 
     */
    public function categorieStore()
    {
        // Route protégée: l'utilisateur doit être connecté et la requête doit être en POST
        if (empty($_SESSION["utilisateur_id"])) {
            $this->rediriger("index");
        }

        // Validation des champs attendus
        if (empty($_POST["nom"])) {
            $this->rediriger("utilisateur-index?info_requises");
        }

        // Création de la categorie
        if (!(new Categorie)->ajouter($_POST["nom"])) {
            $this->rediriger("utilisateur-index?echec_ajout");
        }

        $this->rediriger("utilisateur-index?succes_ajout",);
    }

    /**
     * Modifier une categorie
     * 
     * 
     */
    public function categorieUpdate()
    {
        // Route protégée: l'utilisateur doit être connecté et la requête doit être en POST
        if (empty($_SESSION["utilisateur_id"])) {
            $this->rediriger("index");
        }

        // Validation des champs attendus
        if (empty($_POST["categorie_id"]) ||  empty($_POST["nom"])) {
            $this->rediriger("utilisateur-index?info_requises");
        }

        // Modification de la categorie
        if (!(new Categorie)->modifier($_POST["categorie_id"], $_POST["nom"])) {
            $this->rediriger("utilisateur-index?echec_modification");
        }

        $this->rediriger("utilisateur-index?succes_modification");
    }

    /**
     * Supprimer une categorie
     *
     * 
     */
    public function categorieDelete()
    {
        // Route protégée: l'utilisateur doit être connecté et la requête doit être en POST
        if (empty($_SESSION["utilisateur_id"])) {
            $this->rediriger("index");
        }

        // Validation des champs attendus
        if (empty($_POST["id"])) {
            $this->rediriger("utilisateur-index?info_requises");
        }

        // Suppression de la categorie
        if (!(new Categorie)->supprimer($_POST["id"])) {
            $this->rediriger("utilisateur-index?echec_suppression");
        }

        $this->rediriger("utilisateur-index?succes_suppression");
    }
}
