add AJAX to user listing (Issue #287)
This commit is contained in:
parent
6ba52812c9
commit
e9d9147b28
6 changed files with 190 additions and 117 deletions
|
|
@ -6,8 +6,74 @@
|
|||
<li><a href="<?=$linker->link('create', 1)?>"><?=_('Create new user')?></a></li>
|
||||
<li><a href="<?=$linker->link('manage',1)?>"><?=_('Manage')?></a></li>
|
||||
</nav>
|
||||
<ol class="cglist">
|
||||
|
||||
<form method="get">
|
||||
<fieldset class="filter">
|
||||
<p><small>Sortierung:</small></p>
|
||||
<select name="sortorder" onchange="this.form.submit();">
|
||||
<option value="username" <?php if($sortorder == 'username') : ?>selected="selected"<?php endif ?>><?=_('Username')?></option>
|
||||
<option value="role" <?php if($sortorder == 'role') : ?>selected="selected"<?php endif ?>><?=_('Role')?></option>
|
||||
<option value="created" <?php if($sortorder == 'created') : ?>selected="selected"<?php endif ?>><?=_('Date of registration')?></option>
|
||||
</select>
|
||||
<noscript><input type="submit" value="<?=_('Sort list')?>" /></noscript>
|
||||
</fieldset>
|
||||
</form>
|
||||
<ol id="userlist" class="cglist">
|
||||
<?php foreach($users as &$user) : ?>
|
||||
<li><p><a href="<?=$linker->link(array('user', $user['username']), 1)?>"><?=$user['username']?></a><span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span></p></li>
|
||||
<li>
|
||||
<p>
|
||||
<a href="<?=$linker->link(array('user', $user['username']), 1)?>"><?=$user['username']?></a><span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span>
|
||||
<?php if(in_array('admin', $user['roles'])) : ?><small>(<?=_('Admin')?>)</small><?php endif ?>
|
||||
<?php if(in_array('moderator', $user['roles'])) : ?><small>(<?=_('Moderator')?>)</small><?php endif ?>
|
||||
<?php if(in_array('user', $user['roles'])) : ?><small>(<?=_('User')?>)</small><?php endif ?>
|
||||
</p>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ol>
|
||||
|
||||
<?php if(is_null($all) && ($page*$limit) < $usersCount) : ?>
|
||||
<nav class="admin">
|
||||
<li><a id="show-more" href="<?=$linker->link(null,1,true,array('page'=>$page+1,'sortorder'=>$sortorder))?>"><?=_('Show more')?></a></li>
|
||||
<li><a id="show-all" href="<?=$linker->link('all',1,true,array('sortorder'=>$sortorder))?>"><?=_('Show all')?></a></li>
|
||||
</nav>
|
||||
<?php endif ?>
|
||||
|
||||
<script>
|
||||
var page = 1;
|
||||
var request;
|
||||
var linkUser = "<?=$linker->link(array('users','user','USER'))?>";
|
||||
var linkPage = "<?=$linker->link(null,1,true,array('page'=>'PAGE','sortorder'=>$sortorder))?>";
|
||||
|
||||
$("#show-more").click(function(event) {
|
||||
if(request) {
|
||||
request.abort();
|
||||
}
|
||||
|
||||
page++;
|
||||
request = $.getJSON(linkPage.replace('PAGE', page), function(data) {
|
||||
$.each(data['users'], function(key, user) {
|
||||
var urlUser = linkUser.replace('USER', user['url']);
|
||||
$("#userlist").append(
|
||||
"<li><p>" +
|
||||
"<a href=\"" + urlUser + "\">" + user['username'] + "</a><span class=\"xp\"><small>" + user['created'] + "</small></span>\n" +
|
||||
(user['roles'].length > 0 ? "<small>(" + user['roles'].join(', ') + ")</small>" : '') +
|
||||
"</p></li>"
|
||||
);
|
||||
});
|
||||
if(data['more']) {
|
||||
$("#show-more").attr('href', linkPage.replace('PAGE', page+1));
|
||||
}
|
||||
else {
|
||||
$("#show-more").remove();
|
||||
$("#show-all").remove();
|
||||
}
|
||||
});
|
||||
request.fail(function (jqXHR, textStatus, errorThrown) {
|
||||
window.location.href = linkPage.replace('PAGE', page);
|
||||
});
|
||||
|
||||
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<select name="sortorder" onchange="this.form.submit();">
|
||||
<option value="username" <?php if($sortorder == 'username') : ?>selected="selected"<?php endif ?>><?=_('Username')?></option>
|
||||
<option value="role" <?php if($sortorder == 'role') : ?>selected="selected"<?php endif ?>><?=_('Role')?></option>
|
||||
<option value="date" <?php if($sortorder == 'date') : ?>selected="selected"<?php endif ?>><?=_('Date of registration')?></option>
|
||||
<option value="created" <?php if($sortorder == 'created') : ?>selected="selected"<?php endif ?>><?=_('Date of registration')?></option>
|
||||
</select>
|
||||
<noscript><input type="submit" value="<?=_('Sort list')?>" /></noscript>
|
||||
</fieldset>
|
||||
|
|
@ -24,11 +24,11 @@
|
|||
<input type="checkbox" id="users-<?=$user['id']?>" name="users[]" value="<?=$user['id']?>" <?php if(in_array($user['id'], $selectedUsers)) : ?>checked="checked"<?php endif ?> <?php if($user['id'] == \hhu\z\controllers\SeminaryController::$user['id']) : ?>disabled="disabled"<?php endif ?>/>
|
||||
<label for="users-<?=$user['id']?>">
|
||||
<p>
|
||||
<a href="<?=$linker->link(array('users','user',$user['url']))?>"><?=$user['username']?></a>
|
||||
<?php if(in_array('admin', $user['roles'])) : ?><small>(<?=_('Admin')?>)</small><?php endif ?>
|
||||
<?php if(in_array('moderator', $user['roles'])) : ?><small>(<?=_('Moderator')?>)</small><?php endif ?>
|
||||
<?php if(in_array('user', $user['roles'])) : ?><small>(<?=_('User')?>)</small><?php endif ?>
|
||||
<span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span>
|
||||
<a href="<?=$linker->link(array('users','user',$user['url']))?>"><?=$user['username']?></a>
|
||||
<?php if(in_array('admin', $user['roles'])) : ?><small>(<?=_('Admin')?>)</small><?php endif ?>
|
||||
<?php if(in_array('moderator', $user['roles'])) : ?><small>(<?=_('Moderator')?>)</small><?php endif ?>
|
||||
<?php if(in_array('user', $user['roles'])) : ?><small>(<?=_('User')?>)</small><?php endif ?>
|
||||
<span class="xp"><small><?=sprintf(_('registered on %s'), $dateFormatter->format(new \DateTime($user['created'])))?></small></span>
|
||||
</p>
|
||||
</label>
|
||||
</li>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue