Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User system refacto #338

Open
25 tasks done
nikophil opened this issue Apr 21, 2020 · 0 comments · Fixed by #405 · May be fixed by #422
Open
25 tasks done

User system refacto #338

nikophil opened this issue Apr 21, 2020 · 0 comments · Fixed by #405 · May be fixed by #422
Assignees
Labels
enhancement New feature or request

Comments

@nikophil
Copy link
Member

nikophil commented Apr 21, 2020

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants