Projet

Général

Profil

Autre #42103

Discussion générale sur les agents faisant de la saisie

Ajouté par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
26 avril 2020
Echéance:
14 mai 2020
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Dans la veine de #40050.

Ce pourrait être avec un paramètre comme filter-agent-author-uuid (pas trop inspiré sur le author).


Demandes liées

Lié à w.c.s. - Bug #44152: Le filtrage sur la vue listing avec ?filter-<identifiant> disparaît au rafraîchissement automatique du listingFermé17 juin 2020

Actions
Lié à w.c.s. - Development #45072: attribut/colonne dédiée pour l'user id de l'agent qui a fait la saisieFermé13 juillet 2020

Actions

Historique

#1

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

  • Sujet changé de Permettre la recherche via l'API d'une demande ou d'une fiche en utilisant l'uuid de l'agent qui l'a saisi à Permettre la recherche via l'API d'une demande ou d'une fiche en utilisant l'uuid de l'agent qui l'a saisie
#3

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

  • Echéance mis à 14 mai 2020
#5

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Le plan pour ce développement tel qu'envisagé par Fred :

"Filtrer sur l'agent qui a fait la saisie (#42103), c'est pas trop compliqué mais un peu chiant différentes directions possibles, et donc faut guider (vite fait et sur le moment : passer l'attribut submission_context de la db en jsonb, et sans doute modifier la classe "criteria" Equal pour gérer ça) (mais on pourrait aussi se dire qu'on veut ça de manière nettement structurée et simple d'accès et en faire un champ dédié dans la table, juste là, j'aime moins)."

Mon avis perso : submission_context devrait être retreint à des trucs pas "génériques" / pas prévus (genre ce que pousse welco avec les courriers)[1], donc la création d'une nouvelle colonne dédiée me paraît plus intéressante que de convertir submission_context en JSONB (chose qui peut-être faite par ailleurs, parce que c'est plus propre, l'extension de Criteria pour gérer le JSONB semble moins importante); donc ce serait :
  • migration: déplacement de formdata.submission_context['agent_id'] vers sa propre colonne backoffice_submission_agent_id
  • modification à l'API de listing: ajout d'une paramètre filter-agent-uuid / filter-agent-id : en cas d'uuid faut convertir vers l'id depuis la base des utilisateurs

1 on devrait toujours viser à structurer quand on peut.

#6

Mis à jour par Frédéric Péters il y a presque 4 ans

Taper deux plans différents rend un ticket irréalisable.

#7

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Frédéric Péters a écrit :

Taper deux plans différents rend un ticket irréalisable.

Je peux enlever le tien ou tu y tiens ?

#8

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Plan officiel :
  • ajout d'une migration : conversion de submission_context en JSONB
  • modification au critère "Equal" : gérer les colonnes JSONB (voir comment désigner un sous-champ JSONB via le paramètre attribute, passer une liste comme chemin ? utiliser la syntaxe Django à base double underscore ? Fred dira)
  • modification à l'API de listing: ajout d'une paramètre filter-agent-uuid / filter-agent-id : en cas d'uuid faut convertir vers l'id depuis la base des utilisateurs via .get_users_with_name_identifier()

Ignorer l'autre plan.

#9

Mis à jour par Frédéric Péters il y a presque 4 ans

Comme noté explicitement, j'aime moins l'idée d'en sortir les infos pour faire des colonnes dédiées.

#10

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

  • Sujet changé de Permettre la recherche via l'API d'une demande ou d'une fiche en utilisant l'uuid de l'agent qui l'a saisie à Permettre la recherche via l'API de demandes ou de fiches en utilisant l'uuid de l'agent qui l'a saisie
#11

Mis à jour par Thomas Noël il y a presque 4 ans

A noter que cette évolution de filtrage selon agent-uuid / agent-id pourrait permettre une API « dernières demandes saisies par l'agent xxx », afin de construire sur le portail agent une cellule « les dernières demandes que j'ai saisies » très utiles à un agent d'accueil.

Je ne me prononce pas sur "requêtes sur le jsonb" versus "colonne dédiée", mais je note qu'il serait bien d'avoir cette colonne "backoffice_submission_agent_id" dans la vue globale et j'ai donc l'impression que le plan "colonne dédiée" trouve ici un écho.

#12

Mis à jour par Pierre Cros il y a presque 4 ans

J'avoue que je suis pas sûr du truc au niveau fonctionnel. Pour moi :

  • Soit l'agent qui a saisi a le droit de voir la demande (parce qu'elle fait partie de la famille de téléservice pour laquelle il a un droit de traitement), on lui donne une fonction dans le traitement, on la lui retire lorsque la demande passe dans un statut où on ne souhaite plus qu'il la voit.
  • Soit l'agent qui a saisi n'a pas le droit de voir la demande et on est pas dans les clous en lui donnant cet accès. C'est une chose de saisir, et de pouvoir vérifier que tout s'est bien déroulé. S'en est une autre de pouvoir regarder la demande plusieurs heures/jours après la saisie, ça nécessite un droit de traitement.

De mon côté, avec les gabarits du résumé, il me semble que j'arrive à mettre l'info nécessaire aux agents d'accueil, dans leurs listings.

#13

Mis à jour par Pierre Cros il y a presque 4 ans

Mais en relisant je me dis qu'on ne parle que d'accès au listing et pas à la demande, donc vous pouvez m'oublier.

#14

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Thomas Noël a écrit :

A noter que cette évolution de filtrage selon agent-uuid / agent-id pourrait permettre une API « dernières demandes saisies par l'agent xxx », afin de construire sur le portail agent une cellule « les dernières demandes que j'ai saisies » très utiles à un agent d'accueil.

Je ne me prononce pas sur "requêtes sur le jsonb" versus "colonne dédiée", mais je note qu'il serait bien d'avoir cette colonne "backoffice_submission_agent_id" dans la vue globale et j'ai donc l'impression que le plan "colonne dédiée" trouve ici un écho.

Dans le thread sur la liste travailleur je suggérais de donner un accès à la demande sur la base de cette colonne, mais je ne suis pas entré dans les détails. Ce serait un accès en frontoffice et pour une durée limitée, disons quelques heures à partir de la soumission (ça pourrait se faire dans FormData.is_submitter(user)).

#15

Mis à jour par Thomas Noël il y a presque 4 ans

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

A noter que cette évolution de filtrage selon agent-uuid / agent-id pourrait permettre une API « dernières demandes saisies par l'agent xxx », afin de construire sur le portail agent une cellule « les dernières demandes que j'ai saisies » très utiles à un agent d'accueil.

Je ne me prononce pas sur "requêtes sur le jsonb" versus "colonne dédiée", mais je note qu'il serait bien d'avoir cette colonne "backoffice_submission_agent_id" dans la vue globale et j'ai donc l'impression que le plan "colonne dédiée" trouve ici un écho.

Dans le thread sur la liste travailleur je suggérais de donner un accès à la demande sur la base de cette colonne, mais je ne suis pas entré dans les détails. Ce serait un accès en frontoffice et pour une durée limitée, disons quelques heures à partir de la soumission (ça pourrait se faire dans FormData.is_submitter(user)).

Pour moi, non, pour ça on devrait éviter d'inventer : l'accès à l'info "nom de la demande + résumé + statut" suffit (comme dit Pierre plus haut, "le listing"). C'est ce qu'on fait déjà au niveau de la recherche ou de la vue par usager. Le fait qu'un agent a soumis une demande ne lui donne pas explicitement de droit pour aller voir ce qu'elle est devenue, même dans les premières heures, parce que "on sait jamais". Si l'agent doit pouvoir voir la demande, alors on lui donne explicitement un rôle pour cela, et voilà.

#16

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Tracker changé de Development à Autre
  • Sujet changé de Permettre la recherche via l'API de demandes ou de fiches en utilisant l'uuid de l'agent qui l'a saisie à Discussion générale sur les agents faisant de la saisie
#17

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

Thomas Noël a écrit :

Pour moi, non, pour ça on devrait éviter d'inventer : l'accès à l'info "nom de la demande + résumé + statut" suffit (comme dit Pierre plus haut, "le listing"). C'est ce qu'on fait déjà au niveau de la recherche ou de la vue par usager. Le fait qu'un agent a soumis une demande ne lui donne pas explicitement de droit pour aller voir ce qu'elle est devenue, même dans les premières heures, parce que "on sait jamais". Si l'agent doit pouvoir voir la demande, alors on lui donne explicitement un rôle pour cela, et voilà.

Ok, n'en discutons plus ici, je voulais juste détailler mon idée.

#18

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

Mon besoin à l'origine de ce ticket c'est pour des agents qui font de la saisie et du traitement, et il est toujours valable. La discussion devrait se tenir ailleurs pour laisser ce ticket développement voir le jour.

#20

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

J'ai donc ajouté une donnée de traitement avec pour identifiant gestionnaire définie dans le premier statut avec {{ form_submission_agent_nameid }} et le listing est appelé avec ?filter-gestionnaire=<uuid de l'agent> (#7115, #42258).

Ça répond à mon besoin mais le problème c'est que ça saute au premier rafraîchissement automatique du listing.

#21

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 4 ans

  • Lié à Bug #44152: Le filtrage sur la vue listing avec ?filter-<identifiant> disparaît au rafraîchissement automatique du listing ajouté
#22

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Lié à Development #45072: attribut/colonne dédiée pour l'user id de l'agent qui a fait la saisie ajouté
#23

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a environ 3 ans

Il y a eu, depuis la mise en oeuvre du filtrage avec une donnée de traitement décrit en note 20, le développement #45072. Mais je ne suis pas parvenu à le mettre en oeuvre. Comment est-ce que je peux l'utiliser pour ce cas d'usage ?

#24

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

Après trois jours déjà faut me rappeler de quoi on parle, donc après sept mois n'en parlons pas. Tu peux décrire ton cas d'usage et ce que tu as fait et ce que tu attendais et ce qui s'est passé à la place ?

#25

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a environ 3 ans

Je souhaite envoyer un agent sur la vue listing et que celle-ci soit filtrée sur les demandes qu'il a saisies.
Actuellement je mets dans une donnée de traitement nommée gestionnaire {{ form_submission_agent_nameid }} et j'affiche à l'agent un lien sur la vue listing avec ?filter-gestionnaire=<son uuid>.

Je préfèrerais basculer sur une prise en charge native, je proposais pour cela un filtre filter-agent-author-uuid.
Avec un peu plus de recul, il y a une colonne « Saisie par » dans les colonnes, et on pourrait avoir un critère de filtrage sur ce même champs.
Peut-être alors ce critère de filtrage pourrait être prérempli avec un champs fourni via l'api, par exemple filter-agent-author-uuid.

#45072 a apporté des choses mais je ne sais pas précisément quoi ni ça va dans cette direction.

#27

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

Tu veux #45080 et utiliser filter-submission-agent-uuid, il me semble.

#28

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a environ 3 ans

  • Statut changé de Nouveau à Fermé

Carrément. C'était l'objet de ce ticket avec filter-agent-author-uuid vs filter-submission-agent-uuid, donc je le ferme.

Formats disponibles : Atom PDF