[RÉSOLU] CCK signup message d'erreur à l'inscription à un évènement.

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour

J'ai suivi à la lettre http://drupal.org/node/1479460 : "Signing up for events with CCK Signup (Drupal 7)"

La création d'évènements se passe bien.
Mais l'inscription à un évènement, si elle s'effectue, retourne un message d'erreur :

Notice : Undefined index: fr dans _cck_signup_validate_signup_node() (ligne 102 dans /var/www/clients/client109/web170/web/sites/all/modules/cck_signup/cck_signup.module)

La ligne 102 est la dernière de la séquence suivante :

function cck_signup_validate_signup_node($form, &$form_state) {
$values = $form_state['values'];
$type = $values['type'];
$field_name = variable_get('cck_signup_signup_type
' . $type, FALSE);
$override = user_access('override cck signup restrictions');
$event = FALSE;
$language = $values['language'];
if (!$event = node_load($values[$field_name][$language][0]['nid'])) {
return;
}

Est-ce que cela peut expliquer des comportements inattendus ensuite lorsqu'on supprime des évènements ou qu'on cancelle des inscriptions? La base de données est-elle corrompue ?

Que faut-il corriger pour supprimer ces messages d'erreur ?

Cordialement
Pierre

Version de Drupal : 

Je ne crois pas qu'il y ait de gros problème; votre erreur est de type "notice". Malgré tout, il est préférable de la régler.

A priori, vous soumettez dans votre formulaire des valeurs dont la langue serait 'fr', alors que votre contenu "Event" auquel elle se rapporte ne le serait pas. Du coup, $values[$field_name][$language] (en remplaçant $language par 'fr') n'est pas trouvé et vous avez un "undefined index".
C'est peut être un manque de contrôle de la part de CCK Signup, mais vous pouvez peut être résoudre le problème en checkant les langues de vos nodes "Event".

Je vous dis tout ça a vue de nez, je me trompe peut-être et il faudra peut-être aller plus loin dans le debuggage.

Effectivement et grand merci !
Cette piste m'a siffit pour résoudre le problème :
J'ai activé "gestion multilingue" dans "options de publications" des types de contenu "event" et "signup".
Très cordialement
Pierre