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