xref: /plugin/bez/ctl/task_form.php (revision ac36b828d9c241857341a7bfef8b5cdff3347b83)
1<?php
2include_once DOKU_PLUGIN."bez/models/issues.php";
3include_once DOKU_PLUGIN."bez/models/tasks.php";
4include_once DOKU_PLUGIN."bez/models/causes.php";
5include_once DOKU_PLUGIN."bez/models/users.php";
6
7$tasko = new Tasks();
8$causo = new Causes();
9$usro = new Users();
10
11$issue_id = (int)$params[1];
12
13/*casue*/
14$cause_id = '';
15if (isset($nparams['cid']) && $nparams['cid'] != '') {
16	$cause_id = (int)$nparams['cid'];
17	$template['cause'] = $causo->join($causo->getone($cause_id));
18}
19
20/*edycja*/
21if (isset($nparams['tid'])) {
22	$action = $nparams['action'];
23	$tid = (int)$nparams['tid'];
24	$task = $tasko->getone($tid);
25	$taskso = new Taskstates();
26	$task_states = $taskso->get();
27
28	$template['raw_state'] = $task['state'];
29	$template['state']  = $task_states[$task['state']];
30
31	if (!$action)
32		$action = 'edit';
33
34	if ($action == 'edit')
35		$value = $task;
36	else if ($action == 'update') {
37		$data = $tasko->update($_POST, array(), $tid);
38		if (count($errors) == 0) {
39
40			$title = 'Zmiana w zadaniu';
41			$exec = $data['executor'];
42			$subject = "[$conf[title]] $title: #$issue_id #z$tid";
43			$to = $usro->name($exec).' <'.$usro->email($exec).'>';
44			$body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid);
45			$this->helper->mail($to, $subject, $body);
46
47			if ($cause_id == '')
48				header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid");
49			else
50				header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid");
51		}
52		$value = $_POST;
53	}
54	$template['task_button'] = $bezlang['change_task_button'];
55	$template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'tid', $tid, 'action', 'update');
56/*dodawania*/
57} else {
58	if (count($_POST) > 0) {
59		$data = array('reporter' => $INFO['client'], 'date' => time(), 'issue' => $issue_id, 'cause' => $cause_id);
60		$data = $tasko->add($_POST, $data);
61		if (count($errors) == 0) {
62			$tid = $tasko->lastid();
63
64			$title = 'Dodano zadanie';
65			$exec = $data['executor'];
66			$subject = "[$conf[title]] $title: #$issue_id #z$tid";
67			$to = $usro->name($exec).' <'.$usro->email($exec).'>';
68			$body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid);
69			$this->helper->mail($to, $subject, $body);
70
71			if ($cause_id == '')
72				header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid");
73			else
74				header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid");
75		}
76		$value = $_POST;
77	}
78	$template['task_button'] = $bezlang['add'];
79	$template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'action', 'add');
80}
81
82$isso = new Issues();
83$template['issue'] = $isso->get($issue_id);
84$template['anytasks'] = $tasko->any_task($issue_id);
85$template['opentasks'] = $tasko->any_open($issue_id);
86$template['cause_without_task'] = $isso->cause_without_task($issue_id);
87
88$template['users'] = $usro->get();
89
90