Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 0 additions & 59 deletions .env.example

This file was deleted.

92 changes: 77 additions & 15 deletions app/Http/Controllers/CategorieController.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php

namespace App\Http\Controllers;

use App\Models\Produit;
use App\Models\Categorie;
use Illuminate\Http\Request;

Expand All @@ -10,26 +10,52 @@ class CategorieController extends Controller
/**
* Display a listing of the resource.
*/
public function index()
{
//
public function index(){
// Récupérer toutes les catégories avec les produits associés
$categories = Categorie::with('produits')->get();

// Calculer le nombre total de produits
$totalProduits = Produit::count();

// Retourner la vue avec les catégories et le nombre total de produits
return view('admin.categories.list_categorie', compact('categories', 'totalProduits'));
}

/**
* Show the form for creating a new resource.
*/
public function create()
{
//
public function create(){
return view('admin.categories.ajout_categorie');
}

/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
public function store(Request $request){
// Valider les données
$validatedData = $request->validate([
'libelle' => 'required|string|max:255',
'description' => 'required|string|max:500',
]);

// Vérifier si le libellé existe déjà (insensible à la casse)
$existingCategorie = categorie::whereRaw('LOWER(libelle) = ?', [strtolower($request->libelle)])->first();

if ($existingCategorie) {
// Si une catégorie existe avec ce libellé, renvoyer un message d'erreur
return redirect()->back()->with('error', 'La catégorie existe déjà.');
}

// Créer la nouvelle catégorie
categorie::create([
'libelle' => $request->libelle,
'description' => $request->description,
]);

// Rediriger avec un message de succès
return redirect()->route('categories.index')->with('success', 'Catégorie créée !');
}


/**
* Display the specified resource.
Expand All @@ -50,16 +76,52 @@ public function edit(Categorie $categorie)
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Categorie $categorie)
public function update(Request $request, $id)
{
//
// Validation des données envoyées
$request->validate([
'libelle' => 'required|string|max:255',
'description' => 'required|string|max:1000',
]);

// Vérifier si le nouveau libellé existe déjà pour une autre catégorie
$existingCategorie = Categorie::whereRaw('LOWER(libelle) = ?', [strtolower($request->libelle)])
->where('id', '!=', $id) // Exclure la catégorie actuelle
->first();

if ($existingCategorie) {
// Si une catégorie existe déjà avec ce libellé, renvoyer un message d'erreur
return redirect()->back()->with('error', 'Une autre catégorie avec ce libellé existe déjà.');
}

// Trouver la catégorie par son ID
$categorie = Categorie::findOrFail($id);

// Mettre à jour les informations de la catégorie
$categorie->libelle = $request->input('libelle');
$categorie->description = $request->input('description');

// Enregistrer les modifications dans la base de données
$categorie->save();

// Retourner à la page précédente avec un message de succès
return redirect()->route('categories.index')->with('success', 'La catégorie a été mise à jour avec succès.');
}

/**
* Remove the specified resource from storage.
*/
public function destroy(Categorie $categorie)
public function destroy($id)
{
//
// Trouver la catégorie par son ID
$categorie = Categorie::findOrFail($id);

// Supprimer la catégorie
$categorie->delete();

// Rediriger avec un message de succès
return redirect()->route('categories.index')->with('success', 'Catégorie supprimé ');
}
}


22 changes: 22 additions & 0 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('admin/Users.index', compact('users'));
}
public function destroy($id)
{
$user = User::findOrFail($id);
$user->delete();

return redirect()->back()->with('success', 'Utilisateur supprimé avec succès.');
}
}
7 changes: 4 additions & 3 deletions app/Models/Categorie.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ class Categorie extends Model
'description'
];

public function produit()
public function produits()
{
return $this->hasMany(Produit::class);
}
return $this->hasMany(Produit::class, 'id_categorie'); // Assurez-vous d'utiliser le bon modèle ici

}
}
6 changes: 6 additions & 0 deletions resources/views/admin/categories/ajout_categorie.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@extends('admin.dashboard')

@section('content')
<p> for</p>

@endsection
Loading