diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-03-09 21:37:10 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-03-09 21:37:10 -0400 |
commit | c870508923f62e90a81fe39d923d7776dd1e9634 (patch) | |
tree | f0c8966fe226b5c48730c29d3eaefb51a9010b8b /app/Template | |
parent | 732899564517c6efd9ef965f3f843309a222ce50 (diff) |
Add user timetables
Diffstat (limited to 'app/Template')
-rw-r--r-- | app/Template/timetable/index.php | 44 | ||||
-rw-r--r-- | app/Template/timetable_day/index.php | 45 | ||||
-rw-r--r-- | app/Template/timetable_day/remove.php | 13 | ||||
-rw-r--r-- | app/Template/timetable_extra/index.php | 56 | ||||
-rw-r--r-- | app/Template/timetable_extra/remove.php | 13 | ||||
-rw-r--r-- | app/Template/timetable_off/index.php | 56 | ||||
-rw-r--r-- | app/Template/timetable_off/remove.php | 13 | ||||
-rw-r--r-- | app/Template/timetable_week/index.php | 46 | ||||
-rw-r--r-- | app/Template/timetable_week/remove.php | 13 | ||||
-rw-r--r-- | app/Template/user/sidebar.php | 3 |
10 files changed, 302 insertions, 0 deletions
diff --git a/app/Template/timetable/index.php b/app/Template/timetable/index.php new file mode 100644 index 00000000..27cbe39c --- /dev/null +++ b/app/Template/timetable/index.php @@ -0,0 +1,44 @@ +<div class="page-header"> + <h2><?= t('Timetable') ?></h2> + <ul> + <li><?= $this->a(t('Day timetable'), 'timetableday', 'index', array('user_id' => $user['id'])) ?></li> + <li><?= $this->a(t('Week timetable'), 'timetableweek', 'index', array('user_id' => $user['id'])) ?></li> + <li><?= $this->a(t('Time off timetable'), 'timetableoff', 'index', array('user_id' => $user['id'])) ?></li> + <li><?= $this->a(t('Overtime timetable'), 'timetableextra', 'index', array('user_id' => $user['id'])) ?></li> + </ul> +</div> + +<form method="get" action="?" autocomplete="off" class="form-inline"> + + <?= $this->formHidden('controller', $values) ?> + <?= $this->formHidden('action', $values) ?> + <?= $this->formHidden('user_id', $values) ?> + + <?= $this->formLabel(t('From'), 'from') ?> + <?= $this->formText('from', $values, array(), array(), 'form-date') ?> + + <?= $this->formLabel(t('To'), 'to') ?> + <?= $this->formText('to', $values, array(), array(), 'form-date') ?> + + <input type="submit" value="<?= t('Execute') ?>" class="btn btn-blue"/> +</form> + +<?php if (! empty($timetable)): ?> +<hr/> +<h3><?= t('Work timetable') ?></h3> +<table class="table-fixed table-stripped"> + <tr> + <th><?= t('Day') ?></th> + <th><?= t('Start') ?></th> + <th><?= t('End') ?></th> + </tr> + <?php foreach ($timetable as $slot): ?> + <tr> + <td><?= dt('%B %e, %Y', $slot[0]->getTimestamp()) ?></td> + <td><?= dt('%k:%M %p', $slot[0]->getTimestamp()) ?></td> + <td><?= dt('%k:%M %p', $slot[1]->getTimestamp()) ?></td> + </tr> + <?php endforeach ?> +</table> + +<?php endif ?>
\ No newline at end of file diff --git a/app/Template/timetable_day/index.php b/app/Template/timetable_day/index.php new file mode 100644 index 00000000..50aca602 --- /dev/null +++ b/app/Template/timetable_day/index.php @@ -0,0 +1,45 @@ +<div class="page-header"> + <h2><?= t('Day timetable') ?></h2> +</div> + +<?php if (! empty($timetable)): ?> + +<table class="table-fixed table-stripped"> + <tr> + <th><?= t('Start time') ?></th> + <th><?= t('End time') ?></th> + <th><?= t('Action') ?></th> + </tr> + <?php foreach ($timetable as $slot): ?> + <tr> + <td><?= $slot['start'] ?></td> + <td><?= $slot['end'] ?></td> + <td> + <?= $this->a(t('Remove'), 'timetableday', 'confirm', array('user_id' => $user['id'], 'slot_id' => $slot['id'])) ?> + </td> + </tr> + <?php endforeach ?> +</table> + +<h3><?= t('Add new time slot') ?></h3> +<?php endif ?> + +<form method="post" action="<?= $this->u('timetableday', 'save', array('user_id' => $user['id'])) ?>" autocomplete="off"> + + <?= $this->formHidden('user_id', $values) ?> + <?= $this->formCsrf() ?> + + <?= $this->formLabel(t('Start time'), 'start') ?> + <?= $this->formSelect('start', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('End time'), 'end') ?> + <?= $this->formSelect('end', $this->getDayHours(), $values, $errors) ?> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> + </div> +</form> + +<p class="alert alert-info"> + <?= t('This timetable is used when the checkbox "all day" is checked for scheduled time off and overtime.') ?> +</p>
\ No newline at end of file diff --git a/app/Template/timetable_day/remove.php b/app/Template/timetable_day/remove.php new file mode 100644 index 00000000..b3ee8775 --- /dev/null +++ b/app/Template/timetable_day/remove.php @@ -0,0 +1,13 @@ +<div class="page-header"> + <h2><?= t('Remove time slot') ?></h2> +</div> + +<div class="confirm"> + <p class="alert alert-info"><?= t('Do you really want to remove this time slot?') ?></p> + + <div class="form-actions"> + <?= $this->a(t('Yes'), 'timetableday', 'remove', array('user_id' => $user['id'], 'slot_id' => $slot_id), true, 'btn btn-red') ?> + <?= t('or') ?> + <?= $this->a(t('cancel'), 'timetableday', 'index', array('user_id' => $user['id'])) ?> + </div> +</div>
\ No newline at end of file diff --git a/app/Template/timetable_extra/index.php b/app/Template/timetable_extra/index.php new file mode 100644 index 00000000..a0a55bec --- /dev/null +++ b/app/Template/timetable_extra/index.php @@ -0,0 +1,56 @@ +<div class="page-header"> + <h2><?= t('Overtime timetable') ?></h2> +</div> + +<?php if (! $paginator->isEmpty()): ?> + +<table class="table-fixed table-stripped"> + <tr> + <th><?= $paginator->order(t('Day'), 'Day') ?></th> + <th><?= $paginator->order(t('All day'), 'all_day') ?></th> + <th><?= $paginator->order(t('Start time'), 'start') ?></th> + <th><?= $paginator->order(t('End time'), 'end') ?></th> + <th class="column-40"><?= t('Comment') ?></th> + <th><?= t('Action') ?></th> + </tr> + <?php foreach ($paginator->getCollection() as $slot): ?> + <tr> + <td><?= $slot['date'] ?></td> + <td><?= $slot['all_day'] == 1 ? t('Yes') : t('No') ?></td> + <td><?= $slot['start'] ?></td> + <td><?= $slot['end'] ?></td> + <td><?= $this->e($slot['comment']) ?></td> + <td> + <?= $this->a(t('Remove'), 'timetableextra', 'confirm', array('user_id' => $user['id'], 'slot_id' => $slot['id'])) ?> + </td> + </tr> + <?php endforeach ?> +</table> + +<?= $paginator ?> + +<?php endif ?> + +<form method="post" action="<?= $this->u('timetableextra', 'save', array('user_id' => $user['id'])) ?>" autocomplete="off"> + + <?= $this->formHidden('user_id', $values) ?> + <?= $this->formCsrf() ?> + + <?= $this->formLabel(t('Day'), 'date') ?> + <?= $this->formText('date', $values, $errors, array('required'), 'form-date') ?> + + <?= $this->formCheckbox('all_day', t('All day'), 1) ?> + + <?= $this->formLabel(t('Start time'), 'start') ?> + <?= $this->formSelect('start', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('End time'), 'end') ?> + <?= $this->formSelect('end', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('Comment'), 'comment') ?> + <?= $this->formText('comment', $values, $errors) ?> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> + </div> +</form>
\ No newline at end of file diff --git a/app/Template/timetable_extra/remove.php b/app/Template/timetable_extra/remove.php new file mode 100644 index 00000000..d8dc5b3b --- /dev/null +++ b/app/Template/timetable_extra/remove.php @@ -0,0 +1,13 @@ +<div class="page-header"> + <h2><?= t('Remove time slot') ?></h2> +</div> + +<div class="confirm"> + <p class="alert alert-info"><?= t('Do you really want to remove this time slot?') ?></p> + + <div class="form-actions"> + <?= $this->a(t('Yes'), 'timetableextra', 'remove', array('user_id' => $user['id'], 'slot_id' => $slot_id), true, 'btn btn-red') ?> + <?= t('or') ?> + <?= $this->a(t('cancel'), 'timetableextra', 'index', array('user_id' => $user['id'])) ?> + </div> +</div>
\ No newline at end of file diff --git a/app/Template/timetable_off/index.php b/app/Template/timetable_off/index.php new file mode 100644 index 00000000..f35d331e --- /dev/null +++ b/app/Template/timetable_off/index.php @@ -0,0 +1,56 @@ +<div class="page-header"> + <h2><?= t('Time off timetable') ?></h2> +</div> + +<?php if (! $paginator->isEmpty()): ?> + +<table class="table-fixed table-stripped"> + <tr> + <th><?= $paginator->order(t('Day'), 'Day') ?></th> + <th><?= $paginator->order(t('All day'), 'all_day') ?></th> + <th><?= $paginator->order(t('Start time'), 'start') ?></th> + <th><?= $paginator->order(t('End time'), 'end') ?></th> + <th class="column-40"><?= t('Comment') ?></th> + <th><?= t('Action') ?></th> + </tr> + <?php foreach ($paginator->getCollection() as $slot): ?> + <tr> + <td><?= $slot['date'] ?></td> + <td><?= $slot['all_day'] == 1 ? t('Yes') : t('No') ?></td> + <td><?= $slot['start'] ?></td> + <td><?= $slot['end'] ?></td> + <td><?= $this->e($slot['comment']) ?></td> + <td> + <?= $this->a(t('Remove'), 'timetableoff', 'confirm', array('user_id' => $user['id'], 'slot_id' => $slot['id'])) ?> + </td> + </tr> + <?php endforeach ?> +</table> + +<?= $paginator ?> + +<?php endif ?> + +<form method="post" action="<?= $this->u('timetableoff', 'save', array('user_id' => $user['id'])) ?>" autocomplete="off"> + + <?= $this->formHidden('user_id', $values) ?> + <?= $this->formCsrf() ?> + + <?= $this->formLabel(t('Day'), 'date') ?> + <?= $this->formText('date', $values, $errors, array('required'), 'form-date') ?> + + <?= $this->formCheckbox('all_day', t('All day'), 1) ?> + + <?= $this->formLabel(t('Start time'), 'start') ?> + <?= $this->formSelect('start', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('End time'), 'end') ?> + <?= $this->formSelect('end', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('Comment'), 'comment') ?> + <?= $this->formText('comment', $values, $errors) ?> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> + </div> +</form>
\ No newline at end of file diff --git a/app/Template/timetable_off/remove.php b/app/Template/timetable_off/remove.php new file mode 100644 index 00000000..64863781 --- /dev/null +++ b/app/Template/timetable_off/remove.php @@ -0,0 +1,13 @@ +<div class="page-header"> + <h2><?= t('Remove time slot') ?></h2> +</div> + +<div class="confirm"> + <p class="alert alert-info"><?= t('Do you really want to remove this time slot?') ?></p> + + <div class="form-actions"> + <?= $this->a(t('Yes'), 'timetableoff', 'remove', array('user_id' => $user['id'], 'slot_id' => $slot_id), true, 'btn btn-red') ?> + <?= t('or') ?> + <?= $this->a(t('cancel'), 'timetableoff', 'index', array('user_id' => $user['id'])) ?> + </div> +</div>
\ No newline at end of file diff --git a/app/Template/timetable_week/index.php b/app/Template/timetable_week/index.php new file mode 100644 index 00000000..8fb51909 --- /dev/null +++ b/app/Template/timetable_week/index.php @@ -0,0 +1,46 @@ +<div class="page-header"> + <h2><?= t('Week timetable') ?></h2> +</div> + +<?php if (! empty($timetable)): ?> + +<table class="table-fixed table-stripped"> + <tr> + <th><?= t('Day') ?></th> + <th><?= t('Start time') ?></th> + <th><?= t('End time') ?></th> + <th><?= t('Action') ?></th> + </tr> + <?php foreach ($timetable as $slot): ?> + <tr> + <td><?= $this->getWeekDay($slot['day']) ?></td> + <td><?= $slot['start'] ?></td> + <td><?= $slot['end'] ?></td> + <td> + <?= $this->a(t('Remove'), 'timetableweek', 'confirm', array('user_id' => $user['id'], 'slot_id' => $slot['id'])) ?> + </td> + </tr> + <?php endforeach ?> +</table> + +<h3><?= t('Add new time slot') ?></h3> +<?php endif ?> + +<form method="post" action="<?= $this->u('timetableweek', 'save', array('user_id' => $user['id'])) ?>" autocomplete="off"> + + <?= $this->formHidden('user_id', $values) ?> + <?= $this->formCsrf() ?> + + <?= $this->formLabel(t('Day'), 'day') ?> + <?= $this->formSelect('day', $this->getWeekDays(), $values, $errors) ?> + + <?= $this->formLabel(t('Start time'), 'start') ?> + <?= $this->formSelect('start', $this->getDayHours(), $values, $errors) ?> + + <?= $this->formLabel(t('End time'), 'end') ?> + <?= $this->formSelect('end', $this->getDayHours(), $values, $errors) ?> + + <div class="form-actions"> + <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> + </div> +</form>
\ No newline at end of file diff --git a/app/Template/timetable_week/remove.php b/app/Template/timetable_week/remove.php new file mode 100644 index 00000000..f8eb2bbe --- /dev/null +++ b/app/Template/timetable_week/remove.php @@ -0,0 +1,13 @@ +<div class="page-header"> + <h2><?= t('Remove time slot') ?></h2> +</div> + +<div class="confirm"> + <p class="alert alert-info"><?= t('Do you really want to remove this time slot?') ?></p> + + <div class="form-actions"> + <?= $this->a(t('Yes'), 'timetableweek', 'remove', array('user_id' => $user['id'], 'slot_id' => $slot_id), true, 'btn btn-red') ?> + <?= t('or') ?> + <?= $this->a(t('cancel'), 'timetableweek', 'index', array('user_id' => $user['id'])) ?> + </div> +</div>
\ No newline at end of file diff --git a/app/Template/user/sidebar.php b/app/Template/user/sidebar.php index 88977a9e..1af10c1d 100644 --- a/app/Template/user/sidebar.php +++ b/app/Template/user/sidebar.php @@ -43,6 +43,9 @@ <li> <?= $this->a(t('Hourly rates'), 'hourlyrate', 'index', array('user_id' => $user['id'])) ?> </li> + <li> + <?= $this->a(t('Manage timetable'), 'timetable', 'index', array('user_id' => $user['id'])) ?> + </li> <?php endif ?> <?php if ($this->userSession->isAdmin() && ! $this->userSession->isCurrentUser($user['id'])): ?> |