]> source.dussan.org Git - nextcloud-server.git/commitdiff
Provide feedback when user creation fails
authorMichael Gapczynski <GapczynskiM@gmail.com>
Sun, 6 May 2012 22:04:31 +0000 (18:04 -0400)
committerMichael Gapczynski <GapczynskiM@gmail.com>
Sun, 6 May 2012 22:04:48 +0000 (18:04 -0400)
lib/user.php
settings/ajax/createuser.php
settings/js/users.js

index 8b887559df3d5e0ea9786196362740a7133f86f2..816caff8dd8de2f0db2cb1117ee0f7f054758476 100644 (file)
@@ -117,15 +117,15 @@ class OC_User {
                // Check the name for bad characters
                // Allowed are: "a-z", "A-Z", "0-9" and "_.@-"
                if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $uid )){
-                       return false;
+                       throw new Exception('Only the following characters are allowed in a username: "a-z", "A-Z", "0-9", and "_.@-"');
                }
                // No empty username
                if(trim($uid) == ''){
-                       return false;
+                       throw new Exception('A valid username must be provided');
                }
                // Check if user already exists
                if( self::userExists($uid) ){
-                       return false;
+                       throw new Exception('The username is already being used');
                }
 
 
index 1ed53efcf062f1c5bc6b3a3b420e81a22d8311b6..6714711bc876fbf5161343c6265859941a8b2d32 100644 (file)
@@ -23,7 +23,8 @@ if( in_array( $username, OC_User::getUsers())){
 }
 
 // Return Success story
-if( OC_User::createUser( $username, $password )){
+try {
+       OC_User::createUser($username, $password);
        foreach( $groups as $i ){
                if(!OC_Group::groupExists($i)){
                        OC_Group::createGroup($i);
@@ -31,9 +32,8 @@ if( OC_User::createUser( $username, $password )){
                OC_Group::addToGroup( $username, $i );
        }
        OC_JSON::success(array("data" => array( "username" => $username, "groups" => implode( ", ", OC_Group::getUserGroups( $username )))));
-}
-else{
-       OC_JSON::error(array("data" => array( "message" => "Unable to add user" )));
+} catch (Exception $exception) {
+       OC_JSON::error(array("data" => array( "message" => $exception->getMessage())));
 }
 
 ?>
index eed93d3b30389fcd600c2b0976e1aef253733196..e6eee4ce4fae7268d0b908e12fe6a57366cbcdc6 100644 (file)
@@ -158,10 +158,11 @@ $(document).ready(function(){
                event.preventDefault();
                var username=$('#newusername').val();
                if($('#content table tbody tr').filterAttr('data-uid',username).length>0){
+                       OC.dialogs.alert('The username is already being used', 'Error creating user');
                        return;
                }
                if($.trim(username) == '') {
-                       alert('Please provide a username!');
+                       OC.dialogs.alert('A valid username must be provided', 'Error creating user');
                        return false;
                }
                var password=$('#newuserpassword').val();
@@ -177,6 +178,7 @@ $(document).ready(function(){
                        function(result){
                                if(result.status!='success'){
                                        tr.remove();
+                                       OC.dialogs.alert(result.data.message, 'Error creating user');
                                }
                        }
                );