ContactController
extends AbstractController
in package
Carnet de contacts de l'utilisateur connecté (CRUD).
Les contacts proviennent soit d'une saisie manuelle, soit du scan d'une carte papier ou d'une carte BCard (ScanController). Chaque contact appartient à un utilisateur et peut porter une photo.
Préfixe de route : /contact. Authentification requise (IS_AUTHENTICATED).
Attributes
- #[IsGranted]
- 'IS_AUTHENTICATED'
- #[Route]
- '/contact'
Table of Contents
Properties
Methods
- __construct() : mixed
- delete() : Response
- Supprime un contact après vérification du jeton CSRF.
- edit() : Response
- Modifie un contact existant.
- index() : Response
- Liste paginée des contacts de l'utilisateur connecté.
- new() : Response
- Crée un contact rattaché à l'utilisateur connecté.
Properties
$uploaderService read-only
private
UploaderService
$uploaderService
Methods
__construct()
public
__construct(UploaderService $uploaderService) : mixed
Parameters
- $uploaderService : UploaderService
-
Upload et stockage des photos de contact.
delete()
Supprime un contact après vérification du jeton CSRF.
public
delete(Request $request, Contact $contact, EntityManagerInterface $entityManager) : Response
Si le jeton delete<id> est absent ou invalide, la suppression est ignorée
silencieusement et l'utilisateur est simplement renvoyé vers la liste.
Route : /contact/{id} (POST), nom app_contact_delete.
Parameters
- $request : Request
-
Requête portant le champ
_token. - $contact : Contact
-
Contact résolu depuis l'identifiant d'URL.
- $entityManager : EntityManagerInterface
-
Gestionnaire d'entités Doctrine.
Attributes
- #[Route]
- '/{id}'
- $name: 'app_contact_delete'
- $methods: ['POST']
Return values
Response —Redirection (303) vers la liste des contacts.
edit()
Modifie un contact existant.
public
edit(Request $request, Contact $contact, EntityManagerInterface $entityManager) : Response
La date de mise à jour est rafraîchie et la photo remplacée si un nouveau fichier est fourni.
Route : /contact/{id}/edit (GET, POST), nom app_contact_edit.
Parameters
- $request : Request
-
Requête portant le formulaire ContactType.
- $contact : Contact
-
Contact résolu depuis l'identifiant d'URL.
- $entityManager : EntityManagerInterface
-
Gestionnaire d'entités Doctrine.
Attributes
- #[Route]
- '/{id}/edit'
- $name: 'app_contact_edit'
- $methods: ['GET', 'POST']
Return values
Response —Redirection (303) vers la liste après modification, formulaire
contact/edit.html.twig sinon.
index()
Liste paginée des contacts de l'utilisateur connecté.
public
index(Request $request, ContactRepository $contactRepository, PaginatorInterface $paginator) : Response
Les contacts sont triés du plus récent au plus ancien, par pages de 10.
Route : /contact (GET), nom app_contact_index.
Parameters
- $request : Request
-
Requête portant le paramètre
page. - $contactRepository : ContactRepository
-
Accès aux contacts.
- $paginator : PaginatorInterface
-
Pagination KnpPaginator.
Attributes
- #[Route]
- $name: 'app_contact_index'
- $methods: ['GET']
Return values
Response —Page contact/index.html.twig.
new()
Crée un contact rattaché à l'utilisateur connecté.
public
new(Request $request, EntityManagerInterface $entityManager) : Response
La photo éventuellement jointe est déposée dans le répertoire configuré par
le paramètre contact_photo_directory.
Route : /contact/new (GET, POST), nom app_contact_new.
Parameters
- $request : Request
-
Requête portant le formulaire ContactType.
- $entityManager : EntityManagerInterface
-
Gestionnaire d'entités Doctrine.
Attributes
- #[Route]
- '/new'
- $name: 'app_contact_new'
- $methods: ['GET', 'POST']
Return values
Response —Redirection (303) vers la liste après création, formulaire
contact/new.html.twig sinon.