Initial commit: Import existing Laravel project

This commit is contained in:
jeremy bayse
2026-06-15 08:12:33 +02:00
parent 7420d1b466
commit 030d76af53
143 changed files with 21885 additions and 1 deletions

View File

@@ -0,0 +1,49 @@
<?php
namespace App\Policies;
use App\Models\Hardware;
use App\Models\User;
class HardwarePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return true; // Tous les agents connectés peuvent voir la liste du matériel
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Hardware $hardware): bool
{
return true; // Tous les agents connectés peuvent voir les détails d'un équipement
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return true; // Sylvain, Kévin et Jérémy peuvent enregistrer du matériel
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Hardware $hardware): bool
{
return true; // Tous les agents du service technique peuvent modifier une fiche matériel
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Hardware $hardware): bool
{
return true; // Tous les agents du service technique peuvent supprimer un équipement
}
}

View File

@@ -0,0 +1,77 @@
<?php
namespace App\Policies;
use App\Models\Order;
use App\Models\User;
use Illuminate\Auth\Access\Response;
class OrderPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return true; // Tous les agents authentifiés peuvent lister les commandes
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Order $order): bool
{
return true; // Tous les agents authentifiés peuvent voir le détail d'une commande
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return true; // Sylvain, Kévin et le chef de service peuvent créer des demandes (brouillons)
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Order $order): bool
{
// Si la commande est encore au statut Brouillon, tout le monde peut la modifier
if ($order->status === 'draft') {
return true;
}
// Si elle est validée ou plus loin dans le cycle, seul le chef de service peut la modifier
return $user->isChefService();
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Order $order): bool
{
// Seul le chef de service peut supprimer une commande
return $user->isChefService();
}
/**
* Détermine si l'utilisateur peut effectuer une transition spécifique.
*/
public function transition(User $user, Order $order, string $newStatus): bool
{
if ($newStatus === 'validated') {
// Seul le chef de service peut valider un brouillon
return $user->isChefService();
}
if ($newStatus === 'closed') {
// Seul le chef de service peut clôturer / archiver le dossier
return $user->isChefService();
}
// Pour les autres transitions (validated -> ordered et ordered -> delivered),
// tout agent connecté peut l'effectuer (réception de colis, transmission au fournisseur)
return true;
}
}