ToDo Listen¶
ToDo Listen dienen als Gruppierungsmöglichkeiten für ToDos. Sie können via REST Operationen Operationen erstellt, gelesen, bearbeitet und gelöscht werden. Beim Löschen gilt es zu beachten, dass nur leere Listen gelöscht werden können.
Reihenfolge¶
Die Reihenfolge der items
bei eienm GET Request eines Teamraums, entspricht der aktuellen Sortierung der Inhalte.
Beispiel-Request:
GET workspaces/workspace-1 HTTP/1.1 Accept: application/json Content-Type: application/json
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json { "@type": "opengever.workspace.workspace", "UID": "ac295c19ee404aafa7b9331b3eb353f2", "title": "Projekt XY", "id": "workspace-1" "responsible": "john.doe", "items": [ { "@id": "workspaces/workspace-1/todolist-6", "@type": "opengever.workspace.todolist", "UID": "bc295c19ee404aafa7b9331b3eb353f2", "description": "", "review_state": "opengever_workspace_todolist--STATUS--active", "title": "Allgemeine Projektinformationen" }, { "@id": "workspaces/workspace-1/todolist-10", "@type": "opengever.workspace.todolist", "UID": "cc295c19ee404aafa7b9331b3eb353f2", "description": "", "review_state": "opengever_workspace_todolist--STATUS--active", "title": "Konzept Phase" }, { "@id": "workspaces/workspace-1/todolist-2", "@type": "opengever.workspace.todolist", "UID": "dc295c19ee404aafa7b9331b3eb353f2", "description": "", "review_state": "opengever_workspace_todolist--STATUS--active", "title": "Externe Abklärungen" } ] }
Reihenfolge anpassen¶
Die Sortierung von ToDo Listen auf Stufe Teamraum kann mit der Verwendung des Parameters ordering
bei einem PATCH Requests verändert werden. Verwenden Sie den Key obj_id
, um anzugeben, welche Liste verschoben werden soll. Der key delta
unterstützt die Werte top
, bottom
oder eine negative oder positive ganze Zahl für das Auf- oder Abbewegen einer Liste.
Es wird empfohlen den key subset_ids
zu verwenden um nur die Reihenfolgen eines Subsets von Ressourcen zu verändern, beispielsweise nur alle ToDo Listen. Zudem wird bei der Verwendung von subset_ids
ein korrektes Fehlerverhalten bei quasi gleichzeitiger Bearbeitung unterstützt. Weiterführende Informationen zur Anordnung von Objekten finden sie in der plone.restapi Dokumentation.
Beispiel-Request:
GET workspaces/workspace-1 HTTP/1.1 Accept: application/json Content-Type: application/json { "ordering": { "obj_id": "todolist-1", "delta": "2", "subset_ids": ["todolist-1", "todolist-2", "todolist-3", "todolist-4"] } }
Beispiel-Response:
HTTP/1.1 204 No content
ToDos in Liste verschieben¶
Um einzelne ToDos zu verschieben, senden sie eine POST Request an den @move
Endpoint des Zielobjekts. Im Request-Body muss unter dem Key source
das zu verschiebende Objekt definiert sein, dieses kann via URL, Pfad, UID oder intid angegeben werden.
Beispiel-Request:
POST workspaces/workspace-1/todolist-4/@move HTTP/1.1 Accept: application/json Content-Type: application/json { "source": "http://nohost/plone/workspaces/workspace-3/todo-1323" }
Beispiel-Response:
HTTP/1.1 200 OK