aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Courseware/StructuralElement.php
diff options
context:
space:
mode:
authorViktoria Wiebe <vwiebe@uni-osnabrueck.de>2024-10-01 14:07:24 +0000
committerRon Lucke <lucke@elan-ev.de>2024-10-01 14:07:24 +0000
commit332f5ef297815502adbc79df6aa4962688a9aebc (patch)
treef869d6ef1666f5a43e5ead85b19c8804dcff5d80 /lib/models/Courseware/StructuralElement.php
parent7a924cef24ce44013e6da5295651d02c9f88ec38 (diff)
Tic 2807 - add toggling task visibility functionality to student task dashboard
Closes #2807 Merge request studip/studip!3096
Diffstat (limited to 'lib/models/Courseware/StructuralElement.php')
-rw-r--r--lib/models/Courseware/StructuralElement.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php
index e72cc4f..8e06a39 100644
--- a/lib/models/Courseware/StructuralElement.php
+++ b/lib/models/Courseware/StructuralElement.php
@@ -391,6 +391,19 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject, \Feedbac
return true;
}
+ if ($task->isSubmitted()) {
+ if ($task->visible) {
+ return true;
+ }
+ $solvers = $task->getTaskGroup()->getSolvers();
+ foreach ($solvers as $solver) {
+ if ($solver->id === $user->id) {
+ return true;
+ }
+ }
+ return false;
+ }
+
return $task->userIsASolver($user);
}
@@ -1240,4 +1253,9 @@ SQL;
[$this->id, self::class]
);
}
+
+ public function isTaskVisible(): bool
+ {
+ return $this->payload['task-visibility'];
+ }
}