xref: /plugin/bez/ctl/task_form.php (revision 8c9d5139dfb491d4d76393f5da7d48e831694539)
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
16aa89e6f8SSzymon Olewniczak    $task = $this->model->tasks->create_object_program(
17f2c81100SSzymon Olewniczak                            array('tasktype' => $tasktype));
18aa89e6f8SSzymon Olewniczak
19aa89e6f8SSzymon Olewniczak    $template['auth_level'] = $task->get_level();
20f2c81100SSzymon Olewniczak    $template['user'] = $task->get_user();
2148ab8737SSzymon Olewniczak    $value['tasktype'] = $tasktype;
22aa89e6f8SSzymon Olewniczak
23aa89e6f8SSzymon Olewniczak    if (count($_POST) > 0) {
24aa89e6f8SSzymon Olewniczak        //checkboxes
25aa89e6f8SSzymon Olewniczak        if (!isset($_POST['all_day_event'])) {
26aa89e6f8SSzymon Olewniczak            $_POST['all_day_event'] = '0';
27aa89e6f8SSzymon Olewniczak        }
28aa89e6f8SSzymon Olewniczak
29aa89e6f8SSzymon Olewniczak        $task->set_data($_POST);
30aa89e6f8SSzymon Olewniczak        //update tasktype for admins
31aa89e6f8SSzymon Olewniczak
32aa89e6f8SSzymon Olewniczak        $tid = $this->model->tasks->save($task);
33aa89e6f8SSzymon Olewniczak//            $title = 'Dodano zadanie';
34aa89e6f8SSzymon Olewniczak//            $exec = $task->executor;
35aa89e6f8SSzymon Olewniczak//            $subject = "[$conf[title]] $title: #z$tid";
36aa89e6f8SSzymon Olewniczak//            $to = $this->model->users->get_user_full_name($exec).' <'.$this->model->users->get_user_email($exec).'>';
37aa89e6f8SSzymon Olewniczak//            $body = "$uri?id=".$this->id('show_task', 'tid', $tid);
38aa89e6f8SSzymon Olewniczak//            $this->helper->mail($to, $subject, $body);
39aa89e6f8SSzymon Olewniczak
4048ab8737SSzymon Olewniczak        //don't send notification when user binds himself to the task.
4148ab8737SSzymon Olewniczak        if ($task->reporter !== $task->executor) {
42*8c9d5139SSzymon Olewniczak            $task->mail_notify_add(NULL, array($task->executor),
43*8c9d5139SSzymon Olewniczak                       array('action' => $bezlang['mail_task_added_programme']));
4448ab8737SSzymon Olewniczak        }
45aa89e6f8SSzymon Olewniczak        header("Location: ?id=bez:task:tid:$tid");
46aa89e6f8SSzymon Olewniczak    } else {
47aa89e6f8SSzymon Olewniczak        if (isset($nparams['duplicate'])) {
48aa89e6f8SSzymon Olewniczak            $tid = (int)$nparams['duplicate'];
49aa89e6f8SSzymon Olewniczak            $task = $this->model->tasks->get_one($tid);
50aa89e6f8SSzymon Olewniczak            $value = $task->get_assoc();
51f2c81100SSzymon Olewniczak        } else {
52f2c81100SSzymon Olewniczak            $value['all_day_event'] = '1';
53aa89e6f8SSzymon Olewniczak        }
54aa89e6f8SSzymon Olewniczak    }
55aa89e6f8SSzymon Olewniczak//        $template['task_button'] = $bezlang['add'];
56aa89e6f8SSzymon Olewniczak//        $template['task_action'] = $this->id('task_report', 'tasktype', $nparams['tasktype']);
57f2c81100SSzymon Olewniczak    $template['users'] = $this->model->users->get_all();
58f2c81100SSzymon Olewniczak    $template['tasktypes'] = $this->model->tasktypes->get_all();
59aa89e6f8SSzymon Olewniczak
60aa89e6f8SSzymon Olewniczak} catch (ValidationException $e) {
61aa89e6f8SSzymon Olewniczak	$errors = $e->get_errors();
62aa89e6f8SSzymon Olewniczak	$value = $_POST;
6319440e21SSzymon Olewniczak} catch (DBException $e) {
6419440e21SSzymon Olewniczak    echo nl2br($e);
65f2c81100SSzymon Olewniczak//	header("Location: ?id=bez:tasks");
66aa89e6f8SSzymon Olewniczak}
67aa89e6f8SSzymon Olewniczak
68aa89e6f8SSzymon Olewniczak
69aa89e6f8SSzymon Olewniczak
70f2c81100SSzymon Olewniczak//$template['user'] = $task->get_user();
71f2c81100SSzymon Olewniczak//$template['user_name'] = $this->model->users->get_user_full_name($template['user']);
72f2c81100SSzymon Olewniczak//
73f2c81100SSzymon Olewniczak//$template['users'] = $this->model->users->get_all();
74f2c81100SSzymon Olewniczak//$template['tasktypes'] = $this->model->tasktypes->get_all();
75f2c81100SSzymon Olewniczak//$template['tasktype_name'] = $this->model->tasktypes->get_one($nparams['tasktype'])->type;
76