xref: /plugin/bez/mdl/TaskFactory.php (revision 8a6381983135ed7de69b33e64aa0c1b16dbf69b0)
1<?php
2/**
3 * Created by PhpStorm.
4 * User: ghi
5 * Date: 12.12.17
6 * Time: 11:58
7 */
8
9namespace dokuwiki\plugin\bez\mdl;
10
11class TaskFactory extends Factory {
12    protected function select_query() {
13        return "SELECT task.*, task_program.name AS task_program_name
14                  FROM task LEFT JOIN task_program ON task.task_program_id = task_program.id";
15    }
16
17    public function initial_save(Entity $task, $data) {
18        parent::initial_save($task, $data);
19
20        $task->set_data($data);
21        try {
22            $this->beginTransaction();
23            $this->save($task);
24
25            if ($task->thread) {
26                $task->thread->set_participant_flags($task->assignee, array('subscribent', 'task_assignee'));
27                $task->thread->update_last_activity();
28            }
29
30            $this->commitTransaction();
31        } catch(Exception $exception) {
32            $this->rollbackTransaction();
33        }
34
35        //$task->mail_notify_add();
36    }
37
38    public function update_save(Entity $task, $data) {
39        parent::update_save($task, $data);
40
41        $task->set_data($data);
42        try {
43            $this->beginTransaction();
44            $this->save($task);
45
46            if ($task->thread) {
47            }
48
49            $this->commitTransaction();
50        } catch(Exception $exception) {
51            $this->rollbackTransaction();
52        }
53    }
54}