Projet

Général

Profil

Development #37527

Lier des utilisateurs à des fiches

Ajouté par Pierre Cros il y a plus de 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
Studio
Version cible:
Début:
07 novembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non
Club:
Non

Description

Pouvoir lier une fiche et un compte.


Demandes liées

Lié à w.c.s. - Development #40031: Étendre la vue de listing et les exports avec des données utilisateurs, pour les demandes et les fichesFermé19 février 202021 septembre 2020

Actions
Lié à w.c.s. - Development #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 février 2020

Actions
Lié à w.c.s. - Development #40050: [Studio] Permettre de rechercher via l'API une fiche en utilisant l'uuid de l'utilisateur lié à la ficheFermé20 février 2020

Actions
Lié à Publik - Support #45514: Pouvoir relier des fiches existantes à un nouveau compteFermé28 juillet 2020

Actions
Lié à w.c.s. - Development #8177: saisie backoffice : permettre de préciser l'usager concernéFermé05 septembre 2015

Actions
Lié à w.c.s. - Development #48392: modèles de fiche, options d'association à un usagerFermé08 novembre 2020

Actions

Historique

#1

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

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

#2

Mis à jour par Mikaël Ates il y a environ 4 ans

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

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

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

Mis à jour par Mikaël Ates il y a environ 4 ans

  • Lié à Development #40031: Étendre la vue de listing et les exports avec des données utilisateurs, pour les demandes et les fiches ajouté
#5

Mis à jour par Mikaël Ates il y a environ 4 ans

  • Lié à Development #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 ajouté
#6

Mis à jour par Mikaël Ates il y a environ 4 ans

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

Mis à jour par Mikaël Ates il y a environ 4 ans

  • Lié à Development #40050: [Studio] Permettre de rechercher via l'API une fiche en utilisant l'uuid de l'utilisateur lié à la fiche ajouté
#8

Mis à jour par Mikaël Ates il y a environ 4 ans

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

Mis à jour par Mikaël Ates il y a presque 4 ans

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

Mis à jour par Mikaël Ates il y a presque 4 ans

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

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

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

#12

Mis à jour par Mikaël Ates il y a presque 4 ans

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

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

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

#14

Mis à jour par Mikaël Ates il y a presque 4 ans

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

#15

Mis à jour par Mikaël Ates il y a presque 4 ans

  • Statut changé de Nouveau à Résolu (à déployer)
  • Assigné à mis à 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

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

  • Statut changé de Résolu (à déployer) à 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

Mis à jour par Mikaël Ates il y a presque 4 ans

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

#18

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

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

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

  • Lié à Support #45514: Pouvoir relier des fiches existantes à un nouveau compte ajouté
#20

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

  • Lié à Development #8177: saisie backoffice : permettre de préciser l'usager concerné ajouté
#21

Mis à jour par Mikaël Ates il y a plus de 3 ans

  • Assigné à Mikaël Ates supprimé

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

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

  • Lié à Development #48392: modèles de fiche, options d'association à un usager ajouté
#23

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

  • Statut changé de Nouveau à Fermé

Formats disponibles : Atom PDF