Robert-2 / Robert2

Application web de gestion de parc de matériel destiné à la location ou au prêt
https://robertmanager.org
Other
42 stars 14 forks source link

Suppression des bénéficiaires incomplète #394

Closed LaplancheMaxime closed 1 year ago

LaplancheMaxime commented 1 year ago

Bonjour messieurs,

Petit souci lors de la suppression d'un bénéficiaire (après l'avoir supprimer de la corbeille des bénéficiaires) :

{
    "success": false,
    "error": {
        "code": 400,
        "message": "Validation failed.",
        "details": {
            "email": [
                "Cette adresse e-mail est déjà utilisée"
            ]
        }
    }
}

Depuis l'api ou l'interface, il n'est pas possible de créer un bénéficiaire avec un email créé déjà utilisé auparavant. Les utilisateurs sont-ils réellement supprimés ? Version de loxya utilisée : 0.22.1

Bon courage

Donov4n commented 1 year ago

Bonjour !

Pour confirmer, vous dîtes qu'après avoir supprimé un bénéficiaire, puis être passé par la corbeille et l'avoir, ce coup-ci, supprimé "définitivement", l'adresse e-mail qui lui était assignée n'est toujours pas utilisable avec l'erreur citée ?

LaplancheMaxime commented 1 year ago

Bonjour C'est exactement ça.

polosson commented 1 year ago

Bonjour !

Alors je pense que cela peut venir du fait que la personne existe dans les techniciens (car les bénéficiaires et les techniciens partagent la table persons via un champ person_id, dans laquelle se trouve l'adresse e-mail).

Il n'y a pas encore de moyen de créer un bénéficiaire qui est déjà technicien dans le logiciel, il faut passer par la base de données en ajoutant une entrée dans la table beneficiaries et lui passer l'ID de la personne (trouvée dans la table persons) dans le champ person_id.

Merci de nous dire si c'est bien ça le souci ! :slightly_smiling_face:

LaplancheMaxime commented 1 year ago

Bonjour,

Le problème ne rentre pas dans ce cas de figure. Workflow pour reproduire :

L'adresse toto@gmail.com n'est pas utilisée par les techniciens

polosson commented 1 year ago

En effet, je viens de reproduire.

Cela est dû au fait que la person associée au bénéficiaire n'est pas supprimée lors de la suppression du bénéficiaire lui-même. On a donc un "orphelin" dans la table persons car non lié à un bénéficiaire ni à un technicien (ni un utilisateur).

Peut-être ajouter un check (via un observer) lors de la suppression d'un bénéficiaire ou technicien qui vérifie si la person associée devient orpheline, auquel cas on la supprime également.

En attendant, il faut faire ça manuellement j'en ai bien peur :sweat_smile:

LaplancheMaxime commented 1 year ago

Pas de souci, je vais faire le tri dans la base de données! Merci à vous 👍

LaplancheMaxime commented 1 year ago

Si ça peux servir à quelqu'un d'autre 😄

polosson commented 1 year ago

OK, corrigé dans la version 0.22.2 ! 🙂