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

  [Opened] initialiser un checkboxes l'ors de l'édition d'un enregistrement

Posted by RaphaelW on 06/22/2008 19:14

Bonjour Je précise que je travaille avec jelix 1.1 et que je base mon controlleur sur le controlleur crud prédéfini.

J'ai deux tables "evenements" et "semaine" et une table de jointure "evenements_semaine". Lorsque j'édite un enregistrement issu d'une table "evenement" une liste de checkboxes (à choix multiple donc) me permet pour mon évenement de choisir plusieurs jours dans la semaine. Ca marche super tout va bien merci à lj.

Là ou le bas blesse c'est lorsque j'affiche la page d'édition d'un enregistrement, je souhaite initialiser ma liste de checkboxes avec les choix présents dans ledit enregistrement. Je ne peux donc pas les stocker en dur dans le fichier xml.

Et là je bloque.

Parcequ'à lire le manuel on ne peux pas faire cela directement en modifiant le fichier xml du form alors j'ai essayé de surcharger la méthode _view ainsi :

 protected function _view($form, $resp, $tpl) {
    $form->initControlFromDao('jours', 'evenement_semaine');
 }

"jours" étant le ref de la liste. Mais il doit me manquer quelque chose et je ne vois pas quoi

Raphaël

  [Opened] Re: initialiser un checkboxes l'ors de l'édition d'un enregistrement

Reply #1 Posted by laurentj on 06/22/2008 22:23

Salut,

Ca marche super tout va bien merci à lj.

de rien :-) Mais qu'est ce qui fonctionne exactement ? la liste ? la création ? la modification ? Tu as juste un problème sur le détails d'un enregistrement ?

on ne peux pas faire cela directement en modifiant le fichier xml du form

Non c'est vrai. C'est un manque, mais je ne sais plus si il y a une raison pour laquelle je ne l'ai pas fait... Je viens de créer le ticket 626 pour ça.

Mais il doit me manquer quelque chose et je ne vois pas quoi

Moi non plus. Pour tes checkboxes, tu as bien utilisé <checkboxes> ? Tu peux nous montrer le contenu de cette balise ?

Au passage, je viens de me rendre compte qu'il y a un manque, car pour l'update, il faudrait avoir un hook sur preupdate pour faire ce initControlFromDao (voir ticket 627)

  [Opened] Re: initialiser un checkboxes l'ors de l'édition d'un enregistrement

Reply #2 Posted by RaphaelW on 06/22/2008 23:45

ce qui fonctionnne ce sont les éléments de base du crud : create, read, update, delete. l'affichage de la liste et la vue détaillée d'un enregistrement fonctionnent bien aussi.

Ce qui peche

  • c'est pour initaliser mes checkboxes (oui j'ai bien mis le ES à la fin) à partir d'une autre table et d'une table de jointure lorsque j'édite un enregistrement.
  • lors de l'affichage de la vue détaillée de l'enregistrement les jours sélectionnés ne s'affichent pas

Pourtant j'ai vérifié les jours sélectionnés sont bien enregistrés correctement. Voici le contenu de mes checkboxes

    <checkboxes ref="jours">
      <label>jours</label>
      <datasource dao="admin~semaine" method="findAll"
                  labelproperty="nom"/>
    </checkboxes>

Raphaël

 
Page
  1. initialiser un checkboxes l'ors de l'édition d'un enregistrement