Project

General

Profile

Développement #37527

Lier des utilisateurs à des fiches

Added by Pierre Cros over 5 years ago. Updated over 4 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
Studio
Target version:
Start date:
07 November 2019
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No
Club:
No

Description

Pouvoir lier une fiche et un compte.


Related issues

Related to w.c.s. - Développement #40031: Étendre la vue de listing et les exports avec des données utilisateurs, pour les demandes et les fichesFermé19 February 202021 September 2020

Actions
Related to w.c.s. - Développement #40034: Dans la barre latérale de la page de détail d'une demande ou d'une fiche, sous "Usager associé", pouvoir choisir le contenuFermé19 February 2020

Actions
Related to w.c.s. - Développement #40050: [Studio] Permettre de rechercher via l'API une fiche en utilisant l'uuid de l'utilisateur lié à la ficheFermé20 February 2020

Actions
Related to Publik - Support #45514: Pouvoir relier des fiches existantes à un nouveau compteFermé28 July 2020

Actions
Related to w.c.s. - Développement #8177: saisie backoffice : permettre de préciser l'usager concernéFermé05 September 2015

Actions
Related to w.c.s. - Développement #48392: modèles de fiche, options d'association à un usagerFermé08 November 2020

Actions

History

#1

Updated by Benjamin Dauvergne over 5 years ago

Je propose de plutôt lier des comptes à des fiches (i.e. de stocker ça dans le profil).

#2

Updated by Mikaël Ates about 5 years ago

Après les discussions de cette semaine, il s'agirait plutôt de lier les utilisateurs à des fiches dans le sens où ce serait les fiches qui pointeraient sur les utilisateurs.

Le fait de faire porter sur le profil du user l'identifiant de la fiche repose sur le passage au formulaire de création de fiche de l'uuid du user dans session_var : {{ eservices_url }}backoffice/data/{{fiche}}/add/?session_var_dossier={{json.uuid}}). Or L'usage des variables de session pose problème. Ce pourrait être fait en utilisant request.GET + préremplissage d'un champs. Mais la possibilité de lecture seule sur ce champs pourrait ne pas avoir le comportement attendu et laisser ce champs éditable pose propblème.

Ce développement devrait permettre de passer l'uuid du user à la fiche et ainsi assurer un comportement plus robuste, par exemple :

{{ eservices_url }}backoffice/data/{{fiche}}/add/?user-id={{json.uuid}}

Ce développement permettra d'étendre les fonctionnalités, par exemple :
  • la barre latérale sur la fiche affichera le display name du user comme sur une demande,
  • la possibilité de développer, conjointement aux vues personnalisées, des possibilités de vues pour les listings ou d'exports des fiches avec des données utilisateurs.

Afin de pouvoir accéder à la fiche associée à un utilisateur lorsque l'on dispose de l'uuid de l'utilisateur, comme par exemple suite à une recherche avec la cellule de recherche, la fiche pourra être recherché avec un appel API du type :

wcs/api/cards/whatever?filter-user-uuid={{user_nameid}}

#3

Updated by Frédéric Péters about 5 years ago

Ce développement devrait permettre de passer l'uuid du user à la fiche et ainsi assurer un comportement plus robuste, par exemple :

{{ eservices_url }}backoffice/data/{{fiche}}/add/?user-id={{json.uuid}}

Je viens de tester et c'est déjà possible, comme pour les demandes, .../add/?NameID={{...}}.

#4

Updated by Mikaël Ates about 5 years ago

  • Related to Développement #40031: Étendre la vue de listing et les exports avec des données utilisateurs, pour les demandes et les fiches added
#5

Updated by Mikaël Ates about 5 years ago

  • Related to Développement #40034: Dans la barre latérale de la page de détail d'une demande ou d'une fiche, sous "Usager associé", pouvoir choisir le contenu added
#6

Updated by Mikaël Ates about 5 years ago

Mis en place ce qui permet de se passer de session_var / request.GET.

Il reste donc wcs/api/cards/whatever?filter-user-uuid={{user_nameid}} pour pouvoir se passer du stockage de l'ID de la fiche sur le user.

#7

Updated by Mikaël Ates about 5 years ago

  • Related to Développement #40050: [Studio] Permettre de rechercher via l'API une fiche en utilisant l'uuid de l'utilisateur lié à la fiche added
#8

Updated by Mikaël Ates about 5 years ago

Je le note ici pour mémoire et éviter une confusion, l'API sur les fiches prend déjà un paramètre NameID. Mais ce paramètre sert à l'autorisation et désigne l'utilisateur backoffice. Par exemple

{{ eservices_url }}api/cards/{{ fiche_slug }}/{{ fiche_id }}/?NameID={{ user_nameid }}

D'où en plus un paramètre sur GET {{ eservices_url }}api/cards/{{ fiche_slug }}/?filter-user-uuid

#9

Updated by Mikaël Ates almost 5 years ago

Suite aux tests avec #40050 j'obtiens cette définition de cellule :

    "seniors-fiche": {
      "name": "Seniors - Fiche",
      "url": "{{ idp_url }}api/users/{{ name_id }}",
      "form": [
        {"label": "Identifiant de la fiche", "varname": "fiche", "required": true}
      ],
      "varnames": [],
      "log_errors": false,
      "cache_duration": 0,
      "force_async": true,
      "additional-data": [
        {
          "key": "json_liste_fiches",
          "url": "{{ eservices_url }}api/cards/{{ fiche }}/list?NameID={{ user_nameid }}&filter-user-uuid={{ name_id }}",
          "cache_duration": 0,
          "log_errors": false,
          "timeout": 5
        },
        {
          "key": "json_fiche",
          "url": "{{ eservices_url }}api/cards/{{ fiche }}/{{ json_liste_fiches.data.0.id }}/?NameID={{ user_nameid }}",
          "cache_duration": 0,
          "log_errors": false,
          "timeout": 5
        }
      ]
    },

Est-ce correct pour ce cas où je n'ai qu'une fiche par utilisateur ?

Comment faire s'il y a plusieurs fiches associées à un utilisateur ?

#10

Updated by Mikaël Ates almost 5 years ago

Il est sûrement préférable de passer par une vue perso avec toutes les données souhaitées et de se contenter de l'appel sur /list.

Dans les 2 cas.

#11

Updated by Frédéric Péters almost 5 years ago

Je ne suis pas sûr d'avoir compris la question; l'endpoint /list renvoie dans tous les cas une liste.

#12

Updated by Mikaël Ates almost 5 years ago

Oui mais list ne renvoie pas toutes les données de la fiche, par exemple :

{'data': [{'digest': None,
           'display_id': '2-24',
           'display_name': 'Senior - n°2-24',
           'id': 24,
           'last_update_time': '2020-04-09T08:41:40',
           'receipt_time': '2020-02-20T10:43:44',
           'text': 'Senior - n°2-24',
           'url': '...backoffice/data/senior/24/'}]}

C'est pour cela que je chaîne un appel sur la fiche pour avoir les "fields".

Et il me semble plutôt préférable de faire renvoyer tous les fields directement via le premier (et unique) appel en utilisant une vue perso où serait configuré toutes les colonnes.

#13

Updated by Frédéric Péters almost 5 years ago

C'est comme pour les demandes, si tu veux tout tu peux faire ?full=on.

#14

Updated by Mikaël Ates almost 5 years ago

J'avais en tête ?all=on et ça ne marchait pas bien sûr, d'où la suite, merci.

#15

Updated by Mikaël Ates almost 5 years ago

  • Status changed from Nouveau to Résolu (à déployer)
  • Assignee set to Mikaël Ates

C'est parfait. Je fermerai après le passage en prod.

    "seniors-fiche": {
      "name": "Seniors - Fiche",
      "url": "{{ idp_url }}api/users/{{ name_id }}",
      "form": [
        {"label": "Identifiant de la fiche", "varname": "fiche", "required": true}
      ],
      "varnames": [],
      "log_errors": false,
      "cache_duration": 0,
      "force_async": true,
      "additional-data": [
        {
          "key": "json_liste_fiches",
          "url": "{{ eservices_url }}api/cards/{{ fiche }}/list?NameID={{ user_nameid }}&filter-user-uuid={{ name_id }}&full=on",
          "cache_duration": 0,
          "log_errors": false,
          "timeout": 5
        }
      ]
    },
#16

Updated by Frédéric Péters almost 5 years ago

  • Status changed from Résolu (à déployer) to Nouveau

C'est parfait. Je fermerai après le passage en prod.

Non il y a juste le filtrage par utilisateur qui est en place, pour considérer ce ticket fermé il y aurait davantage.

#17

Updated by Mikaël Ates almost 5 years ago

Tu verrais ce ticket chapeauter d'autres devs comme #40031 par exemple ? Ou c'est tout autre chose ?

#18

Updated by Frédéric Péters almost 5 years ago

Aujourd'hui tu fais la liaison entre un utilisateur et une fiche en initiant la saisie depuis combo; ça fait deux points qui ne devraient pour moi pas être obligatoire : 1/ que ça soit uniquement à la saisie, et 2/ que ça soit uniquement via un lien posé dans combo.

#19

Updated by Frédéric Péters over 4 years ago

  • Related to Support #45514: Pouvoir relier des fiches existantes à un nouveau compte added
#20

Updated by Frédéric Péters over 4 years ago

  • Related to Développement #8177: saisie backoffice : permettre de préciser l'usager concerné added
#21

Updated by Mikaël Ates over 4 years ago

  • Assignee deleted (Mikaël Ates)

Ticket à venir dans wcs pour pouvoir définir sur une modèle de fiche que celle-ci peut ou doit être liée à un user. Viendra alors les tickets permettant de définir un user à la saisie d'une fiche (comme #8177 pour les demandes) et permettant de modifier le user associé à une fiche (#45514).

#22

Updated by Frédéric Péters over 4 years ago

#23

Updated by Frédéric Péters over 4 years ago

  • Status changed from Nouveau to Fermé

Also available in: Atom PDF