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"; 6include_once DOKU_PLUGIN."bez/models/tasktypes.php"; 7include_once DOKU_PLUGIN."bez/models/bezcache.php"; 8 9$tasko = new Tasks(); 10$causo = new Causes(); 11$usro = new Users(); 12$tasktypeso = new Tasktypes(); 13$bezcache = new Bezcache(); 14 15$issue_id = (int)$nparams['id']; 16 17/*casue*/ 18$cause_id = ''; 19if (isset($nparams['cid']) && $nparams['cid'] != '') { 20 $cause_id = (int)$nparams['cid']; 21 $template['cause'] = $causo->join($causo->getone($cause_id)); 22} 23 24/*edycja*/ 25if (isset($nparams['tid'])) { 26 $action = $nparams['action']; 27 $tid = (int)$nparams['tid']; 28 29 $task = $this->model->task($tid); 30 31 $taskso = new Taskstates(); 32 $task_states = $taskso->get(); 33 34 //~ $template['raw_state'] = $task['state']; 35 //~ $template['state'] = $task_states[$task['state']]; 36 if (isset($nparams['id'])) 37 $template['causes'] = $causo->get($issue_id); 38 39 if (!$action) 40 $action = 'edit'; 41 42 if ($action == 'edit') { 43 $value = $task->get_assoc(); 44 //~ $value['cause_id'] = $task['cause']; 45 } else if ($action == 'update') { 46 //~ $cause_id = $_POST['cause_id']; 47 //~ if ($cause_id != '') 48 //~ $cause_id = (int)$cause_id; 49 50 //~ $data = $tasko->update($_POST, array('cause' => $cause_id), $tid); 51 //~ if (count($errors) == 0) { 52 53 //~ $title = 'Zmiana w zadaniu'; 54 //~ $exec = $data['executor']; 55 //~ $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 56 //~ $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 57 //~ if (isset($nparams['id'])) 58 //~ $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 59 //~ else 60 //~ $body = "$uri?id=".$this->id('show_task', 'tid', $tid); 61 62 //~ $this->helper->mail($to, $subject, $body); 63 64 //~ $cause_id = $_POST['cause_id']; 65 //~ if (!isset($nparams['id'])) 66 //~ header("Location: ?id=bez:show_task:tid:$tid"); 67 //~ elseif ($cause_id == '') 68 //~ header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 69 //~ else 70 //~ header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 71 //~ } 72 //~ $value = $_POST; 73 try { 74 $task->set_data($_POST); 75 if ($task->any_errors()) { 76 $errors = $this->validator->get_errors(); 77 $value = $_POST; 78 } else { 79 $this->model->save_task($task); 80 $bezcache->task_toupdate($task->id); 81 82 83 $cause_id = $_POST['cause_id']; 84 if (!isset($nparams['id'])) { 85 header("Location: ?id=bez:show_task:tid:$tid"); 86 } elseif ($cause_id == '') { 87 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 88 } else { 89 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 90 } 91 } 92 } catch (Exception $e) { 93 echo nl2br($e); 94 } 95 } 96 $template['task_button'] = $bezlang['change_task_button']; 97 if (isset($nparams['id'])) 98 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'tid', $tid, 'action', 'update'); 99 else 100 $template['task_action'] = $this->id('task_form_plan', 'tid', $tid, 'action', 'update'); 101 102/*dodawania*/ 103} else { 104 if (count($_POST) > 0) { 105 //~ $data = array('reporter' => $INFO['client'], 'date' => time(), 'issue' => $issue_id, 'cause' => $cause_id); 106 //~ $data = $tasko->add($_POST, $data); 107 //~ if (count($errors) == 0) { 108 //~ $tid = $tasko->lastid(); 109 //~ $title = 'Dodano zadanie'; 110 //~ $exec = $data['executor']; 111 //~ $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 112 //~ $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 113 //~ $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 114 //~ $this->helper->mail($to, $subject, $body); 115 116 //~ if ($cause_id == '') 117 //~ header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 118 //~ else 119 //~ header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 120 //~ } 121 //~ $value = $_POST; 122 try { 123 $task = $this->model->create_task_object('0', $issue_id); 124 $task->set_data($_POST); 125 if ($task->any_errors()) { 126 $errors = $this->validator->get_errors(); 127 $value = $_POST; 128 } else { 129 $this->model->save_task($task); 130 if ($cause_id == '') { 131 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 132 } else { 133 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 134 } 135 } 136 } catch (Exception $e) { 137 echo nl2br($e); 138 } 139 } else { 140 $value['all_day_event'] = '1'; 141 } 142 $template['task_button'] = $bezlang['add']; 143 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'action', 'add'); 144} 145 146if (isset($nparams['id'])) { 147 $isso = new Issues(); 148 $template['issue'] = $isso->get($issue_id); 149 150 //~ $template['anytasks'] = $tasko->any_task($issue_id); 151 //~ $template['opentasks'] = $tasko->any_open($issue_id); 152 //~ $template['cause_without_task'] = $isso->cause_without_task($issue_id); 153} 154 155$template['users'] = $usro->get(); 156 157$tasktypes = $tasktypeso->get(); 158$template['tasktypes'] = $tasktypes; 159