formule plomino HideWhen tjs fausse [résolu]

2008-04-28
2013-04-25
  • Samuel CLEMENT
    Samuel CLEMENT
    2008-04-28

    Bonjour,

    Un autre petit problème que j'ai résolu. Je vous fait parvenir la solution.
    Je souhaitais cacher certains champs de mon formulaire en fonction d'une formule. J'ai donc créé un plomino hideWhen que j'ai appelé : 'testHideWhen' puis j'ai rempli mon formulaire de la manière suivante :

    start:testHideWhen   <-- de type plomino Hide-when-formula

    mon champs caché

    end:testHideWhen     <-- de type plomino Hide-when-formula

    J'ai ensuite écris une formule permettant de retourner True ou False en fonction d'un champ donné. Le problème  était que quelquesois la formule, "mon champs caché" ne s'affichait pas.

    Le problème vient du fait qu'il ne faut pas de majuscules dans le nom de votre plomino hideWhen formula.
    Lorsque l'on change le nom en "testhidewhen", la formule fonctionne parfaitement.

    Voilà.
    Cordialement,

    Samuel

     
    • Eric Brehault
      Eric Brehault
      2008-04-28

      merci pour votre solution

      toutefois, je pense qu'on pourrait qualifier ce comportement de Plomino de bug

      nous ferons une correction prochainement

       
    • Samuel CLEMENT
      Samuel CLEMENT
      2008-04-29

      Bonjour,

      Petite rectification Rectification !!!

      Il y a toujours un problème avec les formules pour les hide-when-formula.

      1) Detection et contournement de bugs (modification de formule hide-when):
      -------------------------------------------------------------------------
      Lorsque l'on souhaite modifier la formule du hideWhen, il est nécessaire de passer par l'onglet "modifier" de l'objet. Sinon, en Faisant les modifications directement depuis l'onglet "voir", et en cliquant sur "enregistrer", la nouvelle formule n'est pas prise en compte. Elle est affichée mais pas prise en compte.

      --> OK pour ça !!

      2) hideWhen jamais affiché pour l'ajout d'un nouveau document
      -----------------------------------------------------
      Le problème ne viens pas des majuscules / minuscules. J'ai refais une série de tests et ça n'a rien à voir : les majuscules sont bel et bien prise en compte.

      Cependant, tout ce qui se trouve entre les balise hideWhen des formulaires, ne s'affiche jamais lorsque l'on ajoute pour la première fois le document.

      Je m'explique :

      Pour tester, j'ai mis comme formule à mon hideWhen, le mot : False. Donc a priori, tout ce qui est placé entre les balises hidewhen devrait s'afficher.
      Or, j'ai constaté, que lorsque je clique sur ajouter un document. Le formulaire de saisi du nouveau document n'affiche pas le texte contenu entre les balise hideWhen.
      Par contre lorsque je clique sur enregistrer, la page suivante (qui affiche le contenu de ce que j'ai saisi), contient le texte entre les balises hideWhen.

      C'est comme si la formule du hideWhen n'était évaluée qu'au moment de l'enregistrement, ou de la consultation des formulaires. Il ne semble pas possible d'afficher le contenu de ces balises avant l'enregistrement. Ce qui est très embêtant, dans le cas où juste certains champs de mon formulaire de saisi différent en fonction de l'utilisateur.

      - Y'a-t-il une solution à ce problème, ou bien est-ce moi qui n'est pas compris le concept du hide-when  ?
      - Faut-il obligatoirement créer de nouveaux masques adaptés à chaque type d'utilisateurs pour palier à ce problème ?

       
      • Eric Brehault
        Eric Brehault
        2008-04-29

        Bonjour,

        Votre utilisation des HideWhen est correcte. Il s'agit d'un bug de Plomino (quand on utilise un masque en création, il n'y a pas de document courant encore existant, de ce fait le calcul du hideWhen produit une erreur, et par sécurité si un HideWhen est en erreur, on considère qu'on a True).
        J'ai corrigé ce bug dans la dernière révision SVN:
        https://plomino.svn.sourceforge.net/svnroot/plomino/branches/plone3/CMFPlomino/
        (maintenant dans un masque en création, on utilise le masque lui-même comme objet courant pour évaluer les HideWhen)

        Merci de confirmer que le comportement est maintenant correct.

        Cordialement,

        Eric BREHAULT

         
        • Samuel CLEMENT
          Samuel CLEMENT
          2008-05-01

          Bonjour,

          Je viens de tester votre nouvelle version de Plomino (v1.0 RC). Celle-ci est tout à fait adaptée à ce que je demandais. L'évaluation des champs cachés (hide-when) fonctionne très bien, même lors de la création d'un nouveau document (et donc avant l'enregistrement)

          J'ai de plus noté l'amélioration au niveau des vues (qui affichent maintenant le nombre de documents en pied de "tableau").

          J'ai juste constaté quelque changement au niveau des formules (qui diffèrent légèrement du tutoriel français), notamment lors du test des rôles sur les utilisateurs...
          Mais je n'en parlerais pas ici, je vais poster un autre sujet.

          Bonne soirée et Merci !! :)

          Samuel.