diff options
| author | Viktoria Wiebe <vwiebe@uni-osnabrueck.de> | 2024-10-01 14:07:24 +0000 |
|---|---|---|
| committer | Ron Lucke <lucke@elan-ev.de> | 2024-10-01 14:07:24 +0000 |
| commit | 332f5ef297815502adbc79df6aa4962688a9aebc (patch) | |
| tree | f869d6ef1666f5a43e5ead85b19c8804dcff5d80 /lib/models/Courseware/StructuralElement.php | |
| parent | 7a924cef24ce44013e6da5295651d02c9f88ec38 (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.php | 18 |
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']; + } } |
