Unverified Commit eddd69da authored by Julien Ait azzouzene's avatar Julien Ait azzouzene Committed by GitHub
Browse files

Merge pull request #31 from PetitGens/supression

Supression de recettes
parents 46e3c3d5 931269e7
Loading
Loading
Loading
Loading
+15.7 KiB
Loading image diff...
+29 −0
Original line number Diff line number Diff line
let bouton = document.getElementById("iconeSpr");
bouton.addEventListener("click", supprimer);

const params = new URLSearchParams(window.location.search);
const idRecette = params.get('idRecette');


function supprimer(){
    var confirmation = confirm("Voulez-vous supprimer cette recette?");
    if (confirmation) {
        supprimerRecette();
    } else {
    }
}

function supprimerRecette(){
    let requeteHTTP = new XMLHttpRequest();

    requeteHTTP.open("GET", "index.php?action=supprimerRecette&idRecette=" + idRecette, true);
    requeteHTTP.send();
    
    requeteHTTP.onload = function(){
        if(requeteHTTP.status === 200){
            document.location.href = ".?action=listeRecettes";
            return;
        }
        console.error("Erreur pendant la supression !");
    }
}
 No newline at end of file
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ require_once 'src/controllers/ListeRecettesFiltreesControleur.php';
require_once 'src/controllers/recettesAdmin.php';
require_once 'src/controllers/validationRecette.php';
require_once 'src/controllers/pageModifierEdito.php';
require_once 'src/controllers/supprimer.php';

try{
    session_start();
@@ -76,11 +77,17 @@ try{
            $controleur = new ModifierEditoControleur();
            break;

        case 'supprimerRecette':
            $idRecette = getVariable_GET('idRecette');
            $controleur = new SupprimerRecetteControleur($idRecette);
            break;

        case 'recette-filtre':
            $filtre = getVariable_GET('filtre');
            $search = getVariable_GET('search');
            $controleur = new ListeRecettesFiltreesControleur($filtre,$search);
            break;
            
        default:
            throw new Exception("la page demandée n'a pas été trouvée");
    }
+29 −0
Original line number Diff line number Diff line
<?php

require_once 'src/controllers/controleur.php';
require_once 'src/model/recetteManager.php';
require_once 'src/controllers/connexion.php';



class SupprimerRecetteControleur extends Controleur{

    private $idRecette;

    public function __construct($idRecette){
        $this->idRecette = $idRecette;
    }
    
    public function executer(){
        $utilisateur = ConnexionController::estConnecte();
        $estAdmin = $utilisateur && $utilisateur->estAdministrateur();
        if($utilisateur === false){
            return new Exception("Veuillez-vous connecter!");
        }
        $recette = (new RecetteManager)->getRecette($this->idRecette);
        if($estAdmin || $recette->getIdAuteur() === $utilisateur->getId()){
            (new RecetteManager)->supprimerRecette($recette);
        }
    }

}
 No newline at end of file
+5 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@

require_once 'templates/carteRecette.php';
require_once 'src/model/recette.php';
require_once 'src/controllers/connexion.php';

function afficherListeRecettes($recettes, $vueAdministrateur = false){
    $titre = 'Nos Recettes';
@@ -21,6 +22,10 @@ function afficherListeRecettes($recettes, $vueAdministrateur = false){

    $script = '<script src="assets/js/listeRecette.js"></script>';

    $utilisateur = ConnexionController::estConnecte();

    $estAdmin = $utilisateur && $utilisateur->estAdministrateur();

    // ob_start crée un buffer qui va récupérer tout ce qui est censé être affiché (echo + HTML) 
    ob_start();
    ?>
Loading