diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-10-22 23:06:53 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-10-22 23:06:53 +0200 |
commit | 9019ad550fc4c8e6d636eaaf98062ba2e495d135 (patch) | |
tree | 92b0e3e7e34dd1a5497fc2f62b30085af41317cd | |
parent | ca3771f8fd761a51ea7bbe123dcb16c5da7f4045 (diff) | |
parent | d2fa0f5ff208dc5e043109a8d08b58bf344d24b3 (diff) | |
download | nextcloud-server-9019ad550fc4c8e6d636eaaf98062ba2e495d135.tar.gz nextcloud-server-9019ad550fc4c8e6d636eaaf98062ba2e495d135.zip |
Merge branch 'master' into prevent_user_from_creating_or_renaming_to_an_existing_filename
Conflicts:
apps/files/js/filelist.js
-rw-r--r-- | apps/files/js/filelist.js | 32 | ||||
-rw-r--r-- | settings/ajax/createuser.php | 7 | ||||
-rw-r--r-- | settings/js/users.js | 12 |
3 files changed, 48 insertions, 3 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 694ddb0c803..78eaa9761a0 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -252,9 +252,35 @@ var FileList={ $('.creatable').toggleClass('hidden', !isCreatable); $('.notCreatable').toggleClass('hidden', isCreatable); }, - remove:function(name) { - $('tr[data-file="'+name+'"]').find('td.filename').draggable('destroy'); - $('tr[data-file="'+name+'"]').remove(); + + /** + * Shows/hides action buttons + * + * @param show true for enabling, false for disabling + */ + showActions: function(show){ + $('.actions,#file_action_panel').toggleClass('hidden', !show); + if (show){ + // make sure to display according to permissions + var permissions = $('#permissions').val(); + var isCreatable = (permissions & OC.PERMISSION_CREATE) !== 0; + $('.creatable').toggleClass('hidden', !isCreatable); + $('.notCreatable').toggleClass('hidden', isCreatable); + } + }, + /** + * Enables/disables viewer mode. + * In viewer mode, apps can embed themselves under the controls bar. + * In viewer mode, the actions of the file list will be hidden. + * @param show true for enabling, false for disabling + */ + setViewerMode: function(show){ + this.showActions(!show); + $('#filestable').toggleClass('hidden', show); + }, + remove:function(name){ + $('tr').filterAttr('data-file',name).find('td.filename').draggable('destroy'); + $('tr').filterAttr('data-file',name).remove(); FileList.updateFileSummary(); if ( ! $('tr[data-file]').exists() ) { $('#emptycontent').removeClass('hidden'); diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php index ccc2a5d402e..915fcaf2d42 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 5b7802c1e36..4c2ad5417ca 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); } |