Projet

Général

Profil

Development #38133

axel toulouse : gestion de "demande en cours" sur un DUI

Ajouté par Thomas Noël il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
02 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Il faut restreindre les modifications DUI : une seule modification à la fois est possible sur un DUI.

Pour ça, avoir des endpoints :

  • dui-lock?name_id=.... : permet de dire qu'une demande est en cours sur le DUI appairé
  • dui-unlock?name_id=.... : permet de dire qu'aucune demande n'est plus en cours sur le DUI appairé
  • dui-locked?name_id=.... : permet de connaître l'état de blocage du DUI appairé, répond true/false (note : répondre aussi "bloqué" s'il n'y a pas d'appairage, car cela va être utilisé pour bloquer le formulaire)

Fichiers

Révisions associées

Révision 7d86838b (diff)
Ajouté par Lauréline Guérin il y a plus de 4 ans

toulouse_axel: lock/unlock/locked endpoints (#38133)

Historique

#1

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

En fait ça pourrait être plus générique, car il faut aussi pouvoir locker à plus bas niveau, par exemple interdire la modification sur la fiche d'un enfant donné.

Je propose donc quelque chose de nettement plus général :

  • lock?id=.... : permet de dire que l'élément "id" est locké, ça pourra être un "DUI:xxxx" numéro DUI ou un "enfant:id" ou un "person:id"
  • unlock?id=.... : permet de libérer le lock
  • locked?id=.... : permet de connaître l'état du blocage, répond true/false (note : répondre aussi "bloqué" s'il n'y a pas d'appairage, car cela va être utilisé pour bloquer le formulaire)

Exemple d'appels possibles dans des webservices w.c.s. utilisables en condition (formulaire et/ou workflow) :

  • passerelle/axel/xxx/lock?id={{ webservice.dui.dui }} : locker le DUI appairé
  • passerelle/axel/xxx/lock?id=enfant:{{ form_var_enfant_id }} : locker l'enfant "id"
#2

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Lié à Development #38155: Toulouse Axel - faire un endpoint de remontée d'informations relatives à un enfant ajouté
#3

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Lié à Development #38155: Toulouse Axel - faire un endpoint de remontée d'informations relatives à un enfant supprimé
#4

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Assigné à mis à Lauréline Guérin
#5

Mis à jour par Lauréline Guérin il y a plus de 4 ans

#6

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

J'ajouterais bien la date du dernier lock (lock_date, DateTimeField en auto_now), et la renvoyer en plus du reste ; ça nous sera utile lors d'éventuels débogages. Et, toujours dans ce but, la possibilité de stocker l'identifiant du locker (comme key, ça sera à l'appelant de choisir ce qu'il faut, typiquement le numéro de la demande qui provoque le lock, quelque chose dans le genre).

  lock?key=kkk&locker=abc  (locker optionnel, bien sûr)
  -> {"key": "kkk", "locked": true, "locker": "abc", "lock_date": "2019-12-04T10:22:33"}

  locked?key=kkk
    -> {"key": "kkk", "locked": true, "locker": "abc", "lock_date": "2019-12-04T10:22:33"}

  unlock?key=kkk
    -> {"key": "kkk", "locked": false, "locker": "abc", "lock_date": "2019-12-04T10:22:33"}

  locked?key=kkk
    -> {"key": "kkk", "locked": false}
#8

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

  • Statut changé de Solution proposée à Solution validée
#9

Mis à jour par Lauréline Guérin il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 7d86838b99db8cca1c313c8bd5ab1bf193dbae57
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Wed Dec 4 10:55:42 2019 +0100

    toulouse_axel: lock/unlock/locked endpoints (#38133)
#10

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

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

Formats disponibles : Atom PDF