diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php
new file mode 100644
index 0000000000..a73b699624
--- /dev/null
+++ b/settings/ajax/userlist.php
@@ -0,0 +1,45 @@
+.
+ *
+ */
+
+require_once '../../lib/base.php';
+
+OC_JSON::callCheck();
+OC_JSON::checkSubAdminUser();
+if (isset($_GET['offset'])) {
+ $offset = $_GET['offset'];
+} else {
+ $offset = 0;
+}
+$users = array();
+if (OC_Group::inGroup(OC_User::getUser(), 'admin')) {
+ $batch = OC_User::getUsers('', 10, $offset);
+ foreach ($batch as $user) {
+ $users[] = array('name' => $user, 'groups' => join(', ', OC_Group::getUserGroups($user)), 'subadmin' => implode(', ',OC_SubAdmin::getSubAdminsGroups($user)), 'quota' => OC_Preferences::getValue($user, 'files', 'quota', 'default'));
+ }
+} else {
+ $groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser());
+ $batch = OC_Group::usersInGroups($groups);
+ foreach ($batch as $user) {
+ $users[] = array('name' => $user, 'groups' => join(', ', OC_Group::getUserGroups($user)), 'quota' => OC_Preferences::getValue($user, 'files', 'quota', 'default'));
+ }
+}
+OC_JSON::success(array('data' => $users));
\ No newline at end of file
diff --git a/settings/js/users.js b/settings/js/users.js
index 91d24adafc..29f70f24df 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -22,10 +22,6 @@ UserList={
// Set undo flag
UserList.deleteCanceled = false;
- // Hide user in table to reflect deletion
- $(this).parent().parent().hide();
- $('tr').filterAttr( 'data-uid', UserList.deleteUid ).hide();
-
// Provide user with option to undo
$('#notification').html(t('users', 'deleted')+' '+uid+''+t('users', 'undo')+'');
$('#notification').data('deleteuser',true);
@@ -66,26 +62,92 @@ UserList={
}
});
}
- }
-}
+ },
-$(document).ready(function(){
- function setQuota(uid,quota,ready){
- $.post(
- OC.filePath('settings','ajax','setquota.php'),
- {username:uid,quota:quota},
- function(result){
- if(ready){
- ready(result.data.quota);
- }
+ add:function(username, groups, subadmin, quota, sort) {
+ var tr = $('tbody tr').first().clone();
+ tr.data('uid', username);
+ tr.find('td.name').text(username);
+ var groupsSelect = $('