resop
resop copied to clipboard
User system refacto
Login
- [x] Possibilité de se connecter uniquement avec un seul type d'utilisateur
\App\Entity\User
- [x] mettre à jour le fichier
security.yaml
pour ne plus pouvoir se logger avec l'organization - [x] supprimer l'authenticator
OrganizationLoginFormAuthenticator
- [x] Enlever l'interface
UserInterface
sur la classeOrganization
et toutes les méthodes qui en découlent + enlever les champspassword
etplainPassword
- [x] Update le schéma de la table
organizations
pour enlever le champpassword
- [x] mettre à jour le fichier
- [x] Repasser partout où
AbstractController::getUser()
+Security::getUser()
+app.user
(twig) est censé renvoyer une organization, afin de renvoyer l'organization contextualisée - [x] Mettre à jour le
UserLoginFormAuthenticator
:- [x] Possibilité de se logger via mail / Numéro NIVOL + date de naissance
- [x] Possibilité de se logger via mail / Numéro NIVOL + mot de passe
- [x] Un utilisateur avec mot de passe ne peut pas se logger avec sa date de naissance
Administration des organizations
- [x] Créer une relation
ManyToMany
entre user et organization, afin de savoir quelles organizations un user peut administrer - [x] Créer un écran pour administrer cette relation
- [x] Instaurer un système de super admin
- [x] Valider qu'un user n'est pas admin d'un orga et d'un de ses enfants en même temps
- [x] Si le user peut administrer plusieurs orgas, ajouter un sélecteur dans la partie organization, afin de contextualiser l'orga sur laquelle on travaille (:warning: ne pas prendre en compte les organizations parentes)
Authorization
- [x] Update le
OrganizationVoter
pour les organizations qui va vérifier que l'utilisateur a bien un mot de passe et peut bien administrer une organization - [x] Ajouter
@IsGranted(OrganizationVoter::CAN_MANAGE)
sur toutes les routes des controllersApp\Controller\Organization
- [x] Enlever
CommissionableAssetVoter
- [x] Enlever l'entrée
access_control
sur le pattern^/organizations
danssecurity.yaml
Gestion du mot de passe
- [x] Ajouter la possibilité pour un user de modifier son mot de passe
- [x] Mettre en place le reset password
- [x] Afficher un bandeau lorsqu'un utilisateur n'a pas de mot de passe alors qu'il peut administrer des orgas
Misc
- [x] Modifier les fixtures (test + dev) afin de ne plus setter de password aux organizations et de créer un user admin relié aux organizations parentes
- [x] fix tests
- [x] Add
orga_path
twig method as alias forpath
method to dynamically retrieve the orga object from the current request