summaryrefslogtreecommitdiff
path: root/app/Template/user
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-12-04 21:04:33 -0500
committerFrédéric Guillot <fred@kanboard.net>2014-12-04 21:04:33 -0500
commit6739dba792f210a1836489a191527747d21e3da4 (patch)
treeb93e9df07f130c719d37b63700b960f1728e6707 /app/Template/user
parent66e0028b4aad5b3bd2604efb34fe89693383aa86 (diff)
Move user templates to a subfolder
Diffstat (limited to 'app/Template/user')
-rw-r--r--app/Template/user/edit.php32
-rw-r--r--app/Template/user/external.php39
-rw-r--r--app/Template/user/index.php72
-rw-r--r--app/Template/user/last.php24
-rw-r--r--app/Template/user/layout.php18
-rw-r--r--app/Template/user/login.php32
-rw-r--r--app/Template/user/new.php39
-rw-r--r--app/Template/user/notifications.php26
-rw-r--r--app/Template/user/password.php26
-rw-r--r--app/Template/user/remove.php13
-rw-r--r--app/Template/user/sessions.php26
-rw-r--r--app/Template/user/show.php12
-rw-r--r--app/Template/user/sidebar.php39
13 files changed, 398 insertions, 0 deletions
diff --git a/app/Template/user/edit.php b/app/Template/user/edit.php
new file mode 100644
index 00000000..bc942567
--- /dev/null
+++ b/app/Template/user/edit.php
@@ -0,0 +1,32 @@
+<div class="page-header">
+ <h2><?= t('Edit user') ?></h2>
+</div>
+<form method="post" action="<?= Helper\u('user', 'edit', array('user_id' => $user['id'])) ?>" autocomplete="off">
+
+ <?= Helper\form_csrf() ?>
+
+ <?= Helper\form_hidden('id', $values) ?>
+ <?= Helper\form_hidden('is_ldap_user', $values) ?>
+
+ <?= Helper\form_label(t('Username'), 'username') ?>
+ <?= Helper\form_text('username', $values, $errors, array('required', $values['is_ldap_user'] == 1 ? 'readonly' : '')) ?><br/>
+
+ <?= Helper\form_label(t('Name'), 'name') ?>
+ <?= Helper\form_text('name', $values, $errors) ?><br/>
+
+ <?= Helper\form_label(t('Email'), 'email') ?>
+ <?= Helper\form_email('email', $values, $errors) ?><br/>
+
+ <?= Helper\form_label(t('Default project'), 'default_project_id') ?>
+ <?= Helper\form_select('default_project_id', $projects, $values, $errors) ?><br/>
+
+ <?php if (Helper\is_admin()): ?>
+ <?= Helper\form_checkbox('is_admin', t('Administrator'), 1, isset($values['is_admin']) && $values['is_admin'] == 1 ? true : false) ?><br/>
+ <?php endif ?>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <?= t('or') ?>
+ <?= Helper\a(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </div>
+</form> \ No newline at end of file
diff --git a/app/Template/user/external.php b/app/Template/user/external.php
new file mode 100644
index 00000000..31ffcb75
--- /dev/null
+++ b/app/Template/user/external.php
@@ -0,0 +1,39 @@
+<div class="page-header">
+ <h2><?= t('External authentications') ?></h2>
+</div>
+
+<?php if (GOOGLE_AUTH): ?>
+ <h3><i class="fa fa-google"></i> <?= t('Google Account') ?></h3>
+
+ <p class="listing">
+ <?php if (Helper\is_current_user($user['id'])): ?>
+ <?php if (empty($user['google_id'])): ?>
+ <?= Helper\a(t('Link my Google Account'), 'user', 'google', array(), true) ?>
+ <?php else: ?>
+ <?= Helper\a(t('Unlink my Google Account'), 'user', 'unlinkGoogle', array(), 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 (Helper\is_current_user($user['id'])): ?>
+ <?php if (empty($user['github_id'])): ?>
+ <?= Helper\a(t('Link my GitHub Account'), 'user', 'github', array(), true) ?>
+ <?php else: ?>
+ <?= Helper\a(t('Unlink my GitHub Account'), 'user', 'unlinkGitHub', array(), true) ?>
+ <?php endif ?>
+ <?php else: ?>
+ <?= empty($user['github_id']) ? t('No account linked.') : t('Account linked.') ?>
+ <?php endif ?>
+ </p>
+<?php endif ?>
+
+<?php if (! GOOGLE_AUTH && ! GITHUB_AUTH): ?>
+ <p class="alert"><?= t('No external authentication enabled.') ?></p>
+<?php endif ?>
diff --git a/app/Template/user/index.php b/app/Template/user/index.php
new file mode 100644
index 00000000..73612b0b
--- /dev/null
+++ b/app/Template/user/index.php
@@ -0,0 +1,72 @@
+<section id="main">
+ <div class="page-header">
+ <?php if (Helper\is_admin()): ?>
+ <ul>
+ <li><i class="fa fa-plus fa-fw"></i><?= Helper\a(t('New user'), 'user', 'create') ?></li>
+ </ul>
+ <?php endif ?>
+ </div>
+ <section>
+ <?php if (empty($users)): ?>
+ <p class="alert"><?= t('No user') ?></p>
+ <?php else: ?>
+ <table>
+ <tr>
+ <th><?= Helper\order(t('Id'), 'id', $pagination) ?></th>
+ <th><?= Helper\order(t('Username'), 'username', $pagination) ?></th>
+ <th><?= Helper\order(t('Name'), 'name', $pagination) ?></th>
+ <th><?= Helper\order(t('Email'), 'email', $pagination) ?></th>
+ <th><?= Helper\order(t('Administrator'), 'is_admin', $pagination) ?></th>
+ <th><?= Helper\order(t('Default project'), 'default_project_id', $pagination) ?></th>
+ <th><?= Helper\order(t('Notifications'), 'notifications_enabled', $pagination) ?></th>
+ <th><?= t('External accounts') ?></th>
+ <th><?= Helper\order(t('Account type'), 'is_ldap_user', $pagination) ?></th>
+ </tr>
+ <?php foreach ($users as $user): ?>
+ <tr>
+ <td>
+ <?= Helper\a('#'.$user['id'], 'user', 'show', array('user_id' => $user['id'])) ?>
+ </td>
+ <td>
+ <?= Helper\a(Helper\escape($user['username']), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </td>
+ <td>
+ <?= Helper\escape($user['name']) ?>
+ </td>
+ <td>
+ <a href="mailto:<?= Helper\escape($user['email']) ?>"><?= Helper\escape($user['email']) ?></a>
+ </td>
+ <td>
+ <?= $user['is_admin'] ? t('Yes') : t('No') ?>
+ </td>
+ <td>
+ <?= (isset($user['default_project_id']) && isset($projects[$user['default_project_id']])) ? Helper\escape($projects[$user['default_project_id']]) : t('None'); ?>
+ </td>
+ <td>
+ <?php if ($user['notifications_enabled'] == 1): ?>
+ <?= t('Enabled') ?>
+ <?php else: ?>
+ <?= t('Disabled') ?>
+ <?php endif ?>
+ </td>
+ <td>
+ <ul class="no-bullet">
+ <?php if ($user['google_id']): ?>
+ <li><i class="fa fa-google fa-fw"></i><?= t('Google account linked') ?></li>
+ <?php endif ?>
+ <?php if ($user['github_id']): ?>
+ <li><i class="fa fa-github fa-fw"></i><?= t('Github account linked') ?></li>
+ <?php endif ?>
+ </ul>
+ </td>
+ <td>
+ <?= $user['is_ldap_user'] ? t('Remote') : t('Local') ?>
+ </td>
+ </tr>
+ <?php endforeach ?>
+ </table>
+
+ <?= Helper\paginate($pagination) ?>
+ <?php endif ?>
+ </section>
+</section>
diff --git a/app/Template/user/last.php b/app/Template/user/last.php
new file mode 100644
index 00000000..0b55b0d5
--- /dev/null
+++ b/app/Template/user/last.php
@@ -0,0 +1,24 @@
+<div class="page-header">
+ <h2><?= t('Last logins') ?></h2>
+</div>
+
+<?php if (empty($last_logins)): ?>
+ <p class="alert"><?= t('Never connected.') ?></p>
+<?php else: ?>
+ <table class="table-small">
+ <tr>
+ <th><?= t('Login date') ?></th>
+ <th><?= t('Authentication method') ?></th>
+ <th><?= t('IP address') ?></th>
+ <th><?= t('User agent') ?></th>
+ </tr>
+ <?php foreach($last_logins as $login): ?>
+ <tr>
+ <td><?= dt('%B %e, %Y at %k:%M %p', $login['date_creation']) ?></td>
+ <td><?= Helper\escape($login['auth_type']) ?></td>
+ <td><?= Helper\escape($login['ip']) ?></td>
+ <td><?= Helper\escape(Helper\summary($login['user_agent'])) ?></td>
+ </tr>
+ <?php endforeach ?>
+ </table>
+<?php endif ?> \ No newline at end of file
diff --git a/app/Template/user/layout.php b/app/Template/user/layout.php
new file mode 100644
index 00000000..0778b716
--- /dev/null
+++ b/app/Template/user/layout.php
@@ -0,0 +1,18 @@
+<section id="main">
+ <div class="page-header">
+ <?php if (Helper\is_admin()): ?>
+ <ul>
+ <li><i class="fa fa-user fa-fw"></i><?= Helper\a(t('All users'), 'user', 'index') ?></li>
+ <li><i class="fa fa-plus fa-fw"></i><?= Helper\a(t('New user'), 'user', 'create') ?></li>
+ </ul>
+ <?php endif ?>
+ </div>
+ <section class="sidebar-container" id="user-section">
+
+ <?= Helper\template('user/sidebar', array('user' => $user)) ?>
+
+ <div class="sidebar-content">
+ <?= $user_content_for_layout ?>
+ </div>
+ </section>
+</section> \ No newline at end of file
diff --git a/app/Template/user/login.php b/app/Template/user/login.php
new file mode 100644
index 00000000..fea44a01
--- /dev/null
+++ b/app/Template/user/login.php
@@ -0,0 +1,32 @@
+<div class="form-login">
+
+ <?php if (isset($errors['login'])): ?>
+ <p class="alert alert-error"><?= Helper\escape($errors['login']) ?></p>
+ <?php endif ?>
+
+ <form method="post" action="<?= Helper\u('user', 'check', array('redirect_query' => urlencode($redirect_query))) ?>">
+
+ <?= Helper\form_csrf() ?>
+
+ <?= Helper\form_label(t('Username'), 'username') ?>
+ <?= Helper\form_text('username', $values, $errors, array('autofocus', 'required')) ?><br/>
+
+ <?= Helper\form_label(t('Password'), 'password') ?>
+ <?= Helper\form_password('password', $values, $errors, array('required')) ?>
+
+ <?= Helper\form_checkbox('remember_me', t('Remember Me'), 1) ?><br/>
+
+ <?php if (GOOGLE_AUTH): ?>
+ <?= Helper\a(t('Login with my Google Account'), 'user', 'google') ?>
+ <?php endif ?>
+
+ <?php if (GITHUB_AUTH): ?>
+ <?= Helper\a(t('Login with my GitHub Account'), 'user', 'gitHub') ?>
+ <?php endif ?>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Sign in') ?>" class="btn btn-blue"/>
+ </div>
+ </form>
+
+</div> \ No newline at end of file
diff --git a/app/Template/user/new.php b/app/Template/user/new.php
new file mode 100644
index 00000000..af5824e0
--- /dev/null
+++ b/app/Template/user/new.php
@@ -0,0 +1,39 @@
+<section id="main">
+ <div class="page-header">
+ <ul>
+ <li><i class="fa fa-user fa-fw"></i><?= Helper\a(t('All users'), 'user', 'index') ?></li>
+ </ul>
+ </div>
+ <section>
+ <form method="post" action="<?= Helper\u('user', 'save') ?>" autocomplete="off">
+
+ <?= Helper\form_csrf() ?>
+
+ <?= Helper\form_label(t('Username'), 'username') ?>
+ <?= Helper\form_text('username', $values, $errors, array('autofocus', 'required')) ?><br/>
+
+ <?= Helper\form_label(t('Name'), 'name') ?>
+ <?= Helper\form_text('name', $values, $errors) ?><br/>
+
+ <?= Helper\form_label(t('Email'), 'email') ?>
+ <?= Helper\form_email('email', $values, $errors) ?><br/>
+
+ <?= Helper\form_label(t('Password'), 'password') ?>
+ <?= Helper\form_password('password', $values, $errors, array('required')) ?><br/>
+
+ <?= Helper\form_label(t('Confirmation'), 'confirmation') ?>
+ <?= Helper\form_password('confirmation', $values, $errors, array('required')) ?><br/>
+
+ <?= Helper\form_label(t('Default project'), 'default_project_id') ?>
+ <?= Helper\form_select('default_project_id', $projects, $values, $errors) ?><br/>
+
+ <?= Helper\form_checkbox('is_admin', t('Administrator'), 1, isset($values['is_admin']) && $values['is_admin'] == 1 ? true : false) ?>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <?= t('or') ?>
+ <?= Helper\a(t('cancel'), 'user', 'index') ?>
+ </div>
+ </form>
+ </section>
+</section> \ No newline at end of file
diff --git a/app/Template/user/notifications.php b/app/Template/user/notifications.php
new file mode 100644
index 00000000..33da61fb
--- /dev/null
+++ b/app/Template/user/notifications.php
@@ -0,0 +1,26 @@
+<div class="page-header">
+ <h2><?= t('Email notifications') ?></h2>
+</div>
+
+<form method="post" action="<?= Helper\u('user', 'notifications', array('user_id' => $user['id'])) ?>" autocomplete="off">
+
+ <?= Helper\form_csrf() ?>
+
+ <?= Helper\form_checkbox('notifications_enabled', t('Enable email notifications'), '1', $notifications['notifications_enabled'] == 1) ?><br/>
+
+ <?php if (! empty($projects)): ?>
+ <p><?= t('I want to receive notifications only for those projects:') ?><br/><br/></p>
+
+ <div class="form-checkbox-group">
+ <?php foreach ($projects as $project_id => $project_name): ?>
+ <?= Helper\form_checkbox('projects['.$project_id.']', $project_name, '1', isset($notifications['project_'.$project_id])) ?><br/>
+ <?php endforeach ?>
+ </div>
+ <?php endif ?>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <?= t('or') ?>
+ <?= Helper\a(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </div>
+</form> \ No newline at end of file
diff --git a/app/Template/user/password.php b/app/Template/user/password.php
new file mode 100644
index 00000000..76e0ab15
--- /dev/null
+++ b/app/Template/user/password.php
@@ -0,0 +1,26 @@
+<div class="page-header">
+ <h2><?= t('Password modification') ?></h2>
+</div>
+
+<form method="post" action="<?= Helper\u('user', 'password', array('user_id' => $user['id'])) ?>" autocomplete="off">
+
+ <?= Helper\form_hidden('id', $values) ?>
+ <?= Helper\form_csrf() ?>
+
+ <div class="alert alert-error">
+ <?= Helper\form_label(t('Current password for the user "%s"', Helper\get_username()), 'current_password') ?>
+ <?= Helper\form_password('current_password', $values, $errors) ?><br/>
+ </div>
+
+ <?= Helper\form_label(t('New password for the user "%s"', Helper\get_username($user)), 'password') ?>
+ <?= Helper\form_password('password', $values, $errors) ?><br/>
+
+ <?= Helper\form_label(t('Confirmation'), 'confirmation') ?>
+ <?= Helper\form_password('confirmation', $values, $errors) ?><br/>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <?= t('or') ?>
+ <?= Helper\a(t('cancel'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </div>
+</form>
diff --git a/app/Template/user/remove.php b/app/Template/user/remove.php
new file mode 100644
index 00000000..5f58b631
--- /dev/null
+++ b/app/Template/user/remove.php
@@ -0,0 +1,13 @@
+<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">
+ <?= Helper\a(t('Yes'), 'user', 'remove', array('user_id' => $user['id'], 'confirmation' => 'yes'), true, 'btn btn-red') ?>
+ <?= t('or') ?>
+ <?= Helper\a(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
new file mode 100644
index 00000000..d05d5b6d
--- /dev/null
+++ b/app/Template/user/sessions.php
@@ -0,0 +1,26 @@
+<div class="page-header">
+ <h2><?= t('Persistent connections') ?></h2>
+</div>
+
+<?php if (empty($sessions)): ?>
+ <p class="alert"><?= t('No session.') ?></p>
+<?php else: ?>
+ <table class="table-small">
+ <tr>
+ <th><?= t('Creation date') ?></th>
+ <th><?= t('Expiration date') ?></th>
+ <th><?= t('IP address') ?></th>
+ <th><?= t('User agent') ?></th>
+ <th><?= t('Action') ?></th>
+ </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><?= Helper\escape($session['ip']) ?></td>
+ <td><?= Helper\escape(Helper\summary($session['user_agent'])) ?></td>
+ <td><?= Helper\a(t('Remove'), 'user', 'removeSession', array('user_id' => $user['id'], 'id' => $session['id']), true) ?></td>
+ </tr>
+ <?php endforeach ?>
+ </table>
+<?php endif ?>
diff --git a/app/Template/user/show.php b/app/Template/user/show.php
new file mode 100644
index 00000000..1c843751
--- /dev/null
+++ b/app/Template/user/show.php
@@ -0,0 +1,12 @@
+<div class="page-header">
+ <h2><?= t('Summary') ?></h2>
+</div>
+<ul class="listing">
+ <li><?= t('Username:') ?> <strong><?= Helper\escape($user['username']) ?></strong></li>
+ <li><?= t('Name:') ?> <strong><?= Helper\escape($user['name']) ?></strong></li>
+ <li><?= t('Email:') ?> <strong><?= Helper\escape($user['email']) ?></strong></li>
+ <li><?= t('Default project:') ?> <strong><?= (isset($user['default_project_id']) && isset($projects[$user['default_project_id']])) ? Helper\escape($projects[$user['default_project_id']]) : t('None'); ?></strong></li>
+ <li><?= t('Notifications:') ?> <strong><?= $user['notifications_enabled'] == 1 ? t('Enabled') : t('Disabled') ?></strong></li>
+ <li><?= t('Group:') ?> <strong><?= $user['is_admin'] ? t('Administrator') : t('Regular user') ?></strong></li>
+ <li><?= t('Account type:') ?> <strong><?= $user['is_ldap_user'] ? t('Remote') : t('Local') ?></strong></li>
+</ul>
diff --git a/app/Template/user/sidebar.php b/app/Template/user/sidebar.php
new file mode 100644
index 00000000..0a1a0764
--- /dev/null
+++ b/app/Template/user/sidebar.php
@@ -0,0 +1,39 @@
+<div class="sidebar">
+ <h2><?= t('Actions') ?></h2>
+ <ul>
+ <li>
+ <?= Helper\a(t('Summary'), 'user', 'show', array('user_id' => $user['id'])) ?>
+ </li>
+
+ <?php if (Helper\is_admin() || Helper\is_current_user($user['id'])): ?>
+ <li>
+ <?= Helper\a(t('Edit profile'), 'user', 'edit', array('user_id' => $user['id'])) ?>
+ </li>
+
+ <?php if ($user['is_ldap_user'] == 0): ?>
+ <li>
+ <?= Helper\a(t('Change password'), 'user', 'password', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php endif ?>
+
+ <li>
+ <?= Helper\a(t('Email notifications'), 'user', 'notifications', array('user_id' => $user['id'])) ?>
+ </li>
+ <li>
+ <?= Helper\a(t('External accounts'), 'user', 'external', array('user_id' => $user['id'])) ?>
+ </li>
+ <li>
+ <?= Helper\a(t('Last logins'), 'user', 'last', array('user_id' => $user['id'])) ?>
+ </li>
+ <li>
+ <?= Helper\a(t('Persistent connections'), 'user', 'sessions', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php endif ?>
+
+ <?php if (Helper\is_admin() && ! Helper\is_current_user($user['id'])): ?>
+ <li>
+ <?= Helper\a(t('Remove'), 'user', 'remove', array('user_id' => $user['id'])) ?>
+ </li>
+ <?php endif ?>
+ </ul>
+</div> \ No newline at end of file