Aller au contenu principal

Module IdeaBox

Boîte à idées collaborative permettant aux utilisateurs de soumettre des suggestions, de les commenter et de suivre leur statut.

Fonctionnalités

  • Soumission d'idées avec titre, description, services concernés, pièce jointe optionnelle
  • Système de statuts configurable (ex. : En attente, En cours, Acceptée, Refusée)
  • Commentaires (publics / internes)
  • Gestion différenciée : vue contributeur vs. vue gestionnaire
  • Pagination, filtre par statut

Rôles

RôleCapacités
Contributeur (par défaut)Soumettre des idées, voir les siennes, commenter
Gestionnaire IdeaBoxVoir toutes les idées, changer les statuts, commenter en interne

Un utilisateur est gestionnaire si $user->isGestionnaireIdeaBox() retourne true (permission via RBAC Admin).

Modèles

ModèleTableDescription
Ideaideabox_ideasIdée principale
IdeaStatusideabox_statusesStatuts triés par order
IdeaCommentideabox_commentsCommentaires (public/interne)

Structure des fichiers source

Modules/IdeaBox/
├── app/Http/Controllers/
│ ├── IdeaBoxController.php ← CRUD idées
│ └── IdeaBoxCommentController.php
├── app/Http/Requests/
│ ├── StoreIdeaRequest.php
│ └── UpdateIdeaStatusRequest.php
├── app/Models/
│ ├── Idea.php
│ ├── IdeaStatus.php
│ └── IdeaComment.php (si distinct)
├── app/Services/
│ └── IdeaBoxService.php
└── resources/views/ideabox/

Relations clés

  • Idea belongsTo User (via id_user)
  • Idea belongsToMany Service (services concernés)
  • Idea hasMany IdeaComment
  • Idea belongsTo IdeaStatus (via id_status)

Routing

Sous-domaine dédié ou intégré dans le portail Dashboard (vérifier routes/web.php).

Sécurité

  • Un contributeur ne peut voir que ses propres idées (filtre dans IdeaBoxController@index)
  • Les commentaires internes ne sont visibles que par les gestionnaires
  • Gate/Policy IdeaBoxController contrôle l'accès aux actions admin