Browse Source

React on other statuscodes than 200

tags/v8.0.0alpha1
Lukas Reschke 9 years ago
parent
commit
c23957811d

+ 2
- 8
settings/controller/groupscontroller.php View File

@@ -82,10 +82,7 @@ class GroupsController extends Controller {
if($this->groupManager->groupExists($id)) {
return new DataResponse(
array(
'status' => 'error',
'data' => array(
'message' => (string)$this->l10n->t('Group already exists.')
)
'message' => (string)$this->l10n->t('Group already exists.')
),
Http::STATUS_CONFLICT
);
@@ -93,10 +90,7 @@ class GroupsController extends Controller {
if($this->groupManager->createGroup($id)) {
return new DataResponse(
array(
'status' => 'success',
'data' => array(
'groupname' => $id
)
'groupname' => $id
),
Http::STATUS_CREATED
);

+ 4
- 10
settings/controller/userscontroller.php View File

@@ -161,10 +161,7 @@ class UsersController extends Controller {
} catch (\Exception $exception) {
return new DataResponse(
array(
'status' => 'error',
'data' => array(
'message' => (string)$this->l10n->t('Unable to create user.')
)
'message' => (string)$this->l10n->t('Unable to create user.')
),
Http::STATUS_FORBIDDEN
);
@@ -183,12 +180,9 @@ class UsersController extends Controller {

return new DataResponse(
array(
'status' => 'success',
'data' => array(
'username' => $username,
'groups' => $this->groupManager->getUserGroupIds($user),
'storageLocation' => $user->getHome()
)
'username' => $username,
'groups' => $this->groupManager->getUserGroupIds($user),
'storageLocation' => $user->getHome()
),
Http::STATUS_CREATED
);

+ 12
- 17
settings/js/users/groups.js View File

@@ -89,24 +89,19 @@ GroupList = {
id: groupname
},
function (result) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message,
t('settings', 'Error creating group'));
if (result.groupname) {
var addedGroup = result.groupname;
UserList.availableGroups = $.unique($.merge(UserList.availableGroups, [addedGroup]));
GroupList.addGroup(result.groupname);

$('.groupsselect, .subadminsselect')
.append($('<option>', { value: result.groupname })
.text(result.groupname));
}
else {
if (result.data.groupname) {
var addedGroup = result.data.groupname;
UserList.availableGroups = $.unique($.merge(UserList.availableGroups, [addedGroup]));
GroupList.addGroup(result.data.groupname);

$('.groupsselect, .subadminsselect')
.append($('<option>', { value: result.data.groupname })
.text(result.data.groupname));
}
GroupList.toggleAddGroup();
}
}
);
GroupList.toggleAddGroup();
}).fail(function(result, textStatus, errorThrown) {
OC.dialogs.alert(result.responseJSON.message, t('settings', 'Error creating group'));
});
},

update: function () {

+ 27
- 32
settings/js/users/users.js View File

@@ -674,42 +674,37 @@ $(document).ready(function () {
groups: groups
},
function (result) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message,
t('settings', 'Error creating user'));
} else {
if (result.data.groups) {
var addedGroups = result.data.groups;
for (var i in result.data.groups) {
var gid = result.data.groups[i];
if(UserList.availableGroups.indexOf(gid) === -1) {
UserList.availableGroups.push(gid);
}
$li = GroupList.getGroupLI(gid);
userCount = GroupList.getUserCount($li);
GroupList.setUserCount($li, userCount + 1);
if (result.groups) {
for (var i in result.groups) {
var gid = result.groups[i];
if(UserList.availableGroups.indexOf(gid) === -1) {
UserList.availableGroups.push(gid);
}
$li = GroupList.getGroupLI(gid);
userCount = GroupList.getUserCount($li);
GroupList.setUserCount($li, userCount + 1);
}
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(!UserList.has(username)) {
UserList.add(username, username, result.data.groups, null, 'default', result.data.storageLocation, 0, true);
}
if (result.homeExists){
OC.Notification.hide();
OC.Notification.show(t('settings', 'Warning: Home directory for user "{user}" already exists', {user: result.username}));
if (UserList.notificationTimeout){
window.clearTimeout(UserList.notificationTimeout);
}
$('#newusername').focus();
GroupList.incEveryoneCount();
UserList.notificationTimeout = window.setTimeout(
function(){
OC.Notification.hide();
UserList.notificationTimeout = null;
}, 10000);
}
}
);
if(!UserList.has(username)) {
UserList.add(username, username, result.groups, null, 'default', result.storageLocation, 0, true);
}
$('#newusername').focus();
GroupList.incEveryoneCount();
}).fail(function(result, textStatus, errorThrown) {
OC.dialogs.alert(result.responseJSON.message, t('settings', 'Error creating user'));
});
});

// Option to display/hide the "Storage location" column

+ 2
- 6
tests/settings/controller/groupscontrollertest.php View File

@@ -148,10 +148,7 @@ class GroupsControllerTest extends \Test\TestCase {

$expectedResponse = new DataResponse(
array(
'status' => 'error',
'data' => array(
'message' => 'Group already exists.'
)
'message' => 'Group already exists.'
),
Http::STATUS_CONFLICT
);
@@ -173,8 +170,7 @@ class GroupsControllerTest extends \Test\TestCase {

$expectedResponse = new DataResponse(
array(
'status' => 'success',
'data' => array('groupname' => 'NewGroup')
'groupname' => 'NewGroup'
),
Http::STATUS_CREATED
);

+ 7
- 16
tests/settings/controller/userscontrollertest.php View File

@@ -153,12 +153,9 @@ class UsersControllerTest extends \Test\TestCase {

$expectedResponse = new DataResponse(
array(
'status' => 'success',
'data' => array(
'username' => 'foo',
'groups' => null,
'storageLocation' => '/home/user'
)
'username' => 'foo',
'groups' => null,
'storageLocation' => '/home/user'
),
Http::STATUS_CREATED
);
@@ -213,12 +210,9 @@ class UsersControllerTest extends \Test\TestCase {

$expectedResponse = new DataResponse(
array(
'status' => 'success',
'data' => array(
'username' => 'foo',
'groups' => array('NewGroup', 'ExistingGroup'),
'storageLocation' => '/home/user'
)
'username' => 'foo',
'groups' => array('NewGroup', 'ExistingGroup'),
'storageLocation' => '/home/user'
),
Http::STATUS_CREATED
);
@@ -237,10 +231,7 @@ class UsersControllerTest extends \Test\TestCase {

$expectedResponse = new DataResponse(
array(
'status' => 'error',
'data' => array(
'message' => 'Unable to create user.'
)
'message' => 'Unable to create user.'
),
Http::STATUS_FORBIDDEN
);

Loading…
Cancel
Save