aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2025-05-08 09:48:09 +0200
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-05-08 09:48:09 +0200
commit016e49d518de2ee76b1fe37f2940bec4ba65e48f (patch)
tree9c3df17b8e67d37b52a013fb636897d45b934745
parenta99ad0d915bc5dde08d29f51670478a49fd0e702 (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.php4
-rw-r--r--lib/models/vips/TextTask.php1
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');