Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2013-04-30 21:51:28 +0400
committerArthur Schiwon <blizzz@owncloud.com>2013-04-30 21:51:28 +0400
commitc99b6670211771933e26430662b451272878c472 (patch)
tree1d41aa1dcdf6a2cef33f58a57a27e54051e8f47f /settings
parent7ae0e38c4fb600ca71c518ae171298bc26dbf4f7 (diff)
Fix retrieval of users with multiple backends
Diffstat (limited to 'settings')
-rw-r--r--settings/ajax/userlist.php9
-rw-r--r--settings/js/users.js12
2 files changed, 16 insertions, 5 deletions
diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php
index 87b42395749..4abf54b8987 100644
--- a/settings/ajax/userlist.php
+++ b/settings/ajax/userlist.php
@@ -27,9 +27,14 @@ if (isset($_GET['offset'])) {
} else {
$offset = 0;
}
+if (isset($_GET['limit'])) {
+ $limit = $_GET['limit'];
+} else {
+ $limit = 10;
+}
$users = array();
if (OC_User::isAdminUser(OC_User::getUser())) {
- $batch = OC_User::getDisplayNames('', 10, $offset);
+ $batch = OC_User::getDisplayNames('', $limit, $offset);
foreach ($batch as $user => $displayname) {
$users[] = array(
'name' => $user,
@@ -40,7 +45,7 @@ if (OC_User::isAdminUser(OC_User::getUser())) {
}
} else {
$groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser());
- $batch = OC_Group::usersInGroups($groups, '', 10, $offset);
+ $batch = OC_Group::usersInGroups($groups, '', $limit, $offset);
foreach ($batch as $user) {
$users[] = array(
'name' => $user,
diff --git a/settings/js/users.js b/settings/js/users.js
index 5f9710053c9..a33fcea3223 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -19,6 +19,10 @@ function setQuota (uid, quota, ready) {
var UserList = {
useUndo: true,
availableGroups: [],
+ offset: 30, //The first 30 users are there. No prob, if less in total.
+ //hardcoded in settings/users.php
+
+ usersToLoad: 10, //So many users will be loaded when user scrolls down
/**
* @brief Initiate user deletion process in UI
@@ -192,14 +196,17 @@ var UserList = {
return;
}
UserList.updating = true;
- $.get(OC.Router.generate('settings_ajax_userlist', { offset: UserList.offset }), function (result) {
+ $.get(OC.Router.generate('settings_ajax_userlist', { offset: UserList.offset, limit: UserList.usersToLoad }), function (result) {
if (result.status === 'success') {
+ //The offset does not mirror the amount of users available,
+ //because it is backend-dependent. For correct retrieval,
+ //always the limit(requested amount of users) needs to be added.
+ UserList.offset += UserList.usersToLoad;
$.each(result.data, function (index, user) {
if($('tr[data-uid="' + user.name + '"]').length > 0) {
return true;
}
var tr = UserList.add(user.name, user.displayname, user.groups, user.subadmin, user.quota, false);
- UserList.offset++;
if (index == 9) {
$(tr).bind('inview', function (event, isInView, visiblePartX, visiblePartY) {
$(this).unbind(event);
@@ -315,7 +322,6 @@ $(document).ready(function () {
UserList.doSort();
UserList.availableGroups = $('#content table').attr('data-groups').split(', ');
- UserList.offset = $('tbody tr').length;
$('tbody tr:last').bind('inview', function (event, isInView, visiblePartX, visiblePartY) {
OC.Router.registerLoadedCallback(function () {
UserList.update();