Intéraction entre Formulaire et Node

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,

Voilà je vous explique le contexte.
J'ai un formulaire contenant les coordonnées d'une personne et une image à charger.
L'image et quelques champs supplémentaires sont voués à enrichir le contenu du site.
Mon formulaire doit donc à la fois inscrire un utilisateur et créer un contenu.

Ce que je pensais faire, c'est dans un premier temps de créer un nouveau type de contenu via CCK renfermant toutes les champs de mon formulaire de me créer mon propre formulaire via un module perso. Ce qui veut dire qu'aucun utilisateur Drupal n'est créé. Dans l'absolu ça ne me dérange pas car c'est le seul contenu qu'un visiteur pourra créer et ce une seule fois.

Donc, à la soumission de mon formulaire perso je pensais populer les tables concernées par mon nouveau type de contenu.

Pour cela y'a t'il un moyen d'invoquer directement une insertion d'un tuple de mon nouveau type de contenu ou dois-je faire mon INSERT normalement en ayant identifiant les différents champs à remplir au préalable ?

Voilà si quelqu'un a une réponse, je suis preneur.
Si quelqu'un trouve mon raisonnement étrange, car plus simple à faire sous Drupal, je suis preneur car je me suis peut-être égaré, car c'est une première pour moi Drupal. Le site à réaliser est assez simple en apparence et ne justifie en aucun cas l'utilisation de Drupal mais cela m'est imposé.

Voilà, d'avance merci.

Forum : 
Version de Drupal : 

Si tu n'as pas besoin de créer un user, il te suffit de créer un content type non ? Tu y ajoutes tes champs avec les infos sur la personne, un champ image, tu autorises le user anonyme à créer ce type de contenu et hop.

J'ai peur de ne pas bien comprendre où se situe le problème.

Bonjour tout d'abord merci de votre réponse.

Je pense que vous avez bien compris le problème. En fait j'ai bien fait cela, créer un content type et donner l'accès à un utilisateur anonyme. Malheureusement quand je suis un utilisateur anonyme et que je crée un nouveau contenu, le contenu est bien créé en base mais j'obtiens un "Accès refusé" à la visualisation de mon noeud créé. J'ai pourtant dans les droits d'accès "accéder au contenu" et "create participez_generique content" (mon nouveau type de contenu) activés pour un utilisateur anonyme.
De plus j'ai besoin de rajouter des tests sur mon formulaire comme le test de la confirmation email.

C'est pour cela que j'ai choisi de créer un formulaire perso. Encore une fois, il y a peut être quelque chose que je ne sais pas faire, genre surcharger la fonction concernée ?

Il y a quelque chose d'anormal au niveau des autorisations : le contenu devrait être accessible en lecture.

Souvent, ce type de souci vient d'un module qui altère un type de contenu et auquel on oublie de donner accès. Ou bien d'oublier de donner accès à l'input format et de rester connecté, ce qui interdit l'accès au formulaire de modification de node. Ça m'arrive régulièrement.

A tout hasard, il peut être intéressant de vider les caches, refaire la theme_registry etc pour être sûr.

Pour les tests, il existe des modules de validation pour tous les champs standards, email compris.

Etes-vous certain d'avoir créé le contenu en question en anonyme ?

Merci sahuni, en fait je n'utilise pas de Webform mais un nouveau type de contenu car la soumission de mon formulaire doit insérer un contenu sur le site. Mais je regarde quand même le "validation_api" qui peut peut-être me servir !

J'ai créé un contenu sans m'identifier, je suis bien en anonyme non ?
J'ai bien un module pour le champ email mais pour la confirmation email, il en existe un ?
J'ai créé un autre formulaire aussi car mes messages d'erreurs et de validation sont spécifiques. Puis-je les surcharger sur un formulaire créé avec CCK ?

Merci bien de votre attention.

A titre informatif, j'accède bien au contenu en anonyme, c'était juste qu'il n'était pas publié par défaut, d'où l'accès refusé ! LOL je m'étais un peu perdu là !!
Je pense que je vais continuer sur mon module perso et gérer tous mes champs de saisie manuellement et populer les tables concernés par mon nouveau type de contenu car je vais avoir trop de surcharge à effectuer sur le formulaire Drupal (messages affichés, tests sur champs, et redirections).

Merci pour votre aide !