SettingController
extends AbstractController
in package
Gère la configuration globale de l'application depuis le back-office.
Les paramètres sont stockés dans une unique ligne de l'entité Settings : le contrôleur récupère l'enregistrement existant s'il y en a un, sinon il en crée un nouveau. Il n'existe donc ni liste ni suppression, seulement un écran d'édition unique réservé aux administrateurs.
Préfixe de route : /admin/setting.
Attributes
- #[Route]
- '/admin/setting'
Table of Contents
Methods
- index() : Response
- Affiche et enregistre le formulaire de configuration générale du site.
Methods
index()
Affiche et enregistre le formulaire de configuration générale du site.
public
index(EntityManagerInterface $entityManager, Request $request, SettingsRepository $settingsRepository) : Response
Charge le premier (et unique) enregistrement Settings via findBy([], limit: 1) ; si aucun
n'existe, instancie un nouvel objet Settings. En cas de soumission valide, l'entité est
persistée puis flushée, un message flash de succès est ajouté et l'utilisateur est redirigé
vers la même page. La variable label passée à la vue vaut « Modifier les informations »
lorsqu'une configuration existait déjà, sinon « Enregistrer les informations ».
Route : /admin/setting/ (GET, POST), nom app_settings. Réservée à ROLE_ADMIN.
Parameters
- $entityManager : EntityManagerInterface
-
Gestionnaire d'entités utilisé pour persister la configuration.
- $request : Request
-
Requête HTTP courante, utilisée pour traiter le formulaire.
- $settingsRepository : SettingsRepository
-
Dépôt permettant de récupérer la configuration existante.
Attributes
- #[IsGranted]
- 'ROLE_ADMIN'
- #[Route]
- '/'
- $name: 'app_settings'
- $methods: ['GET', 'POST']
Return values
Response —Rendu du template admin/setting/index.html.twig, ou redirection vers
app_settings après un enregistrement réussi.