Supression de recettes

Created by: PetitGens

Merge request reports

Loading
+15.7 KiB
Loading image diff...
+29 −0
Changes for assets/js/suppression.js: 29 added lines, 0 removed lines.
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
+29 −0
Changes for src/controllers/supprimer.php: 29 added lines, 0 removed lines.
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
Changes for templates/nosRecettes.php: 5 added lines, 0 removed lines.
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();
    ?>
+21 −0
Changes for templates/pageRecette.php: 21 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php
require_once 'src/lib/Parsedown.php';
require_once 'src/model/recette.php';
require_once 'src/model/recetteManager.php';
require_once 'src/model/ingredient.php';
require_once 'src/controllers/connexion.php';

function afficherPageRecette(Recette $recette, bool $admin){
    $titre = $recette->getTitre();
@@ -13,6 +15,16 @@ function afficherPageRecette(Recette $recette, bool $admin){
    $Parsedown=new Parsedown();
    $Parsedown->setSafeMode(true);

    $utilisateur = ConnexionController::estConnecte();

    $peutSupprimer = false;
    
    if($utilisateur){
        if($utilisateur->estAdministrateur() || $recette->getIdAuteur() === $utilisateur->getId()){
            $peutSupprimer = true;
        }
    }

    ob_start();
    ?>
    <div data-bss-bg="true" style="text-align:center;height: 500px;padding-top: 30px;padding-right: 10px;padding-left: 10px;background-image: url(<?=$recette->getImage()?>);background-repeat: no-repeat;background-size: contain;background-position: center">
@@ -51,6 +63,15 @@ function afficherPageRecette(Recette $recette, bool $admin){
        if ($admin){
            ?><a href=".?action=validerRecette&idRecette=<?=$recette->getId()?>">Valider la recette</a><?php
        }

        if($peutSupprimer){
        ?>
            <a href="#">
                <img id="iconeSpr"src="assets/img/poubelle.png" alt="icone poubelle" style="height: 50px; width: 50px; margin-bottom: 10px; margin-right: 10px; margin-left: 80%;">
            </a>
            <script src= "assets/js/suppression.js"></script>
        <?php
        }
        ?>
    </div>
    <?php
Loading
Loading