Merge pull request #433 from owncloud/user_setting_fixes

User setting fixes
This commit is contained in:
Thomas Müller 2012-11-15 14:01:16 -08:00
commit 36bf4e24f0
3 changed files with 18 additions and 17 deletions

View File

@ -182,7 +182,7 @@ class OC_User {
$backend->createUser($uid, $password);
OC_Hook::emit( "OC_User", "post_createUser", array( "uid" => $uid, "password" => $password ));
return true;
return self::userExists($uid);
}
}
return false;
@ -204,6 +204,9 @@ class OC_User {
foreach(self::$_usedBackends as $backend) {
$backend->deleteUser($uid);
}
if (self::userExists($uid)) {
return false;
}
// We have to delete the user from all groups
foreach( OC_Group::getUserGroups( $uid ) as $i ) {
OC_Group::removeFromGroup( $uid, $i );

View File

@ -29,14 +29,17 @@ $username = $_POST["username"];
$password = $_POST["password"];
// Does the group exist?
if( in_array( $username, OC_User::getUsers())) {
if(OC_User::userExists($username)) {
OC_JSON::error(array("data" => array( "message" => "User already exists" )));
exit();
}
// Return Success story
try {
OC_User::createUser($username, $password);
if (!OC_User::createUser($username, $password)) {
OC_JSON::error(array('data' => array( 'message' => 'User creation failed for '.$username )));
exit();
}
foreach( $groups as $i ) {
if(!OC_Group::groupExists($i)) {
OC_Group::createGroup($i);

View File

@ -29,7 +29,6 @@ var UserList={
$('#notification').html(t('users', 'deleted')+' '+uid+'<span class="undo">'+t('users', 'undo')+'</span>');
$('#notification').data('deleteuser',true);
$('#notification').fadeIn();
},
/**
@ -57,10 +56,11 @@ var UserList={
$('#notification').fadeOut();
$('tr').filterAttr('data-uid', UserList.deleteUid).remove();
UserList.deleteCanceled = true;
UserList.deleteFiles = null;
if (ready) {
ready();
}
} else {
oc.dialogs.alert(result.data.message, t('settings', 'Unable to remove user'));
}
}
});
@ -69,7 +69,7 @@ var UserList={
add:function(username, groups, subadmin, quota, sort) {
var tr = $('tbody tr').first().clone();
tr.data('uid', username);
tr.attr('data-uid', username);
tr.find('td.name').text(username);
var groupsSelect = $('<select multiple="multiple" class="groupsselect" data-placehoder="Groups" title="Groups">');
groupsSelect.data('username', username);
@ -123,7 +123,7 @@ var UserList={
if (sort) {
username = username.toLowerCase();
$('tbody tr').each(function() {
if (username < $(this).data('uid').toLowerCase()) {
if (username < $(this).attr('data-uid').toLowerCase()) {
$(tr).insertBefore($(this));
added = true;
return false;
@ -267,7 +267,7 @@ $(document).ready(function(){
$('td.remove>a').live('click',function(event){
var row = $(this).parent().parent();
var uid = $(row).data('uid');
var uid = $(row).attr('data-uid');
$(row).hide();
// Call function for handling delete/undo
UserList.do_delete(uid);
@ -276,7 +276,7 @@ $(document).ready(function(){
$('td.password>img').live('click',function(event){
event.stopPropagation();
var img=$(this);
var uid=img.parent().parent().data('uid');
var uid=img.parent().parent().attr('data-uid');
var input=$('<input type="password">');
img.css('display','none');
img.parent().children('span').replaceWith(input);
@ -306,7 +306,7 @@ $(document).ready(function(){
$('select.quota, select.quota-user').live('change',function(){
var select=$(this);
var uid=$(this).parent().parent().parent().data('uid');
var uid=$(this).parent().parent().parent().attr('data-uid');
var quota=$(this).val();
var other=$(this).next();
if(quota!='other'){
@ -324,7 +324,7 @@ $(document).ready(function(){
})
$('input.quota-other').live('change',function(){
var uid=$(this).parent().parent().parent().data('uid');
var uid=$(this).parent().parent().parent().attr('data-uid');
var quota=$(this).val();
var select=$(this).prev();
var other=$(this);
@ -401,13 +401,8 @@ $(document).ready(function(){
$('#notification').hide();
$('#notification .undo').live('click', function() {
if($('#notification').data('deleteuser')) {
$('tbody tr').each(function(index, row) {
if ($(row).data('uid') == UserList.deleteUid) {
$(row).show();
}
});
$('tbody tr').filterAttr('data-uid', UserList.deleteUid).show();
UserList.deleteCanceled=true;
UserList.deleteFiles=null;
}
$('#notification').fadeOut();
});