Workflow¶
Beaucoup de types de contenus ont un workflow associé dans GEVER (p.ex. position, dossier, tâches, ...).
Le Workflow-State courant d’un objet est, pour des raisons de simplicité
review_state
est contenu directment dans une représentation d’objet GET.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@context": "http://www.w3.org/ns/hydra/context.jsonld",
"@id": "https://example.org/dossier-15",
"@type": "opengever.dossier.businesscasedossier",
"...": "...",
"review_state": "dossier-state-active"
}
L’Endpoint @workflow
est utilisée pour les aspects de Workflows restants:
-
GET
/
(path)/@workflow
¶ Retourne les informations de workflow pour l’objet adressé dans path.
Les informations de workflow contiennent la Workflow-History (qui inclut aussi le Workflow-State) ainsi que toutes les transitions workflow possibles.
Exemple de Request:
GET /dossier-15/@workflow HTTP/1.1 Accept: application/json
Exemple de Response:
HTTP/1.1 200 OK Content-Type: application/json { "history": [ { "action": null, "actor": "john.doe", "comments": "", "review_state": "dossier-state-active", "time": "2016-08-02T17:08:50+00:00" }, { "action": "dossier-transition-resolve", "actor": "john.doe", "comments": "", "review_state": "dossier-state-resolved", "time": "2016-08-02T17:08:54+00:00" } ], "transitions": [ { "@id": "http://example.org/dossier-15/@workflow/dossier-transition-reactivate", "title": "dossier-transition-reactivate" } ] }
Ce dossier se trouve actuellement dans l’état clôturé. (
dossier-state-resolved
, dernière entrée dans la Workflow-History).De par ce Workflow-State, la seule transition possible est la réouverture du dossier (
dossier-transition-reactivate
). Cette transition peut être déclenchée par une RequestPOST
sur l’URL respective:
-
POST
/
(path)/@workflow/
(transition)¶ Exécute la Workflow-Transition transition sur l’objet adressé dans path.
Exemple de Request:
POST /dossier-15/@workflow/dossier-transition-reactivate HTTP/1.1 Accept: application/json
Exemple de Response:
HTTP/1.1 200 OK Content-Type: application/json { "action": "dossier-transition-reactivate", "actor": "john.doe", "comments": "", "review_state": "dossier-state-active", "time": "2016-08-02T15:20:21+00:00" }