xref: /plugin/bez/tpl/tasks.php (revision f6c2876135650d1dd3f8c6036cde2606ec2ab0c4)
1ff14b107SSzymon Olewniczak<?php /* @var \dokuwiki\plugin\bez\meta\Tpl $tpl */ ?>
2eb2e6be9SSzymon Olewniczak
3eb2e6be9SSzymon Olewniczak<?php if (!$tpl->get('no_filters', false)): ?>
4eb2e6be9SSzymon Olewniczak
5a0cd8c78SSzymon Olewniczak<?php if ($tpl->factory('task')->permission() >= BEZ_TABLE_PERMISSION_INSERT): ?>
6ff14b107SSzymon Olewniczak    <a href="<?php echo $tpl->url('task_form') ?>" class="bez_start_button" id="bez_report_task_button">
7e8827d73SSzymon Olewniczak        <?php echo $tpl->getLang('add_task') ?>
8e8827d73SSzymon Olewniczak    </a>
9e8827d73SSzymon Olewniczak<?php endif ?>
10e8827d73SSzymon Olewniczak
11e8827d73SSzymon Olewniczak<br /><br />
12e8827d73SSzymon Olewniczak
13e51d1175Sghi<div class="bez_filter_form">
14e8827d73SSzymon Olewniczak<form action="<?php echo $tpl->url('tasks') ?>" method="POST">
15eb950a4cSghi
1653df74e7SSzymon Olewniczak
1753df74e7SSzymon Olewniczak<label><?php echo $tpl->getLang('reporter') ?>:
1853df74e7SSzymon Olewniczak    <select name="original_poster">
1953df74e7SSzymon Olewniczak        <option <?php if ($tpl->value('original_poster') == '-all') echo 'selected' ?>
2053df74e7SSzymon Olewniczak                value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
2153df74e7SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('users') ?>">
2253df74e7SSzymon Olewniczak            <?php foreach ($tpl->get('users') as $nick => $name): ?>
2353df74e7SSzymon Olewniczak                <option <?php if ($tpl->value('original_poster') == $nick) echo 'selected' ?>
2453df74e7SSzymon Olewniczak                        value="<?php echo $nick ?>"><?php echo $name ?></option>
2553df74e7SSzymon Olewniczak            <?php endforeach ?>
2653df74e7SSzymon Olewniczak        </optgroup>
2753df74e7SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('groups') ?>">
2853df74e7SSzymon Olewniczak            <?php foreach ($tpl->get('groups') as $name): ?>
2953df74e7SSzymon Olewniczak                <?php $group = "@$name" ?>
3053df74e7SSzymon Olewniczak                <option <?php if ($tpl->value('original_poster') == $group) echo 'selected' ?>
3153df74e7SSzymon Olewniczak                        value="<?php echo $group ?>"><?php echo $group ?></option>
3253df74e7SSzymon Olewniczak            <?php endforeach ?>
3353df74e7SSzymon Olewniczak        </optgroup>
3453df74e7SSzymon Olewniczak    </select>
3553df74e7SSzymon Olewniczak</label>
3653df74e7SSzymon Olewniczak
37e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('class') ?>:
38e8827d73SSzymon Olewniczak	<select name="type">
39e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('type') == '-all') echo 'selected' ?>
40e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
41e8827d73SSzymon Olewniczak	<?php foreach (\dokuwiki\plugin\bez\mdl\Task::get_types() as $type): ?>
4253df74e7SSzymon Olewniczak		<option <?php if ($tpl->value('type') == $type) echo 'selected' ?>
43e8827d73SSzymon Olewniczak			value="<?php echo $type ?>"><?php echo $tpl->getLang('task_type_' . $type) ?></option>
44c9044e56Sghi	<?php endforeach ?>
45c9044e56Sghi	</select>
46c9044e56Sghi</label>
47c9044e56Sghi
48e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('state') ?>:
49e8827d73SSzymon Olewniczak	<select name="state">
50e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('state') == '-all') echo 'selected' ?>
51e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
52e8827d73SSzymon Olewniczak	<?php foreach (\dokuwiki\plugin\bez\mdl\Task::get_states() as $state): ?>
53e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('state') == $state) echo 'selected' ?>
5453df74e7SSzymon Olewniczak			value="<?php echo $state ?>"><?php echo lcfirst($tpl->getLang('task_' . $state)) ?></option>
55168ecf58Sghi	<?php endforeach ?>
56168ecf58Sghi	</select>
57168ecf58Sghi</label>
58168ecf58Sghi
59e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('task_type') ?>:
60e8827d73SSzymon Olewniczak	<select name="task_program_id">
61e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == '-all') echo 'selected' ?>
62e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
63e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == '-none') echo 'selected' ?>
64e8827d73SSzymon Olewniczak			value="-none">-- <?php echo $tpl->getLang('none') ?> --</option>
65e8827d73SSzymon Olewniczak	<?php foreach ($tpl->get('task_programs') as $task_program): ?>
66e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == $task_program->id) echo 'selected' ?>
67e8827d73SSzymon Olewniczak			value="<?php echo $task_program->id ?>"><?php echo $task_program->name ?></option>
68168ecf58Sghi	<?php endforeach ?>
69168ecf58Sghi	</select>
70168ecf58Sghi</label>
71168ecf58Sghi
72e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('executor') ?>:
73e8827d73SSzymon Olewniczak    <select name="assignee">
74e8827d73SSzymon Olewniczak        <option <?php if ($tpl->value('assignee') == '-all') echo 'selected' ?>
75e8827d73SSzymon Olewniczak                value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
76e8827d73SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('users') ?>">
77e8827d73SSzymon Olewniczak            <?php foreach ($tpl->get('users') as $nick => $name): ?>
78e8827d73SSzymon Olewniczak                <option <?php if ($tpl->value('assignee') == $nick) echo 'selected' ?>
79c9044e56Sghi                        value="<?php echo $nick ?>"><?php echo $name ?></option>
80c9044e56Sghi            <?php endforeach ?>
81d6002863Sghi        </optgroup>
82e8827d73SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('groups') ?>">
83e8827d73SSzymon Olewniczak            <?php foreach ($tpl->get('groups') as $name): ?>
84d6002863Sghi                <?php $group = "@$name" ?>
85e8827d73SSzymon Olewniczak                <option <?php if ($tpl->value('assignee') == $group) echo 'selected' ?>
86d6002863Sghi                        value="<?php echo $group ?>"><?php echo $group ?></option>
87d6002863Sghi            <?php endforeach ?>
88d6002863Sghi        </optgroup>
89c9044e56Sghi    </select>
90c9044e56Sghi</label>
91e51d1175Sghi
92168ecf58Sghi
93e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('description') ?>:
94e8827d73SSzymon Olewniczak	<input name="content" value="<?php echo $tpl->value('content') ?>" />
95168ecf58Sghi</label>
96168ecf58Sghi
97168ecf58Sghi
98168ecf58Sghi<div class="time_filter">
99168ecf58Sghi	<label>
100b609bf0aSghi		<select name="date_type">
10153df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'plan_date') echo 'selected' ?>
10253df74e7SSzymon Olewniczak				value="plan_date"><?php echo $tpl->getLang('plan_date') ?></option>
10353df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'create_date') echo 'selected' ?>
10453df74e7SSzymon Olewniczak				value="create_date"><?php echo $tpl->getLang('open_date') ?></option>
10553df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'close_date') echo 'selected' ?>
10653df74e7SSzymon Olewniczak				value="close_date"><?php echo $tpl->getLang('close_date') ?></option>
107b609bf0aSghi		</select>:
108168ecf58Sghi	</label>
109e8827d73SSzymon Olewniczak	<label><?php echo $tpl->getLang('month') ?>:
110168ecf58Sghi		<select name="month">
111e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('month') == '-all') echo 'selected' ?>
112e8827d73SSzymon Olewniczak				value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
113e8827d73SSzymon Olewniczak		<?php foreach ($tpl->get('months') as $nr => $month): ?>
11453df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('month') == $nr) echo 'selected' ?>
115e8827d73SSzymon Olewniczak				value="<?php echo $nr ?>"><?php echo $tpl->getLang($month) ?></option>
116e51d1175Sghi		<?php endforeach ?>
117e51d1175Sghi		</select>
118e51d1175Sghi	</label>
119e8827d73SSzymon Olewniczak	<label><?php echo $tpl->getLang('year') ?>:
120c9044e56Sghi		<select name="year">
121e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('year') == '-all') echo 'selected' ?>
122e8827d73SSzymon Olewniczak				value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
123e8827d73SSzymon Olewniczak		<?php foreach ($tpl->get('years') as $year): ?>
124e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('year') == $year) echo 'selected' ?>
125c9044e56Sghi				value="<?php echo $year ?>"><?php echo $year ?></option>
126c9044e56Sghi		<?php endforeach ?>
127c9044e56Sghi		</select>
128c9044e56Sghi	</label>
1292dbae25dSSzymon Olewniczak	<label><button name="action" value="filter" type="submit"><?php echo $tpl->getLang('filter') ?></button></label>
130168ecf58Sghi</div>
131c9044e56Sghi</form>
132c9044e56Sghi</div>
133c9044e56Sghi
134eb2e6be9SSzymon Olewniczak<?php endif ?>
135168ecf58Sghi
1362dbae25dSSzymon Olewniczak<?php if ($tpl->user_acl_level() >= BEZ_AUTH_ADMIN): ?>
1372dbae25dSSzymon Olewniczak<form action="<?php echo $tpl->url('tasks') ?>" method="post">
1382dbae25dSSzymon Olewniczak<div id="plugin__bez_bulk_actions_box" style="display:none;">
1392dbae25dSSzymon Olewniczak    <button type="submit" name="action" value="bulk_delete"><?= $tpl->getLang('delete_selected') ?></button>
1402dbae25dSSzymon Olewniczak    <label><?= $tpl->getLang('move_to') ?>:</label>
1412dbae25dSSzymon Olewniczak    <select name="task_program">
1422dbae25dSSzymon Olewniczak        <?php foreach ($tpl->get('task_programs') as $task_program): ?>
1432dbae25dSSzymon Olewniczak            <option value="<?php echo $task_program->id ?>"><?php echo $task_program->name ?></option>
1442dbae25dSSzymon Olewniczak        <?php endforeach ?>
1452dbae25dSSzymon Olewniczak    </select>
1462dbae25dSSzymon Olewniczak    <button type="submit" name="action" value="bulk_move"><?= $tpl->getLang('button_move') ?></button>
1472dbae25dSSzymon Olewniczak</div>
1482dbae25dSSzymon Olewniczak<?php endif ?>
149bb615297Sghi<table class="bez bez_sumarise">
150c9044e56Sghi<tr>
1512dbae25dSSzymon Olewniczak    <?php if ($tpl->user_acl_level() >= BEZ_AUTH_ADMIN): ?>
1522dbae25dSSzymon Olewniczak        <th></th>
1532dbae25dSSzymon Olewniczak    <?php endif ?>
154e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('id') ?></th>
155e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('state') ?></th>
156e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('task_type') ?></th>
157e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('description') ?></th>
15810b689d4SSzymon Olewniczak
159e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('executor') ?></th>
160e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('plan') ?></th>
161e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('cost') ?></th>
162168ecf58Sghi
163e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('closed') ?></th>
164e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('hours_no') ?></th>
165168ecf58Sghi
166c9044e56Sghi</tr>
167ff14b107SSzymon Olewniczak<?php $count = 0 ?>
168ff14b107SSzymon Olewniczak<?php $total_cost = 0.0 ?>
169ff14b107SSzymon Olewniczak<?php $total_hours = 0.0 ?>
170e8827d73SSzymon Olewniczak<?php foreach ($tpl->get('tasks') as $task): ?>
1716f380773SSzymon Olewniczak    <?php if ($task->acl_of('id') < BEZ_PERMISSION_VIEW) continue ?>
17253df74e7SSzymon Olewniczak    <?php $count += 1 ?>
17353df74e7SSzymon Olewniczak    <?php $total_cost += (float) $task->cost ?>
17453df74e7SSzymon Olewniczak    <?php $hours = $tpl->date_diff_hours($task->start_time, $task->finish_time) ?>
17553df74e7SSzymon Olewniczak    <?php $total_hours += $tpl->time_to_float($hours) ?>
1766f380773SSzymon Olewniczak	<tr class="<?php if ($task->state == 'opened') echo 'priority_' . $task->priority ?>" data-bez-row-id="<?php echo $task->id ?>">
1772dbae25dSSzymon Olewniczak        <?php if ($tpl->user_acl_level() >= BEZ_AUTH_ADMIN): ?>
178*f6c28761SSzymon Olewniczak            <td><input type="checkbox" name="task_id[]" class="plugin__bez_bulk_checkbox" value="<?= $task->id ?>"></td>
1792dbae25dSSzymon Olewniczak        <?php endif ?>
180e09b232fSSzymon Olewniczak		<td style="white-space: nowrap">
181e8827d73SSzymon Olewniczak            <a href="<?php echo $tpl->url('task', 'tid', $task->id) ?>">
182ff14b107SSzymon Olewniczak               <?php if ($task->thread_id != '') echo '#'.$task->thread_id ?>
183ff14b107SSzymon Olewniczak		       #z<?php echo $task->id ?>
184aa89e6f8SSzymon Olewniczak	       </a>
185e09b232fSSzymon Olewniczak            <?php if($task->private == '1'): ?>
186e09b232fSSzymon Olewniczak                <?php echo inlineSVG(DOKU_PLUGIN . 'bez/images/lock-small.svg') ?>
187e09b232fSSzymon Olewniczak            <?php endif ?>
188168ecf58Sghi		</td>
189168ecf58Sghi		<td>
190ff14b107SSzymon Olewniczak			<?php echo lcfirst($tpl->getLang('task_' . $task->state)) ?>
191ff14b107SSzymon Olewniczak			<?php if ($task->plan_date < date('%Y-%m-%d')): ?>
192ff14b107SSzymon Olewniczak			(<?php echo lcfirst($tpl->getLang('task_outdated')) ?>)
19324f91664SSzymon Olewniczak			<?php endif ?>
194168ecf58Sghi		</td>
195168ecf58Sghi		<td>
196ff14b107SSzymon Olewniczak			<?php if ($task->task_program_id == ''): ?>
197168ecf58Sghi				<em>---</em>
198168ecf58Sghi			<?php else: ?>
199ff14b107SSzymon Olewniczak				<?php echo $task->task_program_name ?>
200168ecf58Sghi			<?php endif ?>
201168ecf58Sghi		</td>
202023e646dSSzymon Olewniczak		<td>
203023e646dSSzymon Olewniczak			<div style="max-width:200px;max-height:60px;overflow:hidden;">
204ff14b107SSzymon Olewniczak			<?php echo $task->content_html ?>
205023e646dSSzymon Olewniczak			</div>
206023e646dSSzymon Olewniczak			 <a class="bez_show_single_desc" href="#">(...)</a>
207023e646dSSzymon Olewniczak			</td>
208ff14b107SSzymon Olewniczak		<td><?php echo $tpl->user_name($task->assignee) ?></td>
209168ecf58Sghi
210c9044e56Sghi		<td>
211ff14b107SSzymon Olewniczak        <?php echo $task->plan_date ?>
212ff14b107SSzymon Olewniczak        <?php if ($task->state == 'opened'): ?>
213ff14b107SSzymon Olewniczak            (<?php echo $tpl->date_diff_days($task->plan_date) ?>)
2144c92a177SSzymon Olewniczak        <?php endif ?>
215ff14b107SSzymon Olewniczak        <?php if ($task->all_day_event == '0'): ?>
216ff14b107SSzymon Olewniczak            <?php echo $task->start_time ?>&nbsp;-&nbsp;<?php echo $task->finish_time ?>
217168ecf58Sghi        <?php endif ?>
218168ecf58Sghi		</td>
219b609bf0aSghi
220b609bf0aSghi		<td>
221ff14b107SSzymon Olewniczak			<?php if ($task->cost == ''): ?>
222b609bf0aSghi				<em>---</em>
223b609bf0aSghi			<?php else: ?>
224ff14b107SSzymon Olewniczak				<?php echo $task->cost ?>
225168ecf58Sghi			<?php endif ?>
226b609bf0aSghi		</td>
227b609bf0aSghi
228168ecf58Sghi		<td>
229ff14b107SSzymon Olewniczak			<?php if ($task->state == 'opened'): ?>
2306e94bebdSghi				<em>---</em>
231c9044e56Sghi			<?php else: ?>
23253df74e7SSzymon Olewniczak				<?php echo $tpl->date($task->close_date) ?>
233c9044e56Sghi			<?php endif ?>
234c9044e56Sghi		</td>
235168ecf58Sghi		<td>
236ff14b107SSzymon Olewniczak			<?php if ($task->start_time == ''): ?>
237168ecf58Sghi				<em>---</em>
238168ecf58Sghi			<?php else: ?>
23953df74e7SSzymon Olewniczak                <?php echo $hours ?>
240168ecf58Sghi			<?php endif ?>
241168ecf58Sghi		</td>
242c9044e56Sghi		</tr>
243ff14b107SSzymon Olewniczak		<tr class="bez_desc_row task<?php echo $task->id ?>">
2441c300e42SSzymon Olewniczak			<td colspan="10">
245ff14b107SSzymon Olewniczak				<?php echo $task->content_html ?>
246168ecf58Sghi			</td>
247168ecf58Sghi		</tr>
248c9044e56Sghi	<?php endforeach ?>
249bb615297Sghi	<tr>
250ff14b107SSzymon Olewniczak		<th><?php echo $tpl->getLang('report_total') ?></th>
2512dbae25dSSzymon Olewniczak        <?php $colspan = $tpl->user_acl_level() >= BEZ_AUTH_ADMIN ? 6 : 5 ?>
2522dbae25dSSzymon Olewniczak		<td colspan="<?= $colspan ?>>"><?php echo $count ?></td>
253ff14b107SSzymon Olewniczak		<td colspan="2"><?php echo $total_cost ?></td>
25453df74e7SSzymon Olewniczak		<td colspan="1"><?php echo $tpl->float_to_time($total_hours) ?></td>
255bb615297Sghi	</tr>
256c9044e56Sghi</table>
2572dbae25dSSzymon Olewniczak<?php if ($tpl->user_acl_level() >= BEZ_AUTH_ADMIN): ?>
2582dbae25dSSzymon Olewniczak    </form>
2592dbae25dSSzymon Olewniczak<?php endif ?>