IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

configuration d'une widget d'un formulaire


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut configuration d'une widget d'un formulaire
    hello,

    mon problème est le suivant : j'utilise le plugin sfDoctrineGuard pour la gestion rôle/user/groups.

    en backend j'ai l'admin générator qui m'a permis d'avoir la gestion des trois entités (user, group, permission).

    en frontend, j'ai besoin de 3 listes dans un formulaire (comportant d'autres informations à saisir) correspondant à 3 groups de user et ceci sous forme de list box.

    jusqu'à maintenant j'ai fait ça (je sais que c'est pas bien et pas dans l'esprit du framework) by hand.
    Ca fonctionne, sauf que si l'utilisateur saisie une données fausse, je réaffiche mon formulaire, toutes données sont récupérée pour une nouvelle saisie.
    Toutes sauf celles de mon listbox construites by hand.
    J'ai essayé de récupérer ces valeurs après le bind du form, sauf que (dites moi si je me trompe), il semble qu'on puisse pas récupérer les valeurs après le bind si le formulaire n'est pas valide.

    LA deuxième question : je vais peut-être reprendre ce montage de mes listes box pour plus clean dans mon dev (si j'ai le temps).
    je me suis trouvé confronté à une deuxième problème : comment afficher différement une liste de user en frontend (sous forme de listbox dans mon cas), alors que le rendu n'est pas le meme en backend.
    J'espère avoir été assez clair dans mes exlications.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    oubliez ma deuxième question.
    comme j'utilise un formulaire embarqué (listbox de user) dans mon formulaire
    principal, j'ai juste redéfini mon widget listbox dans le formulaire principal.

    comme quoi des fois attendre 10 min avant de poster... ca peut-être utile.

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Si je résume la première question, tu veux une liste déroulante où sélectionner un user qui fait partie d'un des trois groupes.

    As-tu pensés au widget sfWidgetDoctrineFormChoice ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    oui j'ai pu définir mon widget sur la base du sfWidgetDoctrineFormChoice.
    mais il y a une chose que je sais pas comment faire.
    Je veux une listbox par groupe d'utilisateur.
    Je sais pas où spécifier ce groupe.

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu veux trois liste box ?

    Donc la liaison pourrait concerner plusieurs personnes ?

    Ou alors une liste des groupes, et, une fois le groupe choisi, une liste des utilisateur du groupe ?

    Ou encore, une liste avec les utilisateurs regroupés par groupe ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    un utilisateur assigne met une série d'utilisateurs dans le groupe A.
    il fait de même avec une série d'utilisateurs dans le groupe B et dans le group C.
    Ceci est effectué en backend.

    Dans le formulaire en frontend, je veut afficher une listbox d'utilisateur par groupe que je viens de citer.
    La liaison concerne donc une liste d'utilisateur appartenant à un même groupe.

  7. #7
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je suis désolé, mais je ne suis toujours pas sur de comprend ce que tu veux faire

    Citation Envoyé par nawbacan Voir le message
    Dans le formulaire en frontend, je veut afficher une listbox d'utilisateur par groupe que je viens de citer.
    La liaison concerne donc une liste d'utilisateur appartenant à un même groupe.
    Tu veux lune liste des trois groupe et tu lies à une des listes entière ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    merci pour ton aide.
    je met un screenshot ci-joint pour que tu vois mieux le formulaire.
    il s'agit de la section relative à mes listbox d'utilisateur.
    Chaque listbox correspond à une liste d'utilisateur provenant d'un groupe.
    Dans la troisième partie, on m'a demandé d'afficher les utilisateurs de ce groupe sous forme de check box.
    Images attachées Images attachées  

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    hello,
    bon et bien en "touillant" ces widget j'y suis arrivé.
    J'ai défini un widget sfWidgetFormChoice pour chaque de mes listes .
    Pour la liste des choix, je lui fourni un tableau d'objet sfGuard user qui résulte d'une fonction.

    la difficulté dans mon cas est que mon application n'est pas optimal au niveau conception et est assez complexe.
    Je n'ai donc pas totalement respecté la philosphie Symfony, mais au moins je défini tout mes widget dans le form principal et non dans le partial (pas taper ) à la main comme je le faisais avant.

    ouala. merci pour Michel pour tes conseils qui mettent sur la voie

  10. #10
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je pense avoir enfin compris (les "vieux", c'est pas ça )

    Je pense que tu peux simplifier.

    Au niveau du modèle tu peux définir 4 méthodes, une standard qui récupère les users pour un groupe (par nom ou par id, à toi de voir).

    Et trois qui se servent de la première pour récupérer les users d'un groupe donné.

    Dans la définition des objet sfWidgetFormDoctrineChoice tu mets le nom de la méthode.

    Du devrait avoir le même résultat mais un peu plus propre.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    hello,

    je n'ai malheureusement pas le temps d'appliquer la modif que tu me propose (ouais le projet passe très très bientot en test.)

    Par contre vu qu'on est dans les widgets :
    Je défini un sfWidgetFormSelectCheckbox pour la 3ème partie du screenshot présent 2-3 post plus haut.
    mon rendu est en ordre, mais j'arrive pas à comprendre pour quoi le validateur me donne toujours une erreur de type invalide.

    le rendu du widget :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="checkbox" .... value="22" > user test 22
    <input type="checkbox" .... value="31" > user test 31
    la value est l'id de mon user.

    J'ai essayer d'appliquer un validator de la form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sfValidatorChoice(array('choices'=>array($listuser, 'required'=> false))
    mais je n'arrive pas à trouver la structure ($listuser) que je dois lui fournir pour le formulaire soit valide.
    Je précise que je me base sur l'id du user qui est en value. c'est elle que je récupère ensuite pour la suite du traitement.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    A croire que lorsque je poste ca accélère la trouvaille de solutions.
    Donc pour ceux que ça intéresse, il faut passer les clés de la liste de choix au validateurs.

  13. #13
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Oui, de l'avantage de mes petites fonctions toutes prêtes...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

Discussions similaires

  1. [Tomcat] configuration d'une page d'erreur dans web.xml
    Par Super Castor dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/04/2009, 16h58
  2. [ jboss ] Configuration d'une datasource Oracle 8i
    Par mikky dans le forum Wildfly/JBoss
    Réponses: 8
    Dernier message: 22/03/2005, 17h16
  3. Réponses: 6
    Dernier message: 19/11/2004, 17h52
  4. Réponses: 4
    Dernier message: 01/09/2004, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo