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 88 <label><?php echo $tpl->getLang('year') ?>: 89 <select name="year"> 90 <option <?php if ($tpl->value('year') === '-all') echo 'selected' ?> 91 value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option> 92 <?php foreach ($tpl->get('years') as $year): ?> 93 <option <?php if ($tpl->value('year') === $year) echo 'selected' ?> 94 value="<?php echo $year ?>"><?php echo $year ?></option> 95 <?php endforeach ?> 96 </select> 97 </label> 98 99 <label><?php echo $tpl->getLang('sort_by_open_date') ?>: 100 <input type="checkbox" name="sort_open" 101 <?php if ($tpl->value('sort_open') === 'on') echo 'checked="checked"' ?>> 102 </label> 103<?php if ($tpl->action() == 'threads'): ?> 104 <label><?php echo $tpl->getLang('has_corrective') ?>: 105 <input type="checkbox" name="has_corrective" 106 <?php if ($tpl->value('has_corrective') === 'on') echo 'checked="checked"' ?>> 107 </label> 108 <label><?php echo $tpl->getLang('has_preventive') ?>: 109 <input type="checkbox" name="has_preventive" 110 <?php if ($tpl->value('has_preventive') === 'on') echo 'checked="checked"' ?>> 111 </label> 112<?php endif ?> 113 114 <label><input type="submit" value="<?php echo $tpl->getLang('filter') ?>" /></label> 115</form> 116</div> 117<?php endif ?> 118 119 120<table class="bez bez_sumarise"> 121 <tr> 122 <th><?php echo $tpl->getLang('id') ?></th> 123 <th><?php echo $tpl->getLang('state') ?></th> 124 <?php if ($tpl->action() != 'projects'): ?> 125 <th><?php echo $tpl->getLang('type') ?></th> 126 <?php endif ?> 127 <th><?php echo $tpl->getLang('title')?></th> 128 <th><?php echo $tpl->getLang('coordinator') ?></th> 129 <th><?php echo $tpl->getLang('date') ?></th> 130 <th><?php echo $tpl->getLang('last_mod_date') ?></th> 131 <th><?php echo $tpl->getLang('closed') ?></th> 132 <th><?php echo $tpl->getLang('cost') ?></th> 133 <th><?php echo $tpl->getLang('closed_tasks') ?></th> 134 <?php if ($tpl->action() == 'threads'): ?> 135 <th><?php echo $tpl->getLang('corrective_action_h') ?></th> 136 <th><?php echo $tpl->getLang('preventive_action_h') ?></th> 137 <?php endif ?> 138 </tr> 139 <?php $count = 0 ?> 140 <?php $total_cost = 0.0 ?> 141 <?php $total_task_closed = 0 ?> 142 <?php $total_task = 0 ?> 143 <?php $total_cause = 0 ?> 144 <?php $total_risk = 0 ?> 145 <?php $total_opportunity = 0 ?> 146 <?php foreach ($tpl->get('threads') as $thread): ?> 147 <?php if ($thread->acl_of('id') < BEZ_PERMISSION_VIEW) continue ?> 148 <?php $count += 1 ?> 149 <?php $total_cost += (float) $thread->task_sum_cost ?> 150 <?php $total_task_closed += (int) $thread->task_count_closed ?> 151 <?php $total_task += (int) $thread->task_count ?> 152 <?php $total_corrective += (int) $thread->corrective_count ?> 153 <?php $total_preventive += (int) $thread->preventive_count ?> 154 <tr class="<?php 155 if ($thread->state == 'opened') { 156 echo 'priority_' . $thread->priority; 157 } elseif ($thread->state == 'proposal') { 158 echo 'priority_'; 159 } 160 ?>"> 161 <td style="white-space: nowrap"> 162 <a href="<?php echo $tpl->url('thread', 'id', $thread->id) ?>">#<?php echo $thread->id ?></a> 163 <?php if($thread->private == '1'): ?> 164 <?php echo inlineSVG(DOKU_PLUGIN . 'bez/images/lock-small.svg') ?> 165 <?php endif ?> 166 </td> 167 <td> 168 <?php echo $tpl->getLang('state_'.$thread->state) ?> 169 </td> 170 <?php if ($tpl->action() != 'projects'): ?> 171 <td> 172 <?php if ($thread->label_name === NULL): ?> 173 <i style="color: #777"><?php echo $tpl->getLang('issue_type_no_specified') ?></i> 174 <?php else: ?> 175 <?php echo $thread->label_name ?> 176 <?php endif ?> 177 </td> 178 <?php endif ?> 179 <td><?php echo $thread->title ?></td> 180 <td> 181 <?php if ($thread->coordinator === NULL): ?> 182 <i style="color: #777"><?php echo $tpl->getLang('none') ?></i> 183 <?php else: ?> 184 <?php echo $tpl->user_name($thread->coordinator) ?> 185 <?php endif ?> 186 </td> 187 <td> 188 <?php echo $tpl->date($thread->create_date) ?> 189 </td> 190 <td> 191 <?php echo $tpl->date($thread->last_activity_date) ?> 192 </td> 193 <td> 194 <?php if (in_array($thread->state, array('closed', 'rejected'))): ?> 195 <?php echo $tpl->date($thread->close_date) ?><br /> 196 <?php $s = $tpl->getLang('report_priority').': ' . 197 $tpl->date_diff_days($thread->create_date, $thread->close_date, '%a') ?> 198 <?php echo str_replace(' ', ' ', $s) ?> 199 <?php else: ?> 200 <em>---</em> 201 <?php endif ?> 202 </td> 203 <td> 204 <?php if ($thread->task_sum_cost === NULL): ?> 205 <em>---</em> 206 <?php else: ?> 207 <?php echo $thread->task_sum_cost ?> 208 <?php endif ?> 209 </td> 210 <td> 211 <?php echo $thread->task_count_closed ?> / <?php echo $thread->task_count ?> 212 213 </td> 214 <?php if ($tpl->action() == 'threads'): ?> 215 <td> 216 <?php echo $thread->corrective_count ?> 217 </td> 218 <td> 219 <?php echo $thread->preventive_count ?> 220 </td> 221 <?php endif ?> 222 </tr> 223 <?php endforeach ?> 224 <tr> 225 <th><?php echo $tpl->getLang('report_total') ?></th> 226 <td colspan="<?php echo $tpl->action() == 'threads' ? '7' : '6' ?>"><?php echo $count ?></td> 227 <td><?php echo $total_cost ?></td> 228 <td><?php echo $total_task_closed.' / '.$total_task ?></td> 229 230 <?php if ($tpl->action() == 'threads'): ?> 231 <td><?php echo $total_corrective ?></td> 232 <td><?php echo $total_preventive ?></td> 233 <?php endif ?> 234 </tr> 235</table> 236