Projet

Général

Profil

Bug #45711

Formulaire autorisé une seule fois en saisie backoffice.

Ajouté par Nicolas Roche il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 août 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

En saisie backoffice,
pour limiter la saisie d'un formulaire à une seule demande,
on s'assure qu'il n'y a pas déjà de demande pour l'utilisateur courant (l'agent),
au lieu d'utiliser le compte de l'usager pour qui la demande est faite.

Vu sur https://dev.entrouvert.org/issues/42295 (par effet de bord) :
Si l'agent saisi une demande pour lui, alors il ne peut plus en saisir pour les usagers


Fichiers

Révisions associées

Révision 3901a534 (diff)
Ajouté par Frédéric Péters il y a plus de 3 ans

backoffice: ignore "only one" limit for agent submissions (#45711)

Révision 4a7ea75f (diff)
Ajouté par Frédéric Péters il y a plus de 3 ans

backoffice: inform submission agent if user already has limited form (#45711)

Historique

#1

Mis à jour par Nicolas Roche il y a plus de 3 ans

Voici un test qui effectue deux demandes consécutives pour un même utilisateur (et qui prévoit d'échouer sur la seconde).

#4

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • Patch proposed changé de Oui à Non
#6

Mis à jour par Frédéric Péters il y a plus de 3 ans

Deux sujets en fait ici :

  • le bug lié, qui est qu'une demande déposée par l'agent ne devrait pas interférer sa saisie.

Correction dans 0001.

  • un développement, avec question, sur le comportement à adopter quand une saisie serait entamée pour un usager qui en a déjà une.

Question à se poser parce que par exemple on ne prend pas en compte une éventuelle limite sur les rôles, ni l'obligation d'avoir un usager associé.

Mais à vouloir faire quelque chose, puisqu'on est là, mon option est plutôt d'informer l'agent mais de lui permettre de quand même faire la saisie.

C'est 0002.

#7

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • 0001

une demande déposée par l'agent ne devrait pas interférer sa saisie.

Ack (limpide) :

# /wcs/backoffice/submission.py
def check_unique_submission(self):
   return None

Mais avec au passage une correction pour l'éditon des formulaire dans le workflow ?

# wcs/forms/root.py
def check_unique_submission(self):
   if self.edit_mode:
       return None
   ...
  • 0002

Je n'arrive pas à reproduire comportement du test en jouant la saisie backoffice sur un tel formulaire localement.
Pour le calcul de has, formdata.user_id est toujours nul chez moi ;
il doit manquer quelque chose à mon formulaire car dans l'inspecteur aussi form_user est toujours à None
(dans mon formulaire j'ai juste un champ texte prérempli avec le nom de l'usager).

Mais à relire le ticket client, je pense qu'effectivement j'ai extrapolé et que la demande concerne bien uniquement 0001.

#8

Mis à jour par Nicolas Roche il y a plus de 3 ans

Et en lisant #8177 : "Pour le moment une demande saisie depuis le backoffice est nécessairement anonyme",
je suis maintenant persuadé que je m'y prend mal pour reproduire 0002.

#9

Mis à jour par Nicolas Roche il y a plus de 3 ans

En fait je m'y prenais bien (demande crée depuis un le portail agent via une cellule de recherche des utilisateurs), mais j'avais un problème de provisioning sur mon devinst et donc les demandes n'étaient pas affectées à l'utilisateur. (#45758)

#10

Mis à jour par Nicolas Roche il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée

Ack (au choix 0001 ou les 2 patchs)

#11

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 4a7ea75faa0517635027fd140be42a023c01f391
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Aug 3 21:15:37 2020 +0200

    backoffice: inform submission agent if user already has limited form (#45711)

commit 3901a53467a60d215c12a0715f876bfa06998a60
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Aug 3 20:03:32 2020 +0200

    backoffice: ignore "only one" limit for agent submissions (#45711)
#12

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF