xref: /plugin/bez/tpl/tasks.php (revision e09b232ffd94bc38ec04930c9ddc745874b0ba41)
1ff14b107SSzymon Olewniczak<?php /* @var \dokuwiki\plugin\bez\meta\Tpl $tpl */ ?>
2a0cd8c78SSzymon Olewniczak<?php if ($tpl->factory('task')->permission() >= BEZ_TABLE_PERMISSION_INSERT): ?>
3ff14b107SSzymon Olewniczak    <a href="<?php echo $tpl->url('task_form') ?>" class="bez_start_button" id="bez_report_task_button">
4e8827d73SSzymon Olewniczak        <?php echo $tpl->getLang('add_task') ?>
5e8827d73SSzymon Olewniczak    </a>
6e8827d73SSzymon Olewniczak<?php endif ?>
7e8827d73SSzymon Olewniczak
8e8827d73SSzymon Olewniczak<br /><br />
9e8827d73SSzymon Olewniczak
10e51d1175Sghi<div class="bez_filter_form">
11e8827d73SSzymon Olewniczak<form action="<?php echo $tpl->url('tasks') ?>" method="POST">
12eb950a4cSghi
1353df74e7SSzymon Olewniczak
1453df74e7SSzymon Olewniczak<label><?php echo $tpl->getLang('reporter') ?>:
1553df74e7SSzymon Olewniczak    <select name="original_poster">
1653df74e7SSzymon Olewniczak        <option <?php if ($tpl->value('original_poster') == '-all') echo 'selected' ?>
1753df74e7SSzymon Olewniczak                value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
1853df74e7SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('users') ?>">
1953df74e7SSzymon Olewniczak            <?php foreach ($tpl->get('users') as $nick => $name): ?>
2053df74e7SSzymon Olewniczak                <option <?php if ($tpl->value('original_poster') == $nick) echo 'selected' ?>
2153df74e7SSzymon Olewniczak                        value="<?php echo $nick ?>"><?php echo $name ?></option>
2253df74e7SSzymon Olewniczak            <?php endforeach ?>
2353df74e7SSzymon Olewniczak        </optgroup>
2453df74e7SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('groups') ?>">
2553df74e7SSzymon Olewniczak            <?php foreach ($tpl->get('groups') as $name): ?>
2653df74e7SSzymon Olewniczak                <?php $group = "@$name" ?>
2753df74e7SSzymon Olewniczak                <option <?php if ($tpl->value('original_poster') == $group) echo 'selected' ?>
2853df74e7SSzymon Olewniczak                        value="<?php echo $group ?>"><?php echo $group ?></option>
2953df74e7SSzymon Olewniczak            <?php endforeach ?>
3053df74e7SSzymon Olewniczak        </optgroup>
3153df74e7SSzymon Olewniczak    </select>
3253df74e7SSzymon Olewniczak</label>
3353df74e7SSzymon Olewniczak
34e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('class') ?>:
35e8827d73SSzymon Olewniczak	<select name="type">
36e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('type') == '-all') echo 'selected' ?>
37e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
38e8827d73SSzymon Olewniczak	<?php foreach (\dokuwiki\plugin\bez\mdl\Task::get_types() as $type): ?>
3953df74e7SSzymon Olewniczak		<option <?php if ($tpl->value('type') == $type) echo 'selected' ?>
40e8827d73SSzymon Olewniczak			value="<?php echo $type ?>"><?php echo $tpl->getLang('task_type_' . $type) ?></option>
41c9044e56Sghi	<?php endforeach ?>
42c9044e56Sghi	</select>
43c9044e56Sghi</label>
44c9044e56Sghi
45e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('state') ?>:
46e8827d73SSzymon Olewniczak	<select name="state">
47e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('state') == '-all') echo 'selected' ?>
48e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
49e8827d73SSzymon Olewniczak	<?php foreach (\dokuwiki\plugin\bez\mdl\Task::get_states() as $state): ?>
50e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('state') == $state) echo 'selected' ?>
5153df74e7SSzymon Olewniczak			value="<?php echo $state ?>"><?php echo lcfirst($tpl->getLang('task_' . $state)) ?></option>
52168ecf58Sghi	<?php endforeach ?>
53168ecf58Sghi	</select>
54168ecf58Sghi</label>
55168ecf58Sghi
56e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('task_type') ?>:
57e8827d73SSzymon Olewniczak	<select name="task_program_id">
58e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == '-all') echo 'selected' ?>
59e8827d73SSzymon Olewniczak			value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
60e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == '-none') echo 'selected' ?>
61e8827d73SSzymon Olewniczak			value="-none">-- <?php echo $tpl->getLang('none') ?> --</option>
62e8827d73SSzymon Olewniczak	<?php foreach ($tpl->get('task_programs') as $task_program): ?>
63e8827d73SSzymon Olewniczak		<option <?php if ($tpl->value('task_program_id') == $task_program->id) echo 'selected' ?>
64e8827d73SSzymon Olewniczak			value="<?php echo $task_program->id ?>"><?php echo $task_program->name ?></option>
65168ecf58Sghi	<?php endforeach ?>
66168ecf58Sghi	</select>
67168ecf58Sghi</label>
68168ecf58Sghi
69e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('executor') ?>:
70e8827d73SSzymon Olewniczak    <select name="assignee">
71e8827d73SSzymon Olewniczak        <option <?php if ($tpl->value('assignee') == '-all') echo 'selected' ?>
72e8827d73SSzymon Olewniczak                value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
73e8827d73SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('users') ?>">
74e8827d73SSzymon Olewniczak            <?php foreach ($tpl->get('users') as $nick => $name): ?>
75e8827d73SSzymon Olewniczak                <option <?php if ($tpl->value('assignee') == $nick) echo 'selected' ?>
76c9044e56Sghi                        value="<?php echo $nick ?>"><?php echo $name ?></option>
77c9044e56Sghi            <?php endforeach ?>
78d6002863Sghi        </optgroup>
79e8827d73SSzymon Olewniczak        <optgroup label="<?php echo $tpl->getLang('groups') ?>">
80e8827d73SSzymon Olewniczak            <?php foreach ($tpl->get('groups') as $name): ?>
81d6002863Sghi                <?php $group = "@$name" ?>
82e8827d73SSzymon Olewniczak                <option <?php if ($tpl->value('assignee') == $group) echo 'selected' ?>
83d6002863Sghi                        value="<?php echo $group ?>"><?php echo $group ?></option>
84d6002863Sghi            <?php endforeach ?>
85d6002863Sghi        </optgroup>
86c9044e56Sghi    </select>
87c9044e56Sghi</label>
88e51d1175Sghi
89168ecf58Sghi
90e8827d73SSzymon Olewniczak<label><?php echo $tpl->getLang('description') ?>:
91e8827d73SSzymon Olewniczak	<input name="content" value="<?php echo $tpl->value('content') ?>" />
92168ecf58Sghi</label>
93168ecf58Sghi
94168ecf58Sghi
95168ecf58Sghi<div class="time_filter">
96168ecf58Sghi	<label>
97b609bf0aSghi		<select name="date_type">
9853df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'plan_date') echo 'selected' ?>
9953df74e7SSzymon Olewniczak				value="plan_date"><?php echo $tpl->getLang('plan_date') ?></option>
10053df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'create_date') echo 'selected' ?>
10153df74e7SSzymon Olewniczak				value="create_date"><?php echo $tpl->getLang('open_date') ?></option>
10253df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('date_type') == 'close_date') echo 'selected' ?>
10353df74e7SSzymon Olewniczak				value="close_date"><?php echo $tpl->getLang('close_date') ?></option>
104b609bf0aSghi		</select>:
105168ecf58Sghi	</label>
106e8827d73SSzymon Olewniczak	<label><?php echo $tpl->getLang('month') ?>:
107168ecf58Sghi		<select name="month">
108e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('month') == '-all') echo 'selected' ?>
109e8827d73SSzymon Olewniczak				value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
110e8827d73SSzymon Olewniczak		<?php foreach ($tpl->get('months') as $nr => $month): ?>
11153df74e7SSzymon Olewniczak			<option <?php if ($tpl->value('month') == $nr) echo 'selected' ?>
112e8827d73SSzymon Olewniczak				value="<?php echo $nr ?>"><?php echo $tpl->getLang($month) ?></option>
113e51d1175Sghi		<?php endforeach ?>
114e51d1175Sghi		</select>
115e51d1175Sghi	</label>
116e8827d73SSzymon Olewniczak	<label><?php echo $tpl->getLang('year') ?>:
117c9044e56Sghi		<select name="year">
118e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('year') == '-all') echo 'selected' ?>
119e8827d73SSzymon Olewniczak				value="-all">--- <?php echo $tpl->getLang('all') ?> ---</option>
120e8827d73SSzymon Olewniczak		<?php foreach ($tpl->get('years') as $year): ?>
121e8827d73SSzymon Olewniczak			<option <?php if ($tpl->value('year') == $year) echo 'selected' ?>
122c9044e56Sghi				value="<?php echo $year ?>"><?php echo $year ?></option>
123c9044e56Sghi		<?php endforeach ?>
124c9044e56Sghi		</select>
125c9044e56Sghi	</label>
126e8827d73SSzymon Olewniczak	<label><input type="submit" value="<?php echo $tpl->getLang('filter') ?>" /></label>
127168ecf58Sghi</div>
128c9044e56Sghi</form>
129c9044e56Sghi</div>
130c9044e56Sghi
131168ecf58Sghi
132bb615297Sghi<table class="bez bez_sumarise">
133c9044e56Sghi<tr>
134e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('id') ?></th>
135e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('state') ?></th>
136e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('task_type') ?></th>
137e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('description') ?></th>
13810b689d4SSzymon Olewniczak
139e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('executor') ?></th>
140e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('plan') ?></th>
141e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('cost') ?></th>
142168ecf58Sghi
143e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('closed') ?></th>
144e8827d73SSzymon Olewniczak	<th><?php echo $tpl->getLang('hours_no') ?></th>
145168ecf58Sghi
146c9044e56Sghi</tr>
147ff14b107SSzymon Olewniczak<?php $count = 0 ?>
148ff14b107SSzymon Olewniczak<?php $total_cost = 0.0 ?>
149ff14b107SSzymon Olewniczak<?php $total_hours = 0.0 ?>
150e8827d73SSzymon Olewniczak<?php foreach ($tpl->get('tasks') as $task): ?>
15153df74e7SSzymon Olewniczak    <?php $count += 1 ?>
15253df74e7SSzymon Olewniczak    <?php $total_cost += (float) $task->cost ?>
15353df74e7SSzymon Olewniczak    <?php $hours = $tpl->date_diff_hours($task->start_time, $task->finish_time) ?>
15453df74e7SSzymon Olewniczak    <?php $total_hours += $tpl->time_to_float($hours) ?>
15514a1f0a4SSzymon Olewniczak	<tr class="priority_<?php echo $task->priority ?>" data-bez-row-id="<?php echo $task->id ?>">
156*e09b232fSSzymon Olewniczak		<td style="white-space: nowrap">
157e8827d73SSzymon Olewniczak            <a href="<?php echo $tpl->url('task', 'tid', $task->id) ?>">
158ff14b107SSzymon Olewniczak               <?php if ($task->thread_id != '') echo '#'.$task->thread_id ?>
159ff14b107SSzymon Olewniczak		       #z<?php echo $task->id ?>
160aa89e6f8SSzymon Olewniczak	       </a>
161*e09b232fSSzymon Olewniczak            <?php if($task->private == '1'): ?>
162*e09b232fSSzymon Olewniczak                <?php echo inlineSVG(DOKU_PLUGIN . 'bez/images/lock-small.svg') ?>
163*e09b232fSSzymon Olewniczak            <?php endif ?>
164168ecf58Sghi		</td>
165168ecf58Sghi		<td>
166ff14b107SSzymon Olewniczak			<?php echo lcfirst($tpl->getLang('task_' . $task->state)) ?>
167ff14b107SSzymon Olewniczak			<?php if ($task->plan_date < date('%Y-%m-%d')): ?>
168ff14b107SSzymon Olewniczak			(<?php echo lcfirst($tpl->getLang('task_outdated')) ?>)
16924f91664SSzymon Olewniczak			<?php endif ?>
170168ecf58Sghi		</td>
171168ecf58Sghi		<td>
172ff14b107SSzymon Olewniczak			<?php if ($task->task_program_id == ''): ?>
173168ecf58Sghi				<em>---</em>
174168ecf58Sghi			<?php else: ?>
175ff14b107SSzymon Olewniczak				<?php echo $task->task_program_name ?>
176168ecf58Sghi			<?php endif ?>
177168ecf58Sghi		</td>
178023e646dSSzymon Olewniczak		<td>
179023e646dSSzymon Olewniczak			<div style="max-width:200px;max-height:60px;overflow:hidden;">
180ff14b107SSzymon Olewniczak			<?php echo $task->content_html ?>
181023e646dSSzymon Olewniczak			</div>
182023e646dSSzymon Olewniczak			 <a class="bez_show_single_desc" href="#">(...)</a>
183023e646dSSzymon Olewniczak			</td>
184ff14b107SSzymon Olewniczak		<td><?php echo $tpl->user_name($task->assignee) ?></td>
185168ecf58Sghi
186c9044e56Sghi		<td>
187ff14b107SSzymon Olewniczak        <?php echo $task->plan_date ?>
188ff14b107SSzymon Olewniczak        <?php if ($task->state == 'opened'): ?>
189ff14b107SSzymon Olewniczak            (<?php echo $tpl->date_diff_days($task->plan_date) ?>)
1904c92a177SSzymon Olewniczak        <?php endif ?>
191ff14b107SSzymon Olewniczak        <?php if ($task->all_day_event == '0'): ?>
192ff14b107SSzymon Olewniczak            <?php echo $task->start_time ?>&nbsp;-&nbsp;<?php echo $task->finish_time ?>
193168ecf58Sghi        <?php endif ?>
194168ecf58Sghi		</td>
195b609bf0aSghi
196b609bf0aSghi		<td>
197ff14b107SSzymon Olewniczak			<?php if ($task->cost == ''): ?>
198b609bf0aSghi				<em>---</em>
199b609bf0aSghi			<?php else: ?>
200ff14b107SSzymon Olewniczak				<?php echo $task->cost ?>
201168ecf58Sghi			<?php endif ?>
202b609bf0aSghi		</td>
203b609bf0aSghi
204168ecf58Sghi		<td>
205ff14b107SSzymon Olewniczak			<?php if ($task->state == 'opened'): ?>
2066e94bebdSghi				<em>---</em>
207c9044e56Sghi			<?php else: ?>
20853df74e7SSzymon Olewniczak				<?php echo $tpl->date($task->close_date) ?>
209c9044e56Sghi			<?php endif ?>
210c9044e56Sghi		</td>
211168ecf58Sghi		<td>
212ff14b107SSzymon Olewniczak			<?php if ($task->start_time == ''): ?>
213168ecf58Sghi				<em>---</em>
214168ecf58Sghi			<?php else: ?>
21553df74e7SSzymon Olewniczak                <?php echo $hours ?>
216168ecf58Sghi			<?php endif ?>
217168ecf58Sghi		</td>
218c9044e56Sghi		</tr>
219ff14b107SSzymon Olewniczak		<tr class="bez_desc_row task<?php echo $task->id ?>">
2201c300e42SSzymon Olewniczak			<td colspan="10">
221ff14b107SSzymon Olewniczak				<?php echo $task->content_html ?>
222168ecf58Sghi			</td>
223168ecf58Sghi		</tr>
224c9044e56Sghi	<?php endforeach ?>
225bb615297Sghi	<tr>
226ff14b107SSzymon Olewniczak		<th><?php echo $tpl->getLang('report_total') ?></th>
227ff14b107SSzymon Olewniczak		<td colspan="5"><?php echo $count ?></td>
228ff14b107SSzymon Olewniczak		<td colspan="2"><?php echo $total_cost ?></td>
22953df74e7SSzymon Olewniczak		<td colspan="1"><?php echo $tpl->float_to_time($total_hours) ?></td>
230bb615297Sghi	</tr>
231c9044e56Sghi</table>
232c9044e56Sghi</div>
233