diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php index 205958f88d..ccc2a5d402 100644 --- a/settings/ajax/createuser.php +++ b/settings/ajax/createuser.php @@ -41,7 +41,7 @@ try { OC_JSON::success(array("data" => array( "username" => $username, - "groups" => implode( ", ", OC_Group::getUserGroups( $username ))))); + "groups" => OC_Group::getUserGroups( $username )))); } catch (Exception $exception) { OC_JSON::error(array("data" => array( "message" => $exception->getMessage()))); } diff --git a/settings/js/users.js b/settings/js/users.js index 6a8afc4ca3..948849fe53 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -89,10 +89,10 @@ var UserList = { tr.attr('data-displayName', displayname); tr.find('td.name').text(username); tr.find('td.displayName > span').text(displayname); - var groupsSelect = $('').attr('data-username', username).attr('data-user-groups', groups); + var groupsSelect = $('').attr('data-username', username).attr('data-user-groups', [groups]); tr.find('td.groups').empty(); if (tr.find('td.subadmins').length > 0) { - var subadminSelect = $('').attr('data-username', username).attr('data-user-groups', [groups]).attr('data-subadmin', [subadmin]); tr.find('td.subadmins').empty(); } $.each(this.availableGroups, function (i, group) { @@ -227,7 +227,7 @@ var UserList = { var user = element.attr('data-username'); if ($(element).attr('class') === 'groupsselect') { if (element.data('userGroups')) { - checked = String(element.data('userGroups')).split(', '); + checked = element.data('userGroups'); } if (user) { var checkHandeler = function (group) { @@ -244,11 +244,10 @@ var UserList = { group: group }, function (response) { - if(response.status === 'success') { - if(UserList.availableGroups.indexOf(response.data.groupname) === -1 && response.data.action === 'add') { - UserList.availableGroups.push(response.data.groupname); - } - } else { + if(response.status === 'success' && UserList.availableGroups.indexOf(response.data.groupname) === -1 && response.data.action === 'add') { + UserList.availableGroups.push(response.data.groupname); + } + if(response.data.message) { OC.Notification.show(response.data.message); } } @@ -282,7 +281,7 @@ var UserList = { } if ($(element).attr('class') === 'subadminsselect') { if (element.data('subadmin')) { - checked = String(element.data('subadmin')).split(', '); + checked = element.data('subadmin'); } var checkHandeler = function (group) { if (group === 'admin') { @@ -321,7 +320,7 @@ var UserList = { $(document).ready(function () { UserList.doSort(); - UserList.availableGroups = $('#content table').attr('data-groups').split(', '); + UserList.availableGroups = $('#content table').data('groups'); $('tbody tr:last').bind('inview', function (event, isInView, visiblePartX, visiblePartY) { OC.Router.registerLoadedCallback(function () { UserList.update(); @@ -450,7 +449,7 @@ $(document).ready(function () { t('settings', 'Error creating user')); } else { if (result.data.groups) { - var addedGroups = result.data.groups.split(', '); + var addedGroups = result.data.groups; UserList.availableGroups = $.unique($.merge(UserList.availableGroups, addedGroups)); } if($('tr[data-uid="' + username + '"]').length === 0) { diff --git a/settings/templates/users.php b/settings/templates/users.php index 4ddef3ff1b..22450fdf25 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -78,7 +78,7 @@ $_['subadmingroups'] = array_flip($items); - +
@@ -108,7 +108,7 @@ $_['subadmingroups'] = array_flip($items);
t('Username'))?>