Projet

Général

Profil

Development #25305

Permettre à la saisie backoffice d'être initiée avec un utilisateur/canal

Ajouté par Frédéric Péters il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
17 juillet 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Pour pouvoir initier une demande au nom de l'usager sélectionné côté portail accueil/guichet, il faudrait que la page démarrant la saisie par un agent d'une demande puisse recevoir dans sa query string ces infos et les conserver.


Fichiers


Demandes liées

Lié à Publik - Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueilFermé29 octobre 201730 juin 2018

Actions

Révisions associées

Révision 439a5bb8 (diff)
Ajouté par Thomas Noël il y a plus de 5 ans

submission: allow NameID and channel in query string (#25305)

Historique

#1

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

  • Lié à Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil ajouté
#2

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

Si par hasard tu as une idée de piste où poser ce bout de truc, je prends... j'ai tenté à côté de la gestion du beau __cancelurl ou dans backoffice/submission.py mais rien qui ne soit digne de ne pas être appelé gros-hack-qui-tache.

En fait, je crois que je ne comprends toujours pas wcs/forms/root.py (oui, au bout de 10 ans...)

#3

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

Le point où j'en suis, qui ne me satisfait pas du tout, y compris fonctionnellement car l'agent arrive sur la première page sans voir l'usager associé sur la barre latérale (comme le code de suivi, de fait, tout n'apparait que sur la page suivante).

#4

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

Côté approche, j'avais plutôt en tête, en présence du paramètre dans la querystring, de créer un brouillon(/prédemande), comme c'est aujourd'hui le cas quand welco appelle l'API, ces parties-ci de l'API :

        if json_input.get('context'):
            formdata.submission_context = json_input['context']
            formdata.submission_channel = formdata.submission_context.pop('channel', None)
            formdata.user_id = formdata.submission_context.pop('user_id', None)
...
        if meta.get('backoffice-submission'):
            # keep track of the agent that did the submit
            if not formdata.submission_context:
                formdata.submission_context = {}
            formdata.submission_context['agent_id'] = user.id
...
        if meta.get('draft'):
            formdata.status = 'draft'
            formdata.receipt_time = time.localtime()
            formdata.store()

Ensuite, une fois le formdata.store() effectué, faire une redirection vers celui-ci (.rstrip('/') sans doute nécessaire), pour embrayer sur le code de saisie normal.

Quelques lignes concentrées dans FormFillPage::_q_index de submission.py.

#5

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

Gros merci pour cette idée, ça marche pas mal du tout.

#6

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

s/is/in/ dans le message de commit; mais avec ça ok. (pas exécuté en local)

#7

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Assigné à mis à Thomas Noël
#8

Mis à jour par Thomas Noël il y a plus de 5 ans

  • Statut changé de Solution proposée à Résolu (à déployer)
commit 439a5bb82cdacb011e3c83f73ebc33af31df3434
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Thu Jul 19 17:13:40 2018 +0200

    submission: allow NameID and channel in query string (#25305)

#9

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

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

Formats disponibles : Atom PDF