diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2025-05-08 09:48:09 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-05-08 09:48:09 +0200 |
| commit | 016e49d518de2ee76b1fe37f2940bec4ba65e48f (patch) | |
| tree | 9c3df17b8e67d37b52a013fb636897d45b934745 | |
| parent | a99ad0d915bc5dde08d29f51670478a49fd0e702 (diff) | |
set assignment_id on store, fix check in ResponseFolder::isWritable(), fixes #5222
Closes #5222
Merge request studip/studip!4204
| -rw-r--r-- | lib/filesystem/ResponseFolder.php | 4 | ||||
| -rw-r--r-- | lib/models/vips/TextTask.php | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/filesystem/ResponseFolder.php b/lib/filesystem/ResponseFolder.php index 598bf28..2741d60 100644 --- a/lib/filesystem/ResponseFolder.php +++ b/lib/filesystem/ResponseFolder.php @@ -54,6 +54,10 @@ class ResponseFolder extends StandardFolder $solution = VipsSolution::find($this->range_id); $assignment = $solution->assignment; + if ($this->isReadable($user_id) && $assignment->checkAccess($user_id)) { + return true; + } + return $assignment->checkEditPermission(); } diff --git a/lib/models/vips/TextTask.php b/lib/models/vips/TextTask.php index dd2d189..c2b2f51 100644 --- a/lib/models/vips/TextTask.php +++ b/lib/models/vips/TextTask.php @@ -180,6 +180,7 @@ class TextTask extends Exercise $solution->options['upload'] = $files['upload']; } + $solution->assignment_id = $request['assignment_id']; $solution->store(); $folder = Folder::findTopFolder($solution->id, 'ResponseFolder', 'response'); |
