Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jForms ;: un problème simple !

Posted by doms on 11/21/2007 23:49

Bonsoir,

Je n'ai pas de solution simple pour un problème... simple ! Aussi je me permets de solliciter l'avis des membres du forum.

La solution est peut être très évidente mais là je sèche un peu ! De plus mon niveau de connaissance du PHP et de Jelix ne doit sûrement pas aider !

Assez de discours : des actes !

Voilà. L'application propose à l'utilisateur de modifier un ensemble de données existantes, prenons pour exemple un produit. Je crée donc un objet jForm, je le rempli avec les valeurs qui vont bien et je l'envoie se faire afficher ! Ensuite je récupère les données saisies par l'utilisateur, toujours via jForms. Je souhaite maintenant savoir précisément quelle(s) donnée(s) ont été modifié(es) par l'utilisateur afin d'adapter le traitement en conséquences !

Et c'est là que je sèche sur une solution simple et élégante ! Je ne vois pas ! Depuis que j'utilise Jelix j'ai constaté que sa conception était d'un niveau élevé et subtil et qu'elle reflétait notamment une grande expérience du domaine. C'est ce qui me fait penser qu'une solution simple existe, solution que je n'ai pas réussi à percevoir dans la documentation.

Peut être est même sûrement est-elle visible comme le nez au milieu de la figure mais je ne la vois pas !

Merci !

  [Opened] Re: jForms ;: un problème simple !

Reply #1 Posted by Uriel C on 11/22/2007 09:35

Je ne connais pas de solution "simple" pour ça, mais tu pourrais faire un truc du style array_diff($ancienForm->getDatas(), $nouveauForm->getDatas()) bien que ca implique d'instancier deux fois ton formulaire...

  [Opened] Re: jForms ;: un problème simple !

Reply #2 Posted by laurentj on 11/22/2007 10:43

@doms : jforms a beau être "d'un niveau de conception élevé et subtile" :-), il ne permet pas de savoir ce qui a été réellement modifié (ça pourrait cependant être une bonne idée, soumet un ticket).

Un moyen pour faire ce que tu veux, est une solution comme celle préconisée par Uriel. Par contre il n'est pas utile de faire deux formulaires. Il suffit par exemple, après initialisation du formulaire et avant affichage de faire un getDatas() et de mettre ces données dans une variable de session quelconque (attention toutefois aux collisions si plusieurs formulaires du même type peuvent être crée en même temps : utiliser l'id du formulaire pour placer les getDatas dans un tableau par exemple). Et après le submit, de refaire un getDatas() pour comparer ces nouvelles datas avec ce qu'il y a dans ta variable de session (en faisant un array_diff pourquoi pas).

 
Page
  1. Re: jForms ;: un problème simple !