Skip to content

User system refacto #338

@nikophil

Description

@nikophil

Login

  • Possibilité de se connecter uniquement avec un seul type d'utilisateur \App\Entity\User
    • mettre à jour le fichier security.yaml pour ne plus pouvoir se logger avec l'organization
    • supprimer l'authenticator OrganizationLoginFormAuthenticator
    • Enlever l'interface UserInterface sur la classe Organization et toutes les méthodes qui en découlent + enlever les champs password et plainPassword
    • Update le schéma de la table organizations pour enlever le champ password
  • Repasser partout où AbstractController::getUser() + Security::getUser() + app.user (twig) est censé renvoyer une organization, afin de renvoyer l'organization contextualisée
  • Mettre à jour le UserLoginFormAuthenticator:
    • Possibilité de se logger via mail / Numéro NIVOL + date de naissance
    • Possibilité de se logger via mail / Numéro NIVOL + mot de passe
    • Un utilisateur avec mot de passe ne peut pas se logger avec sa date de naissance

Administration des organizations

  • Créer une relation ManyToMany entre user et organization, afin de savoir quelles organizations un user peut administrer
  • Créer un écran pour administrer cette relation
  • Instaurer un système de super admin
  • Valider qu'un user n'est pas admin d'un orga et d'un de ses enfants en même temps
  • 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

  • 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
  • Ajouter @IsGranted(OrganizationVoter::CAN_MANAGE) sur toutes les routes des controllers App\Controller\Organization
  • Enlever CommissionableAssetVoter
  • Enlever l'entrée access_control sur le pattern ^/organizations dans security.yaml

Gestion du mot de passe

  • Ajouter la possibilité pour un user de modifier son mot de passe
  • Mettre en place le reset password
  • Afficher un bandeau lorsqu'un utilisateur n'a pas de mot de passe alors qu'il peut administrer des orgas

Misc

  • 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
  • fix tests
  • Add orga_path twig method as alias for path method to dynamically retrieve the orga object from the current request

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions