Development #8177
saisie backoffice : permettre de préciser l'usager concerné
0%
Description
Pour le moment une demande saisie depuis le backoffice est nécessairement anonyme; pour faire une saisie "au nom de" il faudrait que l'agent puisse assigner un usager à la demande qu'il saisit.
Ça ne devrait sans doute pas être enregistré (dans formdata.user_id) tant que le formulaire est en brouillon, pour éviter que l'usager en frontoffice ait un accès à la demande alors que l'agent est occupé à la saisir.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Thomas Noël il y a presque 7 ans
Frédéric Péters a écrit :
Ça ne devrait sans doute pas être enregistré (dans formdata.user_id) tant que le formulaire est en brouillon, pour éviter que l'usager en frontoffice ait un accès à la demande alors que l'agent est occupé à la saisir.
(je note ça ici) Il y a, au niveau de l'api, formdata.submission_context['user_id]
qui pourrait devenir "officiel". Affichage pendant la saisie sur colonne de droite, et stockage dans formdata.user_id uniquement quand le statut n'est plus "draft".
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Lié à Development #37527: Lier des utilisateurs à des fiches ajouté
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 3 ans
- Lié à Development #45417: Proposer un lien d'inscription à un événement depuis la vue de listing des événements ou depuis la page d'un événement ajouté
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Fichier 0001-backoffice-allow-selecting-user-during-submission-81.patch 0001-backoffice-allow-selecting-user-during-submission-81.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Plutôt clair je pense, quelques notes,
- ça réutilise l'/api/users/, que ça ouvre donc aux agents qui ont les droits en saisie,
- c'est actif uniquement pour les demandes (nouveaux attributs has_channel_support & has_user_support, qui sont faux pour les fiches),
- l'idée est quand se définira formellement la possibilité de lier un usager à une fiche (via paramétrage du modèle, où on pourra définir si oui ou non ou peut-être), has_user_support pourra varier en fonction,
- has_channel_support est également mis à faux dans le cas où welco est déployé, pour ne rien changer à ce fonctionnement (réception du canal via la query string, enregistrement fixe de celui-ci),
- devoir suivre welco et les usages existants où un ?NameID= est passé à la saisie ça fait aussi que l'usager n'est plus éditable une fois qu'il est défini.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
(ceci n'est pas une review)
Je teste la branche en local pour essayer de comprendre #48354
A priori il manque l'inclusion de select2.js, j'ai des erreurs JS et un menu qui s'affiche mal sans ça
diff --git a/wcs/backoffice/root.py b/wcs/backoffice/root.py index 71e1d5ef..d5f731ec 100644 --- a/wcs/backoffice/root.py +++ b/wcs/backoffice/root.py @@ -133,7 +133,7 @@ class RootDirectory(BackofficeRootDirectory): def _q_access(self): get_response().breadcrumb = [] # reinit, root the breadcrumb in the backoffice get_response().breadcrumb.append( ('backoffice/', _('Back Office')) ) - get_response().add_javascript(['jquery.js', 'qommon.admin.js']) + get_response().add_javascript(['jquery.js', 'select2.js', 'qommon.admin.js']) req = get_request() if self.check_admin_for_all():
Mis à jour par Frédéric Péters il y a plus de 3 ans
Tu as bien #47867 ? (il est dans la branche mais sait-on jamais). Tu as l'erreur sur quelle page ?
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier Capture d’écran de 2020-11-12 14-47-20.png Capture d’écran de 2020-11-12 14-47-20.png ajouté
oui, je suis sur la branche wip/8177-user-selection avec 2e601618f2851d4f162a836d4b53c0d2f9c47918 et b0b402ba0924351449bd0e65a1a2c34548d0092b
J'ai l'erreur sur /backoffice/management/listing par exemple
ou /backoffice/management/<form-slug>/
et sur toute page du BO w.c.s. j'ai ce menu
Mis à jour par Frédéric Péters il y a plus de 3 ans
Je ne rencontre pas ça, tu as des infos dans la console javascript, pour voir ce qui appellerait select2 ?
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier Capture d’écran de 2020-11-12 15-21-30.png Capture d’écran de 2020-11-12 15-21-30.png ajouté
ici:
$('div.submit-user-selection select').select2(select2_options);
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ok, j'ai ajouté un if ($('div.submit-user-selection').length) {
devant; sans tester mais ça doit permettre de passer.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
if self.selected_user_id: r += htmltext('<option value="%s">%s</option>') % ( self.selected_user_id, get_publisher().user_class.get(self.selected_user_id) )
Il me semble que get_publisher().user_class.get(self.selected_user_id)
crashe si le user id n'existe pas
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ça ne devrait pas arriver vu qu'il vient d'être choisi mais sait-on jamais et branche modifiée pour se protéger du crash (ajout de ignore_errors=True), ça afficherait "None" ce qui est moyen mais comme je ne pense pas que cette situation puisse vraiment arriver, ça me semble suffisant.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
J'ai un peu testé, regardé le diff, ça m'a l'air ok, mais je préfèrerais qu'un autre dev valide, genre Thomas qui a l'air de plus maîtriser le sujet :)
Mis à jour par Thomas Noël il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
has_channel_support est également mis à faux dans le cas où welco est déployé, pour ne rien changer à ce fonctionnement (réception du canal via la query string, enregistrement fixe de celui-ci),
Ca sera quand même à revoir, parce que à terme welco est dédié uniquement au canal papier, les autres canaux (telephone, guichet) sont gérés via le portail agent combo directement -- mais c'est plutôt l'objet d'un ticket/projet à part sur ce sujet précis, parcours de saisie backoffice etc.
Fonctionnement on risque de heurter un mur par rapport aux homonymes (je ne compte plus le nombre de Thomas Noël à Massy). Il faudrait à mon avis afficher quelques détails (attributs) de l'usager choisi en dessous. Mais ça peut être un ticket à côté.
On aura un autre soucis qui est le pré-remplissage sur la première page, ça ne pourra pas fonctionner sur les attributs utilisateur. De là, je me demande si on ne devrait pas choisir l'usager avant même de rentrer dans le formulaire ? C'est sans doute un bien trop gros changement.... surtout sachant que le chemin normal fonctionne déjà ainsi (chemin normal : la saisie est initiée depuis la fiche usager sur le portail agent combo).
Bref, je ne suis fonctionnellement pas très convaincu mais le patch est ok.
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ca sera quand même à revoir, parce que à terme welco est dédié uniquement au canal papier, les autres canaux (telephone, guichet) sont gérés via le portail agent combo directement -- mais c'est plutôt l'objet d'un ticket/projet à part sur ce sujet précis, parcours de saisie backoffice etc.
En pratique la variable welco_url n'est plus posée automatiquement, mais oui il y aura à un moment, genre si jamais welco se retrouve vraiment utilisé pour le courrier, à refaire un tour.
Fonctionnement on risque de heurter un mur par rapport aux homonymes (je ne compte plus le nombre de Thomas Noël à Massy). Il faudrait à mon avis afficher quelques détails (attributs) de l'usager choisi en dessous. Mais ça peut être un ticket à côté.
Oui j'y ai pensé surtout qu'on a un gabarit de rendu des usagers mais celui-ci est prévu pour fournir des bouts plus longs, avec de l'HTML et cie.
On aura un autre soucis qui est le pré-remplissage sur la première page, ça ne pourra pas fonctionner sur les attributs utilisateur. De là, je me demande si on ne devrait pas choisir l'usager avant même de rentrer dans le formulaire ? (...)
Oui le choix de l'utilisateur avant d'entrer est le parcours recommandé via le portail agent; ici il y avait justement la demande qu'il puisse être choisi après avoir entamé la saisie.
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 f03e42545ef444a0c0bc27e24b0d384536bd7eaf Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Oct 20 15:19:07 2020 +0200 backoffice: allow selecting user during submission (#8177)
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
backoffice: allow selecting user during submission (#8177)