xref: /plugin/bez/ctl/thread_report.php (revision a0cd8c785f18b483f73582b411767428d04a78f6)
1de02284cSSzymon Olewniczak<?php
2de02284cSSzymon Olewniczak
3de02284cSSzymon Olewniczakuse \dokuwiki\plugin\bez;
4de02284cSSzymon Olewniczak
5*a0cd8c78SSzymon Olewniczakif ($this->model->get_level() < BEZ_AUTH_USER) {
6de02284cSSzymon Olewniczak    throw new bez\meta\PermissionDeniedException();
7de02284cSSzymon Olewniczak}
8de02284cSSzymon Olewniczak
9de02284cSSzymon Olewniczak
107fbf4c39SSzymon Olewniczak$thread_id = $this->get_param('id');
117fbf4c39SSzymon Olewniczakif ($thread_id != '') {
12de02284cSSzymon Olewniczak	/** @var \dokuwiki\plugin\bez\mdl\Thread $thread */
13de02284cSSzymon Olewniczak	$thread = $this->model->threadFactory->get_one($thread_id);
14*a0cd8c78SSzymon Olewniczak} else {
15*a0cd8c78SSzymon Olewniczak    $thread = $this->model->threadFactory->create_object();
16de02284cSSzymon Olewniczak}
17de02284cSSzymon Olewniczak
18*a0cd8c78SSzymon Olewniczak$this->tpl->set('thread', $thread);
19*a0cd8c78SSzymon Olewniczak
20fe5d6d1eSSzymon Olewniczakif ($this->get_param('action') == 'edit') {
21*a0cd8c78SSzymon Olewniczak    if ($thread_id == '') {
22de02284cSSzymon Olewniczak        throw new Exception('there is now row with given id');
23de02284cSSzymon Olewniczak    }
24de02284cSSzymon Olewniczak    $this->tpl->set_values($thread->get_assoc());
25fe5d6d1eSSzymon Olewniczak} elseif ($this->get_param('action') == 'update') {
26de02284cSSzymon Olewniczak
277fbf4c39SSzymon Olewniczak    $this->model->threadFactory->update_save($thread, $_POST);
28de02284cSSzymon Olewniczak
29de02284cSSzymon Olewniczak    header('Location: ?id='.$this->id('thread', 'id', $thread->id));
30fe5d6d1eSSzymon Olewniczak} elseif ($this->get_param('action') == 'add') {
31*a0cd8c78SSzymon Olewniczak//
32*a0cd8c78SSzymon Olewniczak//    $defaults = array();
33*a0cd8c78SSzymon Olewniczak//    if ($this->model->acl->get_level() >= BEZ_AUTH_LEADER) {
34*a0cd8c78SSzymon Olewniczak//        $defaults['coordinator'] = $_POST['coordinator'];
35*a0cd8c78SSzymon Olewniczak//    }
36*a0cd8c78SSzymon Olewniczak//    unset($_POST['coordinator']);
37*a0cd8c78SSzymon Olewniczak//    $thread = $this->model->threadFactory->create_object($defaults);
38de02284cSSzymon Olewniczak
397fbf4c39SSzymon Olewniczak    $this->model->threadFactory->initial_save($thread, $_POST);
40de02284cSSzymon Olewniczak
41de02284cSSzymon Olewniczak    header('Location: ?id='.$this->id('thread', 'id', $thread->id));
42de02284cSSzymon Olewniczak
43de02284cSSzymon Olewniczak}
44de02284cSSzymon Olewniczak
45de02284cSSzymon Olewniczak$this->tpl->set('labels', $this->model->labelFactory->get_all());