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