xref: /plugin/bez/ctl/task_form.php (revision aa89e6f87daa9b559eea182b8567d772dfa4ce7f)
1*aa89e6f8SSzymon Olewniczak<?php
2*aa89e6f8SSzymon Olewniczak//~ include_once DOKU_PLUGIN."bez/models/bezcache.php";
3*aa89e6f8SSzymon Olewniczak
4*aa89e6f8SSzymon Olewniczak$template['tid'] = isset($nparams['tid']) ? $nparams['tid'] : '-1';
5*aa89e6f8SSzymon Olewniczak$template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default';
6*aa89e6f8SSzymon Olewniczak
7*aa89e6f8SSzymon Olewniczaktry {
8*aa89e6f8SSzymon Olewniczak    if ($template['tid'] === '-1') {
9*aa89e6f8SSzymon Olewniczak
10*aa89e6f8SSzymon Olewniczak        $task = $this->model->tasks->create_object_program(
11*aa89e6f8SSzymon Olewniczak                                array('tasktype' => $_POST['tasktype']));
12*aa89e6f8SSzymon Olewniczak
13*aa89e6f8SSzymon Olewniczak        $template['auth_level'] = $task->get_level();
14*aa89e6f8SSzymon Olewniczak        $value['tasktype'] = $nparams['tasktype'];
15*aa89e6f8SSzymon Olewniczak
16*aa89e6f8SSzymon Olewniczak        if (count($_POST) > 0) {
17*aa89e6f8SSzymon Olewniczak            //checkboxes
18*aa89e6f8SSzymon Olewniczak            if (!isset($_POST['all_day_event'])) {
19*aa89e6f8SSzymon Olewniczak                $_POST['all_day_event'] = '0';
20*aa89e6f8SSzymon Olewniczak            }
21*aa89e6f8SSzymon Olewniczak
22*aa89e6f8SSzymon Olewniczak            $task->set_data($_POST);
23*aa89e6f8SSzymon Olewniczak            //update tasktype for admins
24*aa89e6f8SSzymon Olewniczak
25*aa89e6f8SSzymon Olewniczak            $tid = $this->model->tasks->save($task);
26*aa89e6f8SSzymon Olewniczak//            $title = 'Dodano zadanie';
27*aa89e6f8SSzymon Olewniczak//            $exec = $task->executor;
28*aa89e6f8SSzymon Olewniczak//            $subject = "[$conf[title]] $title: #z$tid";
29*aa89e6f8SSzymon Olewniczak//            $to = $this->model->users->get_user_full_name($exec).' <'.$this->model->users->get_user_email($exec).'>';
30*aa89e6f8SSzymon Olewniczak//            $body = "$uri?id=".$this->id('show_task', 'tid', $tid);
31*aa89e6f8SSzymon Olewniczak//            $this->helper->mail($to, $subject, $body);
32*aa89e6f8SSzymon Olewniczak
33*aa89e6f8SSzymon Olewniczak                header("Location: ?id=bez:task:tid:$tid");
34*aa89e6f8SSzymon Olewniczak        } else {
35*aa89e6f8SSzymon Olewniczak            $value['all_day_event'] = '1';
36*aa89e6f8SSzymon Olewniczak            if (isset($nparams['duplicate'])) {
37*aa89e6f8SSzymon Olewniczak                $tid = (int)$nparams['duplicate'];
38*aa89e6f8SSzymon Olewniczak                $task = $this->model->tasks->get_one($tid);
39*aa89e6f8SSzymon Olewniczak                $value = $task->get_assoc();
40*aa89e6f8SSzymon Olewniczak            }
41*aa89e6f8SSzymon Olewniczak        }
42*aa89e6f8SSzymon Olewniczak//        $template['task_button'] = $bezlang['add'];
43*aa89e6f8SSzymon Olewniczak//        $template['task_action'] = $this->id('task_report', 'tasktype', $nparams['tasktype']);
44*aa89e6f8SSzymon Olewniczak    /*edycja*/
45*aa89e6f8SSzymon Olewniczak    } else {
46*aa89e6f8SSzymon Olewniczak        $task = $this->model->tasks->get_one($template['tid']);
47*aa89e6f8SSzymon Olewniczak
48*aa89e6f8SSzymon Olewniczak        $template['task'] = $task;
49*aa89e6f8SSzymon Olewniczak        $template['auth_level'] = $task->get_level();
50*aa89e6f8SSzymon Olewniczak
51*aa89e6f8SSzymon Olewniczak        if (count($_POST) > 0) {
52*aa89e6f8SSzymon Olewniczak            //checkboxes
53*aa89e6f8SSzymon Olewniczak            if (!isset($_POST['all_day_event'])) {
54*aa89e6f8SSzymon Olewniczak                $_POST['all_day_event'] = '0';
55*aa89e6f8SSzymon Olewniczak            }
56*aa89e6f8SSzymon Olewniczak            $task->set_data($_POST);
57*aa89e6f8SSzymon Olewniczak            //for reason
58*aa89e6f8SSzymon Olewniczak            $task->set_state($_POST);
59*aa89e6f8SSzymon Olewniczak
60*aa89e6f8SSzymon Olewniczak            $this->model->tasks->save($task);
61*aa89e6f8SSzymon Olewniczak                //~ $bezcache = new Bezcache();
62*aa89e6f8SSzymon Olewniczak                //~ $bezcache->task_toupdate($task->id);
63*aa89e6f8SSzymon Olewniczak
64*aa89e6f8SSzymon Olewniczak            header("Location: ?id=bez:task:tid:".$task->id);
65*aa89e6f8SSzymon Olewniczak        } else {
66*aa89e6f8SSzymon Olewniczak            $value = $task->get_assoc();
67*aa89e6f8SSzymon Olewniczak        }
68*aa89e6f8SSzymon Olewniczak    }
69*aa89e6f8SSzymon Olewniczak} catch (ValidationException $e) {
70*aa89e6f8SSzymon Olewniczak	$errors = $e->get_errors();
71*aa89e6f8SSzymon Olewniczak	$value = $_POST;
72*aa89e6f8SSzymon Olewniczak} catch (Exception $e) {
73*aa89e6f8SSzymon Olewniczak	header("Location: ?id=bez:issue:id:$issue_id");
74*aa89e6f8SSzymon Olewniczak}
75*aa89e6f8SSzymon Olewniczak
76*aa89e6f8SSzymon Olewniczak$template['action'] = $action;
77*aa89e6f8SSzymon Olewniczak
78*aa89e6f8SSzymon Olewniczak$template['user'] = $task->get_user();
79*aa89e6f8SSzymon Olewniczak$template['user_name'] = $this->model->users->get_user_full_name($template['user']);
80*aa89e6f8SSzymon Olewniczak
81*aa89e6f8SSzymon Olewniczak$template['users'] = $this->model->users->get_all();
82*aa89e6f8SSzymon Olewniczak$template['tasktypes'] = $this->model->tasktypes->get_all();
83*aa89e6f8SSzymon Olewniczak$template['tasktype_name'] = $this->model->tasktypes->get_one($nparams['tasktype'])->type;
84