summaryrefslogtreecommitdiff
path: root/app/Template/user
diff options
context:
space:
mode:
Diffstat (limited to 'app/Template/user')
-rw-r--r--app/Template/user/authentication.php11
-rw-r--r--app/Template/user/create_local.php2
-rw-r--r--app/Template/user/create_remote.php11
-rw-r--r--app/Template/user/dropdown.php27
-rw-r--r--app/Template/user/edit.php2
-rw-r--r--app/Template/user/external.php52
-rw-r--r--app/Template/user/index.php39
-rw-r--r--app/Template/user/last.php8
-rw-r--r--app/Template/user/layout.php2
-rw-r--r--app/Template/user/notifications.php2
-rw-r--r--app/Template/user/password.php8
-rw-r--r--app/Template/user/password_reset.php8
-rw-r--r--app/Template/user/profile.php6
-rw-r--r--app/Template/user/remove.php13
-rw-r--r--app/Template/user/sessions.php8
-rw-r--r--app/Template/user/show.php7
-rw-r--r--app/Template/user/sidebar.php27
-rw-r--r--app/Template/user/timesheet.php8
18 files changed, 98 insertions, 143 deletions
diff --git a/app/Template/user/authentication.php b/app/Template/user/authentication.php
index 20c3d372..6cfd4e57 100644
--- a/app/Template/user/authentication.php
+++ b/app/Template/user/authentication.php
@@ -8,20 +8,13 @@
<?= $this->form->hidden('id', $values) ?>
<?= $this->form->hidden('username', $values) ?>
- <?= $this->form->label(t('Google Id'), 'google_id') ?>
- <?= $this->form->text('google_id', $values, $errors) ?>
-
- <?= $this->form->label(t('Github Id'), 'github_id') ?>
- <?= $this->form->text('github_id', $values, $errors) ?>
-
- <?= $this->form->label(t('Gitlab Id'), 'gitlab_id') ?>
- <?= $this->form->text('gitlab_id', $values, $errors) ?>
+ <?= $this->hook->render('template:user:authentication:form', array('values' => $values, 'errors' => $errors, 'user' => $user)) ?>
<?= $this->form->checkbox('is_ldap_user', t('Remote user'), 1, isset($values['is_ldap_user']) && $values['is_ldap_user'] == 1) ?>
<?= $this->form->checkbox('disable_login_form', t('Disallow login form'), 1, isset($values['disable_login_form']) && $values['disable_login_form'] == 1) ?>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
</div>
diff --git a/app/Template/user/create_local.php b/app/Template/user/create_local.php
index 38bd7836..7257456d 100644
--- a/app/Template/user/create_local.php
+++ b/app/Template/user/create_local.php
@@ -44,7 +44,7 @@
</div>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'index') ?>
</div>
diff --git a/app/Template/user/create_remote.php b/app/Template/user/create_remote.php
index 1cc560cd..05acbba1 100644
--- a/app/Template/user/create_remote.php
+++ b/app/Template/user/create_remote.php
@@ -20,14 +20,7 @@
<?= $this->form->label(t('Email'), 'email') ?>
<?= $this->form->email('email', $values, $errors) ?>
- <?= $this->form->label(t('Google Id'), 'google_id') ?>
- <?= $this->form->text('google_id', $values, $errors) ?>
-
- <?= $this->form->label(t('Github Id'), 'github_id') ?>
- <?= $this->form->text('github_id', $values, $errors) ?>
-
- <?= $this->form->label(t('Gitlab Id'), 'gitlab_id') ?>
- <?= $this->form->text('gitlab_id', $values, $errors) ?>
+ <?= $this->hook->render('template:user:create-remote:form', array('values' => $values, 'errors' => $errors)) ?>
</div>
<div class="form-column">
@@ -48,7 +41,7 @@
</div>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'index') ?>
</div>
diff --git a/app/Template/user/dropdown.php b/app/Template/user/dropdown.php
new file mode 100644
index 00000000..b74ed6e0
--- /dev/null
+++ b/app/Template/user/dropdown.php
@@ -0,0 +1,27 @@
+<div class="dropdown">
+ <a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a>
+ <ul>
+ <li>
+ <i class="fa fa-user fa-fw"></i>
+ <?= $this->url->link(t('View profile'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php if ($user['is_active'] == 1 && $this->user->hasAccess('UserStatus', 'disable') && ! $this->user->isCurrentUser($user['id'])): ?>
+ <li>
+ <i class="fa fa-times fa-fw"></i>
+ <?= $this->url->link(t('Disable'), 'UserStatus', 'confirmDisable', array('user_id' => $user['id']), false, 'popover') ?>
+ </li>
+ <?php endif ?>
+ <?php if ($user['is_active'] == 0 && $this->user->hasAccess('UserStatus', 'enable') && ! $this->user->isCurrentUser($user['id'])): ?>
+ <li>
+ <i class="fa fa-check-square-o fa-fw"></i>
+ <?= $this->url->link(t('Enable'), 'UserStatus', 'confirmEnable', array('user_id' => $user['id']), false, 'popover') ?>
+ </li>
+ <?php endif ?>
+ <?php if ($this->user->hasAccess('UserStatus', 'remove') && ! $this->user->isCurrentUser($user['id'])): ?>
+ <li>
+ <i class="fa fa-trash-o fa-fw"></i>
+ <?= $this->url->link(t('Remove'), 'UserStatus', 'confirmRemove', array('user_id' => $user['id']), false, 'popover') ?>
+ </li>
+ <?php endif ?>
+ </ul>
+</div> \ No newline at end of file
diff --git a/app/Template/user/edit.php b/app/Template/user/edit.php
index f7f67fb7..7b51eb73 100644
--- a/app/Template/user/edit.php
+++ b/app/Template/user/edit.php
@@ -28,7 +28,7 @@
<?php endif ?>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
</div>
diff --git a/app/Template/user/external.php b/app/Template/user/external.php
index 8b1d3c46..22c25af2 100644
--- a/app/Template/user/external.php
+++ b/app/Template/user/external.php
@@ -2,54 +2,10 @@
<h2><?= t('External authentications') ?></h2>
</div>
-<?php if (GOOGLE_AUTH): ?>
- <h3><i class="fa fa-google"></i> <?= t('Google Account') ?></h3>
+<?php $html = $this->hook->render('template:user:external', array('user' => $user)) ?>
- <p class="listing">
- <?php if ($this->user->isCurrentUser($user['id'])): ?>
- <?php if (empty($user['google_id'])): ?>
- <?= $this->url->link(t('Link my Google Account'), 'oauth', 'google', array(), true) ?>
- <?php else: ?>
- <?= $this->url->link(t('Unlink my Google Account'), 'oauth', 'unlink', array('backend' => 'Google'), true) ?>
- <?php endif ?>
- <?php else: ?>
- <?= empty($user['google_id']) ? t('No account linked.') : t('Account linked.') ?>
- <?php endif ?>
- </p>
-<?php endif ?>
-
-<?php if (GITHUB_AUTH): ?>
- <h3><i class="fa fa-github"></i> <?= t('Github Account') ?></h3>
-
- <p class="listing">
- <?php if ($this->user->isCurrentUser($user['id'])): ?>
- <?php if (empty($user['github_id'])): ?>
- <?= $this->url->link(t('Link my Github Account'), 'oauth', 'github', array(), true) ?>
- <?php else: ?>
- <?= $this->url->link(t('Unlink my Github Account'), 'oauth', 'unlink', array('backend' => 'Github'), true) ?>
- <?php endif ?>
- <?php else: ?>
- <?= empty($user['github_id']) ? t('No account linked.') : t('Account linked.') ?>
- <?php endif ?>
- </p>
-<?php endif ?>
-
-<?php if (GITLAB_AUTH): ?>
- <h3><img src="<?= $this->url->dir() ?>assets/img/gitlab-icon.png"/>&nbsp;<?= t('Gitlab Account') ?></h3>
-
- <p class="listing">
- <?php if ($this->user->isCurrentUser($user['id'])): ?>
- <?php if (empty($user['gitlab_id'])): ?>
- <?= $this->url->link(t('Link my Gitlab Account'), 'oauth', 'gitlab', array(), true) ?>
- <?php else: ?>
- <?= $this->url->link(t('Unlink my Gitlab Account'), 'oauth', 'unlink', array('backend' => 'Gitlab'), true) ?>
- <?php endif ?>
- <?php else: ?>
- <?= empty($user['gitlab_id']) ? t('No account linked.') : t('Account linked.') ?>
- <?php endif ?>
- </p>
-<?php endif ?>
-
-<?php if (! GOOGLE_AUTH && ! GITHUB_AUTH && ! GITLAB_AUTH): ?>
+<?php if (empty($html)): ?>
<p class="alert"><?= t('No external authentication enabled.') ?></p>
+<?php else: ?>
+ <?= $html ?>
<?php endif ?>
diff --git a/app/Template/user/index.php b/app/Template/user/index.php
index cb7416d6..364fd965 100644
--- a/app/Template/user/index.php
+++ b/app/Template/user/index.php
@@ -12,30 +12,28 @@
<?php if ($paginator->isEmpty()): ?>
<p class="alert"><?= t('No user') ?></p>
<?php else: ?>
- <table>
+ <table class="table-stripped">
<tr>
- <th><?= $paginator->order(t('Id'), 'id') ?></th>
- <th><?= $paginator->order(t('Username'), 'username') ?></th>
- <th><?= $paginator->order(t('Name'), 'name') ?></th>
- <th><?= $paginator->order(t('Email'), 'email') ?></th>
- <th><?= $paginator->order(t('Role'), 'role') ?></th>
- <th><?= $paginator->order(t('Two factor authentication'), 'twofactor_activated') ?></th>
- <th><?= $paginator->order(t('Notifications'), 'notifications_enabled') ?></th>
- <th><?= $paginator->order(t('Account type'), 'is_ldap_user') ?></th>
+ <th class="column-18"><?= $paginator->order(t('Username'), 'username') ?></th>
+ <th class="column-18"><?= $paginator->order(t('Name'), 'name') ?></th>
+ <th class="column-15"><?= $paginator->order(t('Email'), 'email') ?></th>
+ <th class="column-15"><?= $paginator->order(t('Role'), 'role') ?></th>
+ <th class="column-10"><?= $paginator->order(t('Two Factor'), 'twofactor_activated') ?></th>
+ <th class="column-10"><?= $paginator->order(t('Account type'), 'is_ldap_user') ?></th>
+ <th class="column-10"><?= $paginator->order(t('Status'), 'is_active') ?></th>
+ <th class="column-5"><?= t('Actions') ?></th>
</tr>
<?php foreach ($paginator->getCollection() as $user): ?>
<tr>
<td>
- <?= $this->url->link('#'.$user['id'], 'user', 'show', array('user_id' => $user['id'])) ?>
+ <?= '#'.$user['id'] ?>&nbsp;
+ <?= $this->url->link($this->text->e($user['username']), 'user', 'show', array('user_id' => $user['id'])) ?>
</td>
<td>
- <?= $this->url->link($this->e($user['username']), 'user', 'show', array('user_id' => $user['id'])) ?>
+ <?= $this->text->e($user['name']) ?>
</td>
<td>
- <?= $this->e($user['name']) ?>
- </td>
- <td>
- <a href="mailto:<?= $this->e($user['email']) ?>"><?= $this->e($user['email']) ?></a>
+ <a href="mailto:<?= $this->text->e($user['email']) ?>"><?= $this->text->e($user['email']) ?></a>
</td>
<td>
<?= $this->user->getRoleName($user['role']) ?>
@@ -44,14 +42,17 @@
<?= $user['twofactor_activated'] ? t('Yes') : t('No') ?>
</td>
<td>
- <?php if ($user['notifications_enabled'] == 1): ?>
- <?= t('Enabled') ?>
+ <?= $user['is_ldap_user'] ? t('Remote') : t('Local') ?>
+ </td>
+ <td>
+ <?php if ($user['is_active'] == 1): ?>
+ <?= t('Active') ?>
<?php else: ?>
- <?= t('Disabled') ?>
+ <?= t('Inactive') ?>
<?php endif ?>
</td>
<td>
- <?= $user['is_ldap_user'] ? t('Remote') : t('Local') ?>
+ <?= $this->render('user/dropdown', array('user' => $user)) ?>
</td>
</tr>
<?php endforeach ?>
diff --git a/app/Template/user/last.php b/app/Template/user/last.php
index 8879466e..3de4d5e2 100644
--- a/app/Template/user/last.php
+++ b/app/Template/user/last.php
@@ -14,10 +14,10 @@
</tr>
<?php foreach ($last_logins as $login): ?>
<tr>
- <td><?= dt('%B %e, %Y at %k:%M %p', $login['date_creation']) ?></td>
- <td><?= $this->e($login['auth_type']) ?></td>
- <td><?= $this->e($login['ip']) ?></td>
- <td><?= $this->e($login['user_agent']) ?></td>
+ <td><?= $this->dt->datetime($login['date_creation']) ?></td>
+ <td><?= $this->text->e($login['auth_type']) ?></td>
+ <td><?= $this->text->e($login['ip']) ?></td>
+ <td><?= $this->text->e($login['user_agent']) ?></td>
</tr>
<?php endforeach ?>
</table>
diff --git a/app/Template/user/layout.php b/app/Template/user/layout.php
index 1e456348..3a0a5ba6 100644
--- a/app/Template/user/layout.php
+++ b/app/Template/user/layout.php
@@ -13,7 +13,7 @@
<?= $this->render('user/sidebar', array('user' => $user)) ?>
<div class="sidebar-content">
- <?= $user_content_for_layout ?>
+ <?= $content_for_sublayout ?>
</div>
</section>
</section> \ No newline at end of file
diff --git a/app/Template/user/notifications.php b/app/Template/user/notifications.php
index 7223013c..2a5c8152 100644
--- a/app/Template/user/notifications.php
+++ b/app/Template/user/notifications.php
@@ -22,7 +22,7 @@
<?php endif ?>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
</div>
diff --git a/app/Template/user/password.php b/app/Template/user/password.php
index 3ef28d33..ea6e997d 100644
--- a/app/Template/user/password.php
+++ b/app/Template/user/password.php
@@ -9,17 +9,17 @@
<div class="alert alert-error">
<?= $this->form->label(t('Current password for the user "%s"', $this->user->getFullname()), 'current_password') ?>
- <?= $this->form->password('current_password', $values, $errors) ?><br/>
+ <?= $this->form->password('current_password', $values, $errors) ?>
</div>
<?= $this->form->label(t('New password for the user "%s"', $this->user->getFullname($user)), 'password') ?>
- <?= $this->form->password('password', $values, $errors) ?><br/>
+ <?= $this->form->password('password', $values, $errors) ?>
<?= $this->form->label(t('Confirmation'), 'confirmation') ?>
- <?= $this->form->password('confirmation', $values, $errors) ?><br/>
+ <?= $this->form->password('confirmation', $values, $errors) ?>
<div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
<?= t('or') ?>
<?= $this->url->link(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
</div>
diff --git a/app/Template/user/password_reset.php b/app/Template/user/password_reset.php
index b4c9a0c4..1371ce11 100644
--- a/app/Template/user/password_reset.php
+++ b/app/Template/user/password_reset.php
@@ -15,11 +15,11 @@
</tr>
<?php foreach ($tokens as $token): ?>
<tr>
- <td><?= dt('%B %e, %Y at %k:%M %p', $token['date_creation']) ?></td>
- <td><?= dt('%B %e, %Y at %k:%M %p', $token['date_expiration']) ?></td>
+ <td><?= $this->dt->datetime($token['date_creation']) ?></td>
+ <td><?= $this->dt->datetime($token['date_expiration']) ?></td>
<td><?= $token['is_active'] == 0 ? t('No') : t('Yes') ?></td>
- <td><?= $this->e($token['ip']) ?></td>
- <td><?= $this->e($token['user_agent']) ?></td>
+ <td><?= $this->text->e($token['ip']) ?></td>
+ <td><?= $this->text->e($token['user_agent']) ?></td>
</tr>
<?php endforeach ?>
</table>
diff --git a/app/Template/user/profile.php b/app/Template/user/profile.php
index 176a1491..80a633e3 100644
--- a/app/Template/user/profile.php
+++ b/app/Template/user/profile.php
@@ -1,8 +1,8 @@
<section id="main">
<br>
<ul class="listing">
- <li><?= t('Username:') ?> <strong><?= $this->e($user['username']) ?></strong></li>
- <li><?= t('Name:') ?> <strong><?= $this->e($user['name']) ?: t('None') ?></strong></li>
- <li><?= t('Email:') ?> <strong><?= $this->e($user['email']) ?: t('None') ?></strong></li>
+ <li><?= t('Username:') ?> <strong><?= $this->text->e($user['username']) ?></strong></li>
+ <li><?= t('Name:') ?> <strong><?= $this->text->e($user['name']) ?: t('None') ?></strong></li>
+ <li><?= t('Email:') ?> <strong><?= $this->text->e($user['email']) ?: t('None') ?></strong></li>
</ul>
</section> \ No newline at end of file
diff --git a/app/Template/user/remove.php b/app/Template/user/remove.php
deleted file mode 100644
index 810a3a3f..00000000
--- a/app/Template/user/remove.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<div class="page-header">
- <h2><?= t('Remove user') ?></h2>
-</div>
-
-<div class="confirm">
- <p class="alert alert-info"><?= t('Do you really want to remove this user: "%s"?', $user['name'] ?: $user['username']) ?></p>
-
- <div class="form-actions">
- <?= $this->url->link(t('Yes'), 'user', 'remove', array('user_id' => $user['id'], 'confirmation' => 'yes'), true, 'btn btn-red') ?>
- <?= t('or') ?>
- <?= $this->url->link(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
- </div>
-</div> \ No newline at end of file
diff --git a/app/Template/user/sessions.php b/app/Template/user/sessions.php
index 7a66c5ad..d7fe895d 100644
--- a/app/Template/user/sessions.php
+++ b/app/Template/user/sessions.php
@@ -15,10 +15,10 @@
</tr>
<?php foreach ($sessions as $session): ?>
<tr>
- <td><?= dt('%B %e, %Y at %k:%M %p', $session['date_creation']) ?></td>
- <td><?= dt('%B %e, %Y at %k:%M %p', $session['expiration']) ?></td>
- <td><?= $this->e($session['ip']) ?></td>
- <td><?= $this->e($session['user_agent']) ?></td>
+ <td><?= $this->dt->datetime($session['date_creation']) ?></td>
+ <td><?= $this->dt->datetime($session['expiration']) ?></td>
+ <td><?= $this->text->e($session['ip']) ?></td>
+ <td><?= $this->text->e($session['user_agent']) ?></td>
<td><?= $this->url->link(t('Remove'), 'User', 'removeSession', array('user_id' => $user['id'], 'id' => $session['id']), true) ?></td>
</tr>
<?php endforeach ?>
diff --git a/app/Template/user/show.php b/app/Template/user/show.php
index 89c6b36b..df0affb8 100644
--- a/app/Template/user/show.php
+++ b/app/Template/user/show.php
@@ -2,9 +2,10 @@
<h2><?= t('Summary') ?></h2>
</div>
<ul class="listing">
- <li><?= t('Username:') ?> <strong><?= $this->e($user['username']) ?></strong></li>
- <li><?= t('Name:') ?> <strong><?= $this->e($user['name']) ?: t('None') ?></strong></li>
- <li><?= t('Email:') ?> <strong><?= $this->e($user['email']) ?: t('None') ?></strong></li>
+ <li><?= t('Username:') ?> <strong><?= $this->text->e($user['username']) ?></strong></li>
+ <li><?= t('Name:') ?> <strong><?= $this->text->e($user['name']) ?: t('None') ?></strong></li>
+ <li><?= t('Email:') ?> <strong><?= $this->text->e($user['email']) ?: t('None') ?></strong></li>
+ <li><?= t('Status:') ?> <strong><?= $user['is_active'] ? t('Active') : t('Inactive') ?></strong></li>
</ul>
<div class="page-header">
diff --git a/app/Template/user/sidebar.php b/app/Template/user/sidebar.php
index 9f745568..20fd2ad2 100644
--- a/app/Template/user/sidebar.php
+++ b/app/Template/user/sidebar.php
@@ -1,9 +1,11 @@
<div class="sidebar">
<h2><?= t('Information') ?></h2>
<ul>
- <li <?= $this->app->checkMenuSelection('user', 'show') ?>>
- <?= $this->url->link(t('Summary'), 'user', 'show', array('user_id' => $user['id'])) ?>
- </li>
+ <?php if ($this->user->hasAccess('user', 'show')): ?>
+ <li <?= $this->app->checkMenuSelection('user', 'show') ?>>
+ <?= $this->url->link(t('Summary'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php endif ?>
<?php if ($this->user->isAdmin()): ?>
<li>
<?= $this->url->link(t('User dashboard'), 'app', 'index', array('user_id' => $user['id'])) ?>
@@ -24,15 +26,18 @@
</li>
<?php endif ?>
- <?= $this->hook->render('template:user:sidebar:information') ?>
+ <?= $this->hook->render('template:user:sidebar:information', array('user' => $user)) ?>
</ul>
<h2><?= t('Actions') ?></h2>
<ul>
<?php if ($this->user->isAdmin() || $this->user->isCurrentUser($user['id'])): ?>
- <li <?= $this->app->checkMenuSelection('user', 'edit') ?>>
- <?= $this->url->link(t('Edit profile'), 'user', 'edit', array('user_id' => $user['id'])) ?>
- </li>
+
+ <?php if ($this->user->hasAccess('user', 'edit')): ?>
+ <li <?= $this->app->checkMenuSelection('user', 'edit') ?>>
+ <?= $this->url->link(t('Edit profile'), 'user', 'edit', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php endif ?>
<?php if ($user['is_ldap_user'] == 0): ?>
<li <?= $this->app->checkMenuSelection('user', 'password') ?>>
@@ -71,13 +76,5 @@
<?php endif ?>
<?= $this->hook->render('template:user:sidebar:actions', array('user' => $user)) ?>
-
- <?php if ($this->user->hasAccess('user', 'remove') && ! $this->user->isCurrentUser($user['id'])): ?>
- <li <?= $this->app->checkMenuSelection('user', 'remove') ?>>
- <?= $this->url->link(t('Remove'), 'user', 'remove', array('user_id' => $user['id'])) ?>
- </li>
- <?php endif ?>
</ul>
- <div class="sidebar-collapse"><a href="#" title="<?= t('Hide sidebar') ?>"><i class="fa fa-chevron-left"></i></a></div>
- <div class="sidebar-expand" style="display: none"><a href="#" title="<?= t('Expand sidebar') ?>"><i class="fa fa-chevron-right"></i></a></div>
</div> \ No newline at end of file
diff --git a/app/Template/user/timesheet.php b/app/Template/user/timesheet.php
index 5c0d3af8..92ebafb5 100644
--- a/app/Template/user/timesheet.php
+++ b/app/Template/user/timesheet.php
@@ -16,10 +16,10 @@
</tr>
<?php foreach ($subtask_paginator->getCollection() as $record): ?>
<tr>
- <td><?= $this->url->link($this->e($record['task_title']), 'task', 'show', array('project_id' => $record['project_id'], 'task_id' => $record['task_id'])) ?></td>
- <td><?= $this->url->link($this->e($record['subtask_title']), 'task', 'show', array('project_id' => $record['project_id'], 'task_id' => $record['task_id'])) ?></td>
- <td><?= dt('%B %e, %Y at %k:%M %p', $record['start']) ?></td>
- <td><?= dt('%B %e, %Y at %k:%M %p', $record['end']) ?></td>
+ <td><?= $this->url->link($this->text->e($record['task_title']), 'task', 'show', array('project_id' => $record['project_id'], 'task_id' => $record['task_id'])) ?></td>
+ <td><?= $this->url->link($this->text->e($record['subtask_title']), 'task', 'show', array('project_id' => $record['project_id'], 'task_id' => $record['task_id'])) ?></td>
+ <td><?= $this->dt->datetime($record['start']) ?></td>
+ <td><?= $this->dt->datetime($record['end']) ?></td>
<td><?= n($record['time_spent']).' '.t('hours') ?></td>
</tr>
<?php endforeach ?>