CMS Automne
http://www.automne-cms.org/forum/

Champs obligatoires objets polymod Automne 3.3.2
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=914
Page 1 sur 1

Auteur:  dbanon [ Ven Juil 08, 2011 10:15 am ]
Sujet du message:  Champs obligatoires objets polymod Automne 3.3.2

Bonjour,

Nous venons de nous apercevoir d'une anomalie assez importante lors de la création d'objets dans un module polymod sous Automne 3.3.2.
A la création d'un objet, lorsque nous ne renseignons pas tous les champs obligatoires et que nous validons, nous obtenons le message d'erreur suivant :
[Tous les champs obligatoires ne sont pas renseignés]

Malgré cette erreur, l'objet a tout de même été créé (il est visible dans la liste des objets du module). Il est donc possible de créer des objets sans renseigner les champs obligatoires ce qui s'avère très gênant.

La version 3 d'Automne est-elle toujours maintenue, et, le cas échéant, la sortie d'un patch est-elle envisageable ?

Merci !

Auteur:  Sébastien [ Ven Juil 08, 2011 10:19 am ]
Sujet du message:  Re: Champs obligatoires objets polymod Automne 3.3.2

Bonjour,

Non, la version 3.3.2 n'est plus maintenue et un patch n'est pas envisageable, il faut migrer vers Automne 4 (il faut passer par notre support pour ça, nous ne fournissons pas de patch pour cette migration, trop critique pour être automatisée).

Après, je connais ton problème, il n'est pas systématique, il ne survient que dans le cas ou ton objet possède un champ fichier ou image. Supprime le ou les champs fichiers / image de ton objet et tu verras que le problème ne survient pas.

Auteur:  dbanon [ Ven Juil 08, 2011 12:12 pm ]
Sujet du message:  Re: Champs obligatoires objets polymod Automne 3.3.2

Merci pour cette réponse.

Auteur:  dbanon [ Mer Juil 20, 2011 9:13 am ]
Sujet du message:  Re: Champs obligatoires objets polymod Automne 3.3.2

Bonjour,

Pour information, avec un collègue nous avons fait une modification rapide (mais pas parfaite) qui permet de corriger le problème (on continue à tester tout de même).
Nous avons modifié les fichiers suivants :

- automne\admin\modules\polymod\item.php :
Citer:
foreach ($fieldsObjects as $fieldID => $aFieldObject) {
if (!$item->setValues($fieldID, $_POST,'',$allOK)) {
...


- automne\classes\modules\polymod\polyobjects\poly_object.php (fonction "setValues") :
Citer:
function setValues($fieldID, $values, $prefix, $mandatoriesOK=TRUE) {
...
//for object who need object id
if (!$this->getID()) {
//if object has not id yet, save it
if ($mandatoriesOK) {
$this->writeToPersistence();
}
else
{
return true; // Permet d'éviter une erreur PHP sur le "$this->getID()" dans le "return" suivant
}

}
return $this->_objectValues[$fieldID]->setValues($values, $prefix, $this->getID());


Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/