"Accès refusé" lors de la soumission

J’ai rempli le formulaire publié par Framasoft Nextcloud et les structures actrices du progrès social et de la justice sociale | Framaforms.org.
Lors de la soumission du formulaire, j’obtiens le message : " Accès refusé - Vous n’êtes pas autorisé(e) à accéder à cette page."
Je suis connecté avec mon utilisateur Framaforms/Yakforms ordinaire.
C’est un bug ?

Bonjour,
c’est peut être un bug, mais c’est surprenant, car non, nous n’avons pas fermé le formulaire.

Avez-vous rempli plusieurs fois le formulaire avec ce compte (ça m’étonnerait mais je pose quand même la question) ? Ou était-ce la première fois que vous essayez de répondre ?
(au pire, vous pouvez y répondre sans être connecté, mais c’est très étonnant)

Note : je vois bien une réponse de @pHneutre à 10h18 ce matin :thinking:

En fait c’est la même chose avec tous les formulaires qui ne m’appartiennent pas, à partir du moment où je suis connecté avec mon utilisateur. Si je ne suis pas authentifié, ça n’arrive pas. Comme si j’avais moins de droits en étant authentifié qu’en ne l’étant pas…

Mais le formulaire est bien soumis, ce qui induit en erreur.

PS : où est le dépot git de Yakforms ? Impossible de trouver l’info.

1 Like

Le site : https://yakforms.org/
Le dépôt : Yakforms / Yakforms · GitLab

Merci @spf, je cherchais sur framaforms.org, ça gagnerait à être plus visible je pense. :slight_smile:

1 Like

Bonjour,
A mon avis ça vient de la fonction d’anonymisation yakforms.module > yakforms_webform_submission_load.
Elle met l’uid de la soumission à 0 même si la soumission à été faite par l’utilisateur actuel.
Du coup, quand la fonction webform.module > webform_confirmation_page_access test si la soumission appartient à l’utilisateur, ça ne fonctionne pas car l’uid de la soumission est à 0 (différent de l’uid de l’utilisateur).
il faudrait ajouter un test sur l’utilisateur courant dans yakforms.module > yakforms_webform_submission_load, ex :

/**
 * Implements hook_webform_submission_load :
 * anonymizes the webform submissions for the author to see.
 */
function yakforms_webform_submission_load(&$submissions) {
  global $user;
  $submission = current($submissions);
  if (in_array('administrator', $user->roles)) {
    // Do we need to anonymze ?
  }
  else {
    foreach ($submissions as $sid => $submission) {
      // If called for, anonymize uid and ip of submission before display.
      if($user->uid!=0 && $user->uid == $submission->uid)continue;
      $submission->uid = 0;
      $submission->name = 'Anonymous';
      $submission->remote_addr = '0.0.0.0';
    }
  }
}
1 Like

Bonjour,
Depuis quelques temps, de plus en plus de personnes ne parviennent pas accéder aux formulaires que j’ai crées quelque soit le navigateur utilisé, qu’ elles est créée un compte framaforms/yakforms ou non. De mon côté j’y accède très bien que je sois enregistrée ou non et avec plusieurs navigateurs. Je ne sais donc pas de quel côté chercher pour résoudre ce problème qui devient de plus en plus galère. Avez-vous une idée ?
Bonne journée