aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2024-11-04 11:39:35 +0000
committerRon Lucke <lucke@elan-ev.de>2024-11-04 11:39:35 +0000
commitc7c10f40175d34d9c76fa90d328ff0cdc2c7dfd2 (patch)
treeb444b0206bd43cb87612f90f0f646eccff301348 /lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php
parente8ce2c6e2bb858f9af664dbc5ac37edb958b8850 (diff)
Courseware: Rechte und Sichtbarkeit funktionieren nach unterschiedlichen Kriterien
Closes #3442 Merge request studip/studip!2635
Diffstat (limited to 'lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php')
-rw-r--r--lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php b/lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php
index e6ccafa..f1a5841 100644
--- a/lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php
+++ b/lib/classes/JsonApi/Schemas/Courseware/StructuralElement.php
@@ -47,10 +47,18 @@ class StructuralElement extends SchemaProvider
'purpose' => (string) $resource['purpose'],
'payload' => $resource['payload']->getIterator(),
'public' => (int) $resource['public'],
- 'release-date' => $resource['release_date'] ? date('Y-m-d', (int) $resource['release_date']) : null,
- 'withdraw-date' => $resource['withdraw_date'] ? date('Y-m-d', (int) $resource['withdraw_date']) : null,
- 'read-approval' => $resource['read_approval']->getIterator(),
- 'write-approval' => $resource['write_approval']->getIterator(),
+ 'permission-type' => (string) $resource['permission_type'],
+ 'visible' => (string) $resource['visible'],
+ 'visible-all' => (bool) $resource['visible_all'],
+ 'visible-start-date' => $resource['visible_start_date'] ? date('c', $resource['visible_start_date']) : null,
+ 'visible-end-date' => $resource['visible_end_date'] ? date('c', $resource['visible_end_date']) : null,
+ 'writable' => (string) $resource['writable'],
+ 'writable-all' => (bool) $resource['writable_all'],
+ 'writable-start-date' => $resource['writable_start_date'] ? date('c', $resource['writable_start_date']) : null,
+ 'writable-end-date' => $resource['writable_end_date'] ? date('c', $resource['writable_end_date']) : null,
+ 'visible-approval' => json_decode($resource['visible_approval']),
+ 'writable-approval' => json_decode($resource['writable_approval']),
+ 'content-approval' => $resource['content_approval']->getIterator(),
'copy-approval' => $resource['copy_approval']->getIterator(),
'can-edit' => $resource->canEdit($user),
'can-visit' => $resource->canVisit($user),