diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php index ccc2a5d402..915fcaf2d4 100644 --- a/settings/ajax/createuser.php +++ b/settings/ajax/createuser.php @@ -38,8 +38,15 @@ try { } OC_Group::addToGroup( $username, $i ); } + + // check whether the user's files home exists + $userDirectory = OC_User::getHome($username) . '/files/'; + $homeExists = file_exists($userDirectory); + OC_JSON::success(array("data" => array( + // returns whether the home already existed + "homeExists" => $homeExists, "username" => $username, "groups" => OC_Group::getUserGroups( $username )))); } catch (Exception $exception) { diff --git a/settings/js/users.js b/settings/js/users.js index 5b7802c1e3..4c2ad5417c 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -467,6 +467,18 @@ $(document).ready(function () { var addedGroups = result.data.groups; UserList.availableGroups = $.unique($.merge(UserList.availableGroups, addedGroups)); } + if (result.data.homeExists){ + OC.Notification.hide(); + OC.Notification.show(t('settings', 'Warning: Home directory for user "{user}" already exists', {user: result.data.username})); + if (UserList.notificationTimeout){ + window.clearTimeout(UserList.notificationTimeout); + } + UserList.notificationTimeout = window.setTimeout( + function(){ + OC.Notification.hide(); + UserList.notificationTimeout = null; + }, 10000); + } if($('tr[data-uid="' + username + '"]').length === 0) { UserList.add(username, username, result.data.groups, null, 'default', true); }