1<?php /* @var \dokuwiki\plugin\bez\meta\Tpl $tpl */ ?> 2 3<?php if (!$tpl->get('no_filters', false)): ?> 4 5<?php if ($tpl->factory('thread')->permission() >= BEZ_TABLE_PERMISSION_INSERT): ?> 6 <a href="<?php echo $tpl->url('thread_report', 'type', $tpl->action() == 'projects' ? 'project' : 'issue') ?>" class="bez_start_button" id="bez_report_issue_button"> 7 <?php echo $tpl->getLang('report_' . $tpl->action()) ?> 8 </a> 9<?php endif ?> 10 11<br /><br /> 12 13<div class="bez_filter_form"> 14<form action="<?php echo $tpl->url($tpl->action()) ?>" method="post"> 15 16 <label><?php echo $tpl->getLang('reporter') ?>: 17 <select name="original_poster"> 18 <option <?php if ($tpl->value('original_poster') == '-all') echo 'selected' ?> 19 value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option> 20 <optgroup label="<?php echo $tpl->getLang('users') ?>"> 21 <?php foreach ($tpl->get('users') as $nick => $name): ?> 22 <option <?php if ($tpl->value('original_poster') == $nick) echo 'selected' ?> 23 value="<?php echo $nick ?>"><?php echo $name ?></option> 24 <?php endforeach ?> 25 </optgroup> 26 <optgroup label="<?php echo $tpl->getLang('groups') ?>"> 27 <?php foreach ($tpl->get('groups') as $name): ?> 28 <?php $group = "@$name" ?> 29 <option <?php if ($tpl->value('original_poster') == $group) echo 'selected' ?> 30 value="<?php echo $group ?>"><?php echo $group ?></option> 31 <?php endforeach ?> 32 </optgroup> 33 </select> 34 </label> 35 36 <label><?php echo $tpl->getLang('state') ?>: 37 <select name="state"> 38 <option <?php if ($tpl->value('state') === '-all') echo 'selected' ?> 39 value="-all">--- <?php echo $tpl->getLang('all_not_rejected') ?> ---</option> 40 <?php foreach (\dokuwiki\plugin\bez\mdl\Thread::get_states() as $state): ?> 41 <option <?php if ($tpl->value('state') === $state) echo 'selected' ?> 42 value="<?php echo $state ?>"><?php echo $tpl->getLang('state_' . $state) ?></option> 43 <?php endforeach ?> 44 </select> 45 </label> 46 <?php if ($tpl->action() != 'projects'): ?> 47 <label><?php echo $tpl->getLang('just_type') ?>: 48 <select name="label_id"> 49 <option <?php if ($tpl->value('label_id') === '-all') echo 'selected' ?> 50 value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option> 51 <option <?php if ($tpl->value('label_id') === '-none') echo 'selected' ?> 52 value="-none">--- <?php echo $tpl->getLang('issue_type_no_specified') ?> ---</option> 53 <?php foreach ($tpl->get('labels') as $label): ?> 54 <option <?php if ($tpl->value('label_id') === $label->id) echo 'selected' ?> 55 value="<?php echo $label->id ?>"><?php echo $label->name ?></option> 56 <?php endforeach ?> 57 </select> 58 </label> 59 <?php endif ?> 60 61 <label><?php echo $tpl->getLang('coordinator') ?>: 62 <select name="coordinator"> 63 <option <?php if ($tpl->value('coordinator') === '-all') echo 'selected' ?> 64 value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option> 65 <option <?php if ($tpl->value('coordinator') === '-none') echo 'selected' ?> 66 value="-none">--- <?php echo $tpl->getLang('none') ?> ---</option> 67 <optgroup label="<?php echo $tpl->getLang('users') ?>"> 68 <?php foreach ($tpl->get('users') as $nick => $name): ?> 69 <option <?php if ($tpl->value('coordinator') === $nick) echo 'selected' ?> 70 value="<?php echo $nick ?>"><?php echo $name ?></option> 71 <?php endforeach ?> 72 </optgroup> 73 <optgroup label="<?php echo $tpl->getLang('groups') ?>"> 74 <?php foreach ($tpl->get('groups') as $name): ?> 75 <?php $group = "@$name" ?> 76 <option <?php if ($tpl->value('coordinator') === $group) echo 'selected' ?> 77 value="<?php echo $group ?>"><?php echo $group ?></option> 78 <?php endforeach ?> 79 </optgroup> 80 </select> 81 </label> 82 83 <label><?php echo $tpl->getLang('title') ?>: 84 <input name="title" value="<?php echo $tpl->value('title') ?>" /> 85 </label> 86 87 <label><?php echo $tpl->getLang('content') ?>: 88 <input name="content" value="<?php echo $tpl->value('content') ?>" /> 89 </label> 90 91 <label><?php echo $tpl->getLang('year') ?>: 92 <select name="year"> 93 <option <?php if ($tpl->value('year') === '-all') echo 'selected' ?> 94 value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option> 95 <?php foreach ($tpl->get('years') as $year): ?> 96 <option <?php if ($tpl->value('year') === $year) echo 'selected' ?> 97 value="<?php echo $year ?>"><?php echo $year ?></option> 98 <?php endforeach ?> 99 </select> 100 </label> 101 102 <label><?php echo $tpl->getLang('sort_by_open_date') ?>: 103 <input type="checkbox" name="sort_open" 104 <?php if ($tpl->value('sort_open') === 'on') echo 'checked="checked"' ?>> 105 </label> 106<?php if ($tpl->action() != 'projects'): ?> 107 <label><?php echo $tpl->getLang('has_corrective') ?>: 108 <input type="checkbox" name="has_corrective" 109 <?php if ($tpl->value('has_corrective') === 'on') echo 'checked="checked"' ?>> 110 </label> 111 <label><?php echo $tpl->getLang('has_preventive') ?>: 112 <input type="checkbox" name="has_preventive" 113 <?php if ($tpl->value('has_preventive') === 'on') echo 'checked="checked"' ?>> 114 </label> 115<?php endif ?> 116 117 <label><input type="submit" value="<?php echo $tpl->getLang('filter') ?>" /></label> 118</form> 119</div> 120<?php endif ?> 121 122 123<table class="bez bez_sumarise"> 124 <tr> 125 <th><?php echo $tpl->getLang('id') ?></th> 126 <th><?php echo $tpl->getLang('state') ?></th> 127 <?php if ($tpl->action() != 'projects'): ?> 128 <th><?php echo $tpl->getLang('type') ?></th> 129 <?php endif ?> 130 <th><?php echo $tpl->getLang('title')?></th> 131 <th><?php echo $tpl->getLang('coordinator') ?></th> 132 <th><?php echo $tpl->getLang('date') ?></th> 133 <th><?php echo $tpl->getLang('last_mod_date') ?></th> 134 <th><?php echo $tpl->getLang('closed') ?></th> 135 <th><?php echo $tpl->getLang('cost') ?></th> 136 <th><?php echo $tpl->getLang('closed_tasks') ?></th> 137 <?php if ($tpl->action() != 'projects'): ?> 138 <th><?php echo $tpl->getLang('corrective_action_h') ?></th> 139 <th><?php echo $tpl->getLang('preventive_action_h') ?></th> 140 <?php endif ?> 141 </tr> 142 <?php $count = 0 ?> 143 <?php $total_cost = 0.0 ?> 144 <?php $total_task_closed = 0 ?> 145 <?php $total_task = 0 ?> 146 <?php $total_cause = 0 ?> 147 <?php $total_risk = 0 ?> 148 <?php $total_opportunity = 0 ?> 149 <?php foreach ($tpl->get('threads') as $thread): ?> 150 <?php if ($thread->acl_of('id') < BEZ_PERMISSION_VIEW) continue ?> 151 <?php $count += 1 ?> 152 <?php $total_cost += (float) $thread->task_sum_cost ?> 153 <?php $total_task_closed += (int) $thread->task_count_closed ?> 154 <?php $total_task += (int) $thread->task_count ?> 155 <?php $total_corrective += (int) $thread->corrective_count ?> 156 <?php $total_preventive += (int) $thread->preventive_count ?> 157 <tr class="<?php 158 if ($thread->state == 'opened') { 159 echo 'priority_' . $thread->priority; 160 } elseif ($thread->state == 'proposal') { 161 echo 'priority_'; 162 } 163 ?>"> 164 <td style="white-space: nowrap"> 165 <a href="<?php echo $tpl->url('thread', 'id', $thread->id) ?>">#<?php echo $thread->id ?></a> 166 <?php if($thread->private == '1'): ?> 167 <?php echo inlineSVG(DOKU_PLUGIN . 'bez/images/lock-small.svg') ?> 168 <?php endif ?> 169 </td> 170 <td> 171 <?php echo $tpl->getLang('state_'.$thread->state) ?> 172 </td> 173 <?php if ($tpl->action() != 'projects'): ?> 174 <td> 175 <?php if ($thread->label_name === NULL): ?> 176 <i style="color: #777"><?php echo $tpl->getLang('issue_type_no_specified') ?></i> 177 <?php else: ?> 178 <?php echo $thread->label_name ?> 179 <?php endif ?> 180 </td> 181 <?php endif ?> 182 <td><?php echo $thread->title ?></td> 183 <td> 184 <?php if ($thread->coordinator === NULL): ?> 185 <i style="color: #777"><?php echo $tpl->getLang('none') ?></i> 186 <?php else: ?> 187 <?php echo $tpl->user_name($thread->coordinator) ?> 188 <?php endif ?> 189 </td> 190 <td> 191 <?php echo $tpl->date($thread->create_date) ?> 192 </td> 193 <td> 194 <?php echo $tpl->date($thread->last_activity_date) ?> 195 </td> 196 <td> 197 <?php if (in_array($thread->state, array('closed', 'rejected'))): ?> 198 <?php echo $tpl->date($thread->close_date) ?><br /> 199 <?php $s = $tpl->getLang('report_priority').': ' . 200 $tpl->date_diff_days($thread->create_date, $thread->close_date, '%a') ?> 201 <?php echo str_replace(' ', ' ', $s) ?> 202 <?php else: ?> 203 <em>---</em> 204 <?php endif ?> 205 </td> 206 <td> 207 <?php if ($thread->task_sum_cost === NULL): ?> 208 <em>---</em> 209 <?php else: ?> 210 <?php echo $thread->task_sum_cost ?> 211 <?php endif ?> 212 </td> 213 <td> 214 <?php echo $thread->task_count_closed ?> / <?php echo $thread->task_count ?> 215 216 </td> 217 <?php if ($tpl->action() != 'projects'): ?> 218 <td> 219 <?php echo $thread->corrective_count ?> 220 </td> 221 <td> 222 <?php echo $thread->preventive_count ?> 223 </td> 224 <?php endif ?> 225 </tr> 226 <?php endforeach ?> 227 <tr> 228 <th><?php echo $tpl->getLang('report_total') ?></th> 229 <td colspan="<?php echo $tpl->action() != 'projects' ? '7' : '6' ?>"><?php echo $count ?></td> 230 <td><?php echo $total_cost ?></td> 231 <td><?php echo $total_task_closed.' / '.$total_task ?></td> 232 233 <?php if ($tpl->action() != 'projects'): ?> 234 <td><?php echo $total_corrective ?></td> 235 <td><?php echo $total_preventive ?></td> 236 <?php endif ?> 237 </tr> 238</table> 239