aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Courseware/TaskFeedback.php
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2022-02-07 14:27:25 +0000
committerRon Lucke <lucke@elan-ev.de>2022-02-07 14:27:25 +0000
commit333b1181662f26afe13256b26c6c87605d627d10 (patch)
tree4b7220f5eb8794d654cb03c1f015cb43ea071c6a /lib/models/Courseware/TaskFeedback.php
parente40d838a4f73cf1a0bd5a35fdfd7a476b523d3f1 (diff)
StEP 00357
Diffstat (limited to 'lib/models/Courseware/TaskFeedback.php')
-rwxr-xr-xlib/models/Courseware/TaskFeedback.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/models/Courseware/TaskFeedback.php b/lib/models/Courseware/TaskFeedback.php
new file mode 100755
index 0000000..57e2ce0
--- /dev/null
+++ b/lib/models/Courseware/TaskFeedback.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace Courseware;
+
+use User;
+
+/**
+* Courseware's task feedback.
+*
+* @author Ron Lucke <lucke@elan-ev.de>
+* @license GPL2 or any later version
+*
+* @since Stud.IP 5.1
+*
+* @property int $id database column
+* @property int $task_id database column
+* @property string $lecturer_id database column
+* @property string $content database column
+* @property int $mkdate database column
+* @property int $chdate database column
+
+* @property \User $lecturer belongs_to User
+* @property \Courseware\Task $task belongs_to Courseware\Task
+*/
+class TaskFeedback extends \SimpleORMap
+{
+ protected static function configure($config = [])
+ {
+ $config['db_table'] = 'cw_task_feedbacks';
+
+ $config['belongs_to']['lecturer'] = [
+ 'class_name' => User::class,
+ 'foreign_key' => 'lecturer_id',
+ ];
+
+ $config['belongs_to']['task'] = [
+ 'class_name' => Task::class,
+ 'foreign_key' => 'task_id',
+ ];
+
+ parent::configure($config);
+ }
+
+ public function getStructuralElement(): ?StructuralElement
+ {
+ $sql = 'SELECT se.*
+ FROM cw_task_feedbacks tf
+ JOIN cw_tasks t ON t.id = tf.task_id
+ JOIN cw_structural_elements se ON se.id = t.structural_element_id
+ WHERE tf.id = ?';
+ $structuralElement = \DBManager::get()->fetchOne($sql, [$this->getId()]);
+ if (!count($structuralElement)) {
+ return null;
+ }
+
+ return StructuralElement::build($structuralElement, false);
+ }
+}