xref: /plugin/bez/ctl/task_form.php (revision 6271e09529976632242621f0ab4c4b49005feb24)
1aa89e6f8SSzymon Olewniczak<?php
2aa89e6f8SSzymon Olewniczak//~ include_once DOKU_PLUGIN."bez/models/bezcache.php";
3aa89e6f8SSzymon Olewniczak
4aa89e6f8SSzymon Olewniczak$template['tid'] = isset($nparams['tid']) ? $nparams['tid'] : '-1';
5aa89e6f8SSzymon Olewniczak$template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default';
6aa89e6f8SSzymon Olewniczak
7f2c81100SSzymon Olewniczakif (isset($_POST['tasktype'])) {
8f2c81100SSzymon Olewniczak    $tasktype = $_POST['tasktype'];
9f2c81100SSzymon Olewniczak} else {
10f2c81100SSzymon Olewniczak    $tasktype = $nparams['tasktype'];
11f2c81100SSzymon Olewniczak}
1248ab8737SSzymon Olewniczak$template['tasktype'] = $tasktype;
1348ab8737SSzymon Olewniczak
1448ab8737SSzymon Olewniczaktry {
1548ab8737SSzymon Olewniczak
16*6271e095SSzymon Olewniczak    $task = $this->model->tasks->create_object(
17f2c81100SSzymon Olewniczak                            array('tasktype' => $tasktype));
18*6271e095SSzymon Olewniczak    $template['task'] = $task;
19aa89e6f8SSzymon Olewniczak
20f9fa039bSSzymon Olewniczak    //$template['auth_level'] = $task->get_level();
21f9fa039bSSzymon Olewniczak    //$template['user'] = $task->get_user();
2248ab8737SSzymon Olewniczak    $value['tasktype'] = $tasktype;
23*6271e095SSzymon Olewniczak    $value['executor'] = $this->model->user_nick;
24aa89e6f8SSzymon Olewniczak
25aa89e6f8SSzymon Olewniczak    if (count($_POST) > 0) {
26aa89e6f8SSzymon Olewniczak        //checkboxes
27aa89e6f8SSzymon Olewniczak        if (!isset($_POST['all_day_event'])) {
28aa89e6f8SSzymon Olewniczak            $_POST['all_day_event'] = '0';
29aa89e6f8SSzymon Olewniczak        }
30aa89e6f8SSzymon Olewniczak
31aa89e6f8SSzymon Olewniczak        $task->set_data($_POST);
32aa89e6f8SSzymon Olewniczak        //update tasktype for admins
33aa89e6f8SSzymon Olewniczak
34aa89e6f8SSzymon Olewniczak        $tid = $this->model->tasks->save($task);
35aa89e6f8SSzymon Olewniczak//            $title = 'Dodano zadanie';
36aa89e6f8SSzymon Olewniczak//            $exec = $task->executor;
37aa89e6f8SSzymon Olewniczak//            $subject = "[$conf[title]] $title: #z$tid";
38aa89e6f8SSzymon Olewniczak//            $to = $this->model->users->get_user_full_name($exec).' <'.$this->model->users->get_user_email($exec).'>';
39aa89e6f8SSzymon Olewniczak//            $body = "$uri?id=".$this->id('show_task', 'tid', $tid);
40aa89e6f8SSzymon Olewniczak//            $this->helper->mail($to, $subject, $body);
41aa89e6f8SSzymon Olewniczak
4248ab8737SSzymon Olewniczak        //don't send notification when user binds himself to the task.
4348ab8737SSzymon Olewniczak        if ($task->reporter !== $task->executor) {
448c9d5139SSzymon Olewniczak            $task->mail_notify_add(NULL, array($task->executor),
458c9d5139SSzymon Olewniczak                       array('action' => $bezlang['mail_task_added_programme']));
4648ab8737SSzymon Olewniczak        }
47aa89e6f8SSzymon Olewniczak        header("Location: ?id=bez:task:tid:$tid");
48aa89e6f8SSzymon Olewniczak    } else {
49aa89e6f8SSzymon Olewniczak        if (isset($nparams['duplicate'])) {
50aa89e6f8SSzymon Olewniczak            $tid = (int)$nparams['duplicate'];
51aa89e6f8SSzymon Olewniczak            $task = $this->model->tasks->get_one($tid);
52aa89e6f8SSzymon Olewniczak            $value = $task->get_assoc();
53f2c81100SSzymon Olewniczak        } else {
54f2c81100SSzymon Olewniczak            $value['all_day_event'] = '1';
55aa89e6f8SSzymon Olewniczak        }
56aa89e6f8SSzymon Olewniczak    }
57aa89e6f8SSzymon Olewniczak//        $template['task_button'] = $bezlang['add'];
58aa89e6f8SSzymon Olewniczak//        $template['task_action'] = $this->id('task_report', 'tasktype', $nparams['tasktype']);
59f2c81100SSzymon Olewniczak    $template['users'] = $this->model->users->get_all();
60f2c81100SSzymon Olewniczak    $template['tasktypes'] = $this->model->tasktypes->get_all();
61aa89e6f8SSzymon Olewniczak
62aa89e6f8SSzymon Olewniczak} catch (ValidationException $e) {
63aa89e6f8SSzymon Olewniczak	$errors = $e->get_errors();
64aa89e6f8SSzymon Olewniczak	$value = $_POST;
6519440e21SSzymon Olewniczak} catch (DBException $e) {
6619440e21SSzymon Olewniczak    echo nl2br($e);
67f2c81100SSzymon Olewniczak//	header("Location: ?id=bez:tasks");
68aa89e6f8SSzymon Olewniczak}
69aa89e6f8SSzymon Olewniczak
70aa89e6f8SSzymon Olewniczak
71aa89e6f8SSzymon Olewniczak
72f2c81100SSzymon Olewniczak//$template['user'] = $task->get_user();
73f2c81100SSzymon Olewniczak//$template['user_name'] = $this->model->users->get_user_full_name($template['user']);
74f2c81100SSzymon Olewniczak//
75f2c81100SSzymon Olewniczak//$template['users'] = $this->model->users->get_all();
76f2c81100SSzymon Olewniczak//$template['tasktypes'] = $this->model->tasktypes->get_all();
77f2c81100SSzymon Olewniczak//$template['tasktype_name'] = $this->model->tasktypes->get_one($nparams['tasktype'])->type;
78