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

  [Opened] [Résolu] Petit Bug?

Posted by leodc on 08/14/2008 15:17

A priori ce serait un bug mais je voudrais confirmation, j'explique le problème

Je manipule une table avec un dao

pour afficher une ligne de cette table, j'utilise les 4 méthodes formdatafull, formcontrol, formdata et la recherche avec la méthode findAll du dao

Voici ce que j'obtiens (tous les champs de cet enregistrement étant saisis):

avec formcontrol:

id_pompage 2
id_etat_pompage 13
Rrenouvellement Non
date_etat_pompage 07/08/2008
Etat des abords
Etat de la Cloture
Etat de la bache
Etat du regard
Etat des trappes
Etat du panier degrilleur
Etat des canalisations
Etat des clapets
Etat des chaines
Etat des potences
Etat des poires
Etat des barres de guidage
Etat de l'automatisme
Etat du traitement h2s
h2s_hors_norme 1
en_service 1

Avec findAll et l'objet record:

Etat des abords: Bon

Avec formdata:

Etat des abords:

avec formdatafull

id_pompage 2
id_etat_pompage 13
Rrenouvellement Non
date_etat_pompage 07/08/2008
Etat des abords
Etat de la Cloture
Etat de la bache
Etat du regard
Etat des trappes
Etat du panier degrilleur
Etat des canalisations
Etat des clapets
Etat des chaines
Etat des potences
Etat des poires
Etat des barres de guidage
Etat de l'automatisme
Etat du traitement h2s
h2s_hors_norme 1
en_service 1

Je dois préciser que les propriété Etat... sont remplies par un choix dans une menulist mais cela fonctionne puisque les champs sont bien remplis dans la base PostgreSql...

Je demande donc confirmation


Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

  [Opened] Re: Petit Bug?

Reply #1 Posted by leodc on 08/19/2008 17:10

Toujours pas d'idées


Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

  [Opened] Re: Petit Bug?

Reply #2 Posted by laurentj on 08/19/2008 18:00

Salut,

disons que ton message n'est pas très compréhensible. Ça correspond à quoi toute ces données que tu nous sort ?

  [Opened] Re: Petit Bug?

Reply #3 Posted by laurentj on 08/20/2008 14:10

  $form = jForms::get('sig~'.$tableEtat, $idRecord);
    
 //Sinon création du formulaire
 if($form == null){
   $form = jForms::create('sig~'.$this->getParam('tableEtat'),  $this->getParam('id'));  
   }

Etrange, dans un cas, tu récupères tableEtat à partir d'un paramètre, et dans un autre directement à partir d'une variable $tableEtat...

Pour le reste, comment est défini ta dao ? ton formulaire ?

  [Opened] Re: Petit Bug?

Reply #4 Posted by leodc on 08/21/2008 08:33

Oui c'est une erreur de ma part $tableEtat et $this->getParam('tableEtat') sont identiques...

Voici ma dao et mon formulaire...

  <datasources>
        <primarytable name="etat_pompage" realname="etat_pompage" primarykey="id_etat_pompage" />
    </datasources>
    <record>


        
    <property name="id_etat_pompage" fieldname="id_etat_pompage" datatype="autoincrement" default=""/>
    <property name="id_pompage" fieldname="id_pompage" datatype="int"/>
    <property name="id_renouvellement" fieldname="id_renouvellement" datatype="int"/>
    <property name="date_etat_pompage" fieldname="date_etat_pompage" datatype="date"/>
    <property name="etat_abords" fieldname="etat_abords" datatype="string" maxlength="128"/>
    <property name="cloture_portail" fieldname="cloture_portail" datatype="string" maxlength="128"/>
    <property name="bache" fieldname="bache" datatype="string" maxlength="128"/>
    <property name="regard_vannes" fieldname="regard_vannes" datatype="string" maxlength="128"/>
    <property name="trappes" fieldname="trappes" datatype="string" maxlength="128"/>
    <property name="panier_degrilleur" fieldname="panier_degrilleur" datatype="string" maxlength="128"/>
    <property name="canalisations" fieldname="canalisations" datatype="string" maxlength="128"/>
    <property name="clapets_vannes" fieldname="clapets_vannes" datatype="string" maxlength="128"/>
    <property name="chaines" fieldname="chaines" datatype="string" maxlength="128"/>
    <property name="potence_treuil" fieldname="potence_treuil" datatype="string" maxlength="128"/>
    <property name="poires" fieldname="poires" datatype="string" maxlength="128"/>
    <property name="barres_guidage" fieldname="barres_guidage" datatype="string" maxlength="128"/>
    <property name="electrecite_automatisme" fieldname="electrecite_automatisme" datatype="string" maxlength="128"/>
    <property name="traitement_h2s" fieldname="traitement_h2s" datatype="string" maxlength="32"/>
    <property name="h2s_hors_norme" fieldname="h2s_hors_norme" datatype="int"/>
    <property name="en_service" fieldname="en_service" datatype="int"/>

 <output ref="id_pompage">
	<label>id_pompage</label>
 </output>

 <output ref="id_etat_pompage">
	<label>id_etat_pompage</label>
 </output>

 <menulist ref="id_renouvellement" 
		  dao="administration~renouvellement" 
          daomethod="findall"
          daolabelproperty="designation"
          daovalueproperty="id_renouvellement">
      <label>Renouvellement</label>
 </menulist>

 <input ref="date_etat_pompage" type="localedate"  required="true">
	<label>date_etat_pompage</label>
 </input>

 <menulist ref="etat_abords" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation"
		  required="true">        	
      <label>Etat des abords</label>
 </menulist>

 <menulist ref="cloture_portail" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat de la Cloture</label>
 </menulist>

 <menulist ref="bache" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat de la bache</label>
 </menulist>

 <menulist ref="regard_vannes" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat du regard</label>
 </menulist>

 <menulist ref="trappes" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des trappes</label>
 </menulist>

 <menulist ref="panier_degrilleur" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat du panier degrilleur</label>
 </menulist>

 <menulist ref="canalisations" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des canalisations</label>
 </menulist>

 <menulist ref="clapets_vannes" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des clapets</label>
 </menulist>
 
 <menulist ref="chaines" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des chaines</label>
 </menulist>

 <menulist ref="potence_treuil"  
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des potences</label>
 </menulist>

 <menulist ref="poires" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des poires</label>
 </menulist>

 <menulist ref="barres_guidage" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat des barres de guidage</label>
 </menulist>

 <menulist ref="electrecite_automatisme" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat de l'automatisme</label>
 </menulist>

 <menulist ref="traitement_h2s" 
		  dao="administration~appreciation" 
          daomethod="findAll"
          daolabelproperty="designation"
          daovalueproperty="designation">
      <label>Etat du traitement h2s</label>
 </menulist>

 <checkbox ref="h2s_hors_norme">
	<label>h2s_hors_norme</label>
 </checkbox>

 <checkbox ref="en_service">
	<label>en_service</label>
 </checkbox>

 <submit ref="_submit">
	<label>ok</label>
 </submit>

Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

  [Opened] Re: Petit Bug?

Reply #5 Posted by laurentj on 08/21/2008 10:51

au premier abord, je ne vois pas ce qui cloche. Chez moi un truc dans le genre fonctionne (testapp).

Réalise un test case avec le minimum d'info (donc pas un truc avec 15000 champs). Si ça bug toujours, ouvre un ticket en mettant en pièce jointe le code (code qui doit donc comprendre le script sql de création de 2 tables + données à inserer + forms + daos + controlleur + template).

  [Opened] Re: Petit Bug?

Reply #6 Posted by leodc on 08/21/2008 17:00

Je crois que j'ai compris le problème:

en fait lorsque qu'on utilise le formcontrol et donc la méthode initFromDao. On va afficher le formulaire avec les données qui correspondantes à chaque champs. Cependant lorsque l'on tombe sur un contrôle menulist, la méthode va aller chercher la désignation qui correspond à l'id choisit, enfin je pense ;).

Seulement le problème c'est que dans mon cas il n'y pas d'id qui correspond puisque le contrôle menulist ne sert qu'à faciliter la saisie de l'utilisateur (la valeur enregistrée étant le label sélectionné dans la menulist et non son id...), il pourrait donc s'en passer et utiliser un simple input, c'est là que la méthode initFromDao ne fonctionne pas.

En espérant que tu as compris ce que je voulais dire, dis moi si je vois juste...


Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

  [Opened] Re: Petit Bug?

Reply #7 Posted by leodc on 08/27/2008 11:59

En fait je crois que j'ai tout faux, voici une partie du formulaire qui est envoyé:

 
  [_container:protected] => jFormsDataContainer Object
        (
            [datas] => Array
                (
                    [id_pompage] => 23
                    [id_etat_pompage] => 32
                    [id_renouvellement] => 
                    [date_etat_pompage] => 14/08/2008
                    [etat_abords] => Moyen
                    [cloture_portail] => Moyen
                    [bache] => Moyen
                    [regard_vannes] => Mauvais
                    [trappes] => Mauvais
                    [panier_degrilleur] => Moyen
                    [canalisations] => Moyen
                    [clapets_vannes] => Mauvais
                    [chaines] => Moyen
                    [potence_treuil] => Moyen
                    [poires] => Moyen
                    [barres_guidage] => Mauvais
                    [electrecite_automatisme] => Moyen
                    [traitement_h2s] => Moyen                           
                    [h2s_hors_norme] => 1
                    [en_service] => 1
                    [_submit] => Array
                        (
                        )

                )

            [formId] => 32
            [formSelector] => sig~etat_pompage
            [errors] => Array
                (
                )

        )

    [_sel:protected] => sig~etat_pompage

Et voici ce qui est affiché avec la méthode formdatafull:

 id_pompage	23
 id_etat_pompage	32
 Renouvellement	
 date_etat_pompage	14/08/2008
 Etat des abords	
 Etat de la Cloture	
 Etat de la bache	
 Etat du regard	
 Etat des trappes	
 Etat du panier degrilleur	
 Etat des canalisations	
 Etat des clapets	
 Etat des chaines	
 Etat des potences	
 Etat des poires	
 Etat des barres de guidage	
 Etat de l'automatisme	
 Etat du traitement h2s	
 h2s_hors_norme	1
 en_service	1

Je poste un ticket?


Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

  [Opened] Re: Petit Bug?

Reply #8 Posted by laurentj on 08/27/2008 12:35

Ok, je vois ton problème.

Mais il n'y a pas de problème dans jelix. Dans ton message d'avant, tu as vu juste, "la méthode va aller chercher la désignation qui correspond à l'id choisit". Mais comme tu n'as pas indiquer un champs identifiant comme clé, ça ne va bien sûr pas fonctionner...

À toi de faire en sorte que le champs que tu indiques comme clé, soit une clé (après tout, si les valeurs du champs designation dans administration~appreciation sont uniquse, je ne vois pas pourquoi tu n'en ferais pas une clé). Sinon je ne vois pas comment on va pouvoir récupérer le label hein ;-)

  [Opened] Re: Petit Bug?

Reply #9 Posted by leodc on 08/27/2008 14:10

OK je vois le soucis, seulement il n'y pas de clé étrangère donc je ne peux lier les deux tables...

Tanpis je vais faire autrement merci pour ton aide...


Nicolas Rion

SAS Géosphère
1 Impasse champeau
21800 Quétigny

 
Page
  1. Re: Petit Bug?