Project

General

Profile

Development #25305

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

Added by Frédéric Péters about 2 years ago. Updated over 1 year ago.

Status:
Solution déployée
Priority:
Normal
Assignee:
Target version:
-
Start date:
17 Jul 2018
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

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.

0001-submission-handle-NameID-in-query-string-25305.patch View (2.45 KB) Thomas Noël, 19 Jul 2018 09:52 AM

0001-submission-allow-NameID-and-channel-is-query-string-.patch View (5.3 KB) Thomas Noël, 19 Jul 2018 05:14 PM


Related issues

Related to Publik - Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil Fermé 29 Oct 2017 30 Jun 2018

Associated revisions

Revision 439a5bb8 (diff)
Added by Thomas Noël about 2 years ago

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

History

#1 Updated by Frédéric Péters about 2 years ago

  • Related to Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil added

#2 Updated by Thomas Noël about 2 years ago

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 Updated by Thomas Noël about 2 years ago

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 Updated by Frédéric Péters about 2 years ago

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 Updated by Thomas Noël about 2 years ago

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

#6 Updated by Frédéric Péters about 2 years ago

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

#7 Updated by Benjamin Dauvergne about 2 years ago

  • Assignee set to Thomas Noël

#8 Updated by Thomas Noël about 2 years ago

  • Status changed from Solution proposée to 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 Updated by Frédéric Péters over 1 year ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF