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ôle | Capacités |
|---|---|
| Contributeur (par défaut) | Soumettre des idées, voir les siennes, commenter |
| Gestionnaire IdeaBox | Voir 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èle | Table | Description |
|---|---|---|
Idea | ideabox_ideas | Idée principale |
IdeaStatus | ideabox_statuses | Statuts triés par order |
IdeaComment | ideabox_comments | Commentaires (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
IdeabelongsToUser(viaid_user)IdeabelongsToManyService(services concernés)IdeahasManyIdeaCommentIdeabelongsToIdeaStatus(viaid_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
IdeaBoxControllercontrôle l'accès aux actions admin