Bonjour,
Je cherche à lier deux objets d'un même module polymod ensemble, via un formulaire de création.
Pour être plus clair, voici la structure de mes deux objets :
Affaires :-Libellé (texte)
-Code (texte)
Doc Qualité-Libellé (texte)
-Fichier (fichier)
-.....
-Affaires (objet de type Affaires)
J'ai donc un formulaire atm-form dans une de mes pages pour créer un document qualité. La subtilité est que dans certains cas, un document peut être lié à une affaire. J'ai donc crée une liste déroulante dans mon formulaire pour choisir l'objet Affaires à lier.
A la validation, l'id de l'affaire sélectionnée est bien envoyé, mais le formulaire provoque une erreur. Cependant le document est bien créé, seule l'affaire reste vide. A force de chercher, je me suis rendu compte que c'est ma partie atm-form-callback qui semble provoquer l'erreur. c'est cette partie qui est normalement censée lier les deux objets. Voici le code correspondant :
Code :
<atm-form-callback form="createDoc">
<!-- Ici nous choisissons de rechercher un objet Document_Qualite -->
<atm-search what="{Affaires}" name="addDoc" public="false">
<atm-search-param search="addDoc" type="item" value="{request:int:aff}" mandatory="true" />
<atm-result search="addDoc">
<!--
Dans l'actualité trouvée nous ajoutons le nouvel objet Message créé par
le formulaire dans le champ stockant les Messages
-->
<atm-object-link field="{Document_Qualite:Affaires}" objectId="{Affaires:id}" />
</atm-result>
</atm-search>
</atm-form-callback>
En regardant dans les logs d'erreur, j'obtiens cette ligne :
Code :
2012-01-03 16:52:43|http|PHP Warning : Parameter 2 to form_createDoc() expected to be a reference, value given line 442 of file /var/www/automneV4/automne/classes/modules/polymod/poly_definition_functions.php
Apparemment, il y aurai un paramètre erroné quelque part mais ma connaissance atteint ses limites
Peut-être est-ce une mauvaise utilisation de la balise <atm-object-link>?
Si quelqu'un peut me donner une piste, je lui en serait fortement reconnaissant