-
Notifications
You must be signed in to change notification settings - Fork 42
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
Séparer un bénéficiaire d'un membre #591
Conversation
Aucune pour moi, le nouveau membre doit réadhérer. Ca pourrait être aussi une bonne alternative pour garder les bénéficiary comme actuellement.
Le compteur reprend à 0 (comme un nouveau compte) donc pas de log de temps. |
$m = $em->getRepository('AppBundle:Membership')->findOneBy(array(), array('member_number' => 'DESC')); | ||
$mm = 1; | ||
if ($m) | ||
$mm = $m->getMemberNumber() + 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est très dangereux de faire ça. Les id c'est en autoincrement dans la DB, on ne devrait pas les gérer directement dans le code. Si jamais il y a deux créations en même temps, on arriverait dans une situation complètement incohérente.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
En fait, je ne suis pas sur du autoincrement (pas regardé) mais ça devrait être le cas pour être sur de ne pas faire de bétise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
j'ai repris le bout de code qui existe déjà dans MembershipController > member_new
donc il n'y a pas besoin ? new Membership()
va initialiser automatiquement le member_number ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne sais pas comment symfony gère des plusieurs requêtes simultannées, mais s'il y a des threads ce code n'est pas thread safe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour moi, faudrait meettre le champs en autoincrement et laisser la DB gérer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour l'unicité il y a cette PR qu'on a mergé, mais ça n'avait pas provoqué de migration... #606
Je viens de rajouter la migration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour l'id / member_number il faut que je reflechisse aux cas particuliers 🤔 Il doit y avoir une raison d'avoir séparé les 2 non ?
Les 2 numéros ne se suivent pas tout à fait. Si on remonte dans l'historique on voit qu'il y a des trous dans les id par endroit mais pas dans les member_number. J'imagine que c'est quand il y a un problème quelconque lors de la création d'un membership. Les événements semblent assez rare (ça s'est produit 52 fois en tout, 8 fois en 2021 et rien en 2022). Etait-ce du à l'utilisation du bouton "Nouvelle adhésion" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que le champ member_number
est important à conserver de manière indépendante de l'ID car je crois que dans notre coop à La Rochelle par exemple, la personne qui gère les adhésions utilise ce numéro sur d'autres outils pour identifier les coopérateurs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@quot17 et c'est embêtant pour vous du coup la séparation telle que proposée ? Vu qu'on va créer un nouveau membre et qu'on va lui associer un nouveau member_number ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@petitalb non non c'est très bien, je ne crois pas qu'on renseigne les bénéficiaires sur Elefan chez nous actuellement.
yes exactement ! séparation + new Membership + membership.isWithdrawn même si je me dis qu'il y a peut-être moyen de résoudre ca "à la source" (en créant un membership à la création du compte, et le garder somehow même si le beneficiaire est rattaché ? ca permettrait de garder le member_number, et ne pas avoir à recréer un membership quand le bénéficiaire décide de se séparer 🤔 ) aussi pour les stats : ca ne les fausserait pas sur les dates de création |
@petitalb tu vois des choses qui manquent ? ou ca peut déjà être une première version (réservé aux ADMIN pour l'instant) idées supplémentaires :
|
73a6a15
to
3fe391f
Compare
3fe391f
to
9fb56a1
Compare
Ca me parait peut-être bien de rajouter les notes avant de merger. Je pense que c'est relativement simple à faire, et ca me parait important de tracer l'action pour comprendre à posteriori ce qui a pu se passer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good ! (je peux pas "approve" car je suis l'auteur de la PR ^^)
$session = new Session(); | ||
$member = $beneficiary->getMembership(); | ||
|
||
$this->denyAccessUnlessGranted('edit', $member); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remplacer par @Security("has_role('ROLE_ADMIN')")
?
{{ form_start(delete_form) }} | ||
<div id="remove-beneficiary-{{ beneficiary.id }}" class="modal"> | ||
<div class="modal-content"> | ||
<h5><i class="material-icons left small">remove_circle_outline</i>Supprimer le bénéficiaire</h5> | ||
<p>Attention, le bénéficiaire n'aura plus accès à son compte et ses informations seront perdus.</p> | ||
<p> | ||
Attention, le bénéficiaire n'aura plus accès à son compte et ses informations seront perdus. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
peut-être indiquer les autres impacts ?
- compteur temps reset ?
- créneaux fixes restent, ...
app/Resources/views/beneficiary/_partial/beneficiary_card.html.twig
Outdated
Show resolved
Hide resolved
@petitalb pour les notes on peut le faire dans une PR séparé (je vais essayer de la faire cette aprem)
edit : j'ai créé une issue à ce sujet : #619 |
9fb56a1
to
8ac9e0f
Compare
* Super simple detach mechanism * [membership] Add uniq constraint on member_number attribute * Give access to beneficiary delete button to ROLE_ADMIN only Co-authored-by: Albin PETIT <albin.petit@gmail.com>
Quoi
Tentative rapide pour permettre de séparer 2 bénéficiaires
Questions en suspens :
Captures d'écran