|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Nouveau Membre du Club
![]() Étudiant Inscription : août 2006 Messages : 49 ![]() |
Bonjour,
Dans le cadre d'un projet symfony avec doctrine, j'utilise sfDoctrineGuardUser et définis donc mes utilisateurs sur 2 tables jointes : GessehEtudiant et sfGuardUser. Code :
Dans le backend, j'utilises l'admin generator : Code :
Code :
En creusant les logs, je me suis rendu compte que c'était la fonction save qui bouclait à l'infini. Je ne comprends pas pourquoi d'autant que je suis persuadé d'avoir réussi à créer des utilisateurs il y a 10 jours au moment où j'ai procédé à la modification du save (pas re-vérifié depuis, je m'en suis rendu compte lors du test en "prod" juste avant de lancer l'appli réellement en production). |
||||||
|
|
00
|
|
|
#2 | ||||
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Y a une condition qui me fait mal aux yeux : Code :
Je te laisse regarder ce que te renvoie : Code :
Pour le reste, on verra plus tard... Cordialement, Mathieu |
||||
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : août 2006 Messages : 49 ![]() |
Je suis conscient que ce bout de code manque d'élégance mais il fait son travail (que ce soit dans l'édition ou dans la création) dans la mesure où, comme tu le précises bien, il n'y a bien qu'une seule promo inactive (davantage serait superflu) créée par défaut, l'administrateur ne pouvant ajouter que des promos actives.
Par contre ça ne m'explique pas pourquoi le "return parent::save($conn)" boucle à l'infini sur une création et pas sur une édition : j'ai dû rater un truc. Edit: Quoique, à la lumière de ta remarque, j'ai fait quelques tests supplémentaires et il semble en effet que ce problème de boucle infini n'apparaisse que lorsqu'on ajoute un étudiant dans cette seule promo inactive (ce qui n'arrive jamais en théorie en utilisation quotidienne et qui explique pourquoi je n'avais pas noté ce bug auparavant : cas limite jusqu'alors non testé). Je vais creuser de ce côté, bien que la logique de cette boucle ne m'apparaisse pas évidente, pour le moment. |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Tout d'abord, je n'aurais pas réécrit cette méthode, pour ne pas interférer avec le comprtement de base du plugin, qui je te le rappelle, garanti la sécurité de ton application... Tu aurais du avoir recours à une méthode save() ou doSave() d'un formulaire que tu aurais hérité du formulaire de création d'utilisateurs du plugin !!! Ceci dit : Code :
Cordialement, Mathieu |
||
|
00
|
|
|
#5 | |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Citation:
Il faut sortir cette récupération de la boucle save(). Ou tester si l'utilisateur est isNew(). Et effectivement, il ne faut pas, sauf exception exceptionnellement exceptionnel toucher le code d'un plugin et à fortiori celui de sfGuard plus que tout autre.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com