Bug #37107
Brouillon inacessible sur un formulaire avec code de suivi désactivé
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
21 octobre 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Quand on accède à un brouillon depuis le portail usager pour un formulaire avec code suivi désactivé, l'authentification n'est pas provoqué, même en ajoutant /tryauth
ou /auth
en fin d'URL.
Ça vient de ce code :
def _q_lookup(self, component): try: filled = self.formdef.data_class().get(component) except KeyError: raise errors.TraversalError() if not filled.is_draft(): if get_request().is_in_backoffice(): get_session().message = ('error', _('This form has already been submitted.')) return redirect(get_publisher().get_backoffice_url() + '/submission/') return PublicFormStatusPage(self.formdef, filled) session = get_session() if not (get_request().is_in_backoffice() or self.has_draft_support() or <-- ICI session.is_anonymous_submitter(filled)): # don't allow restoring drafts if drafts are no longer enabled for # this form. raise errors.AccessForbiddenError()
dans le code de has_draft_support() on a :
def has_draft_support(self): if self.edit_mode: return False if self.formdef.enable_tracking_codes: <- ICI return True session = get_session() return session.has_user() <- et Là
Et donc en en fait l'utilisation des brouillons dépend de l'activation des codes de suivi pour avoir l'authentification automatique qui fonctionne.
Il faudrait que sur le cas d'un brouillon avec un utilisateur attaché on fasse automatiquement un tryauth plutôt que de retourner tout de suite AcessForbiddenError.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-misc-always-allow-restoring-drafts-37107.patch 0001-misc-always-allow-restoring-drafts-37107.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
# don't allow restoring drafts if drafts are no longer enabled for # this form.
En fait simplement virer cette partie, qui n'a plus de sens vu que les brouillons sont désormais toujours activés.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 497d8d83d239fd60726f0273aebfd627a809943b Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon Oct 21 22:26:44 2019 +0200 misc: always allow restoring drafts (#37107)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: always allow restoring drafts (#37107)