summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-06-27 09:34:34 +0200
committerLukas Reschke <lukas@owncloud.com>2015-06-27 09:34:34 +0200
commit465606c25434312db8d24db5ceb45c27f371d924 (patch)
treeccc1c96d5ff2e1c182c6306e13d19f715cf3e530 /apps
parent28c223edc6d8fe86c47de86099b9810c7526a4be (diff)
parentca1da0acb7f02bab9385fa3cbe3fe4453a13de82 (diff)
downloadnextcloud-server-465606c25434312db8d24db5ceb45c27f371d924.tar.gz
nextcloud-server-465606c25434312db8d24db5ceb45c27f371d924.zip
Merge pull request #17199 from owncloud/feature/show-error-when-shareservice-dies
add check if server returns a 500 and display error
Diffstat (limited to 'apps')
-rw-r--r--apps/files/js/filelist.js8
-rw-r--r--apps/files/tests/js/filelistSpec.js11
2 files changed, 19 insertions, 0 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 5fc444e6121..417c4b9fe99 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1131,6 +1131,14 @@
return false;
}
+ // Did share service die or something else fail?
+ if (result.status === 500) {
+ // Go home
+ this.changeDirectory('/');
+ OC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'));
+ return false;
+ }
+
if (result.status === 404) {
// go back home
this.changeDirectory('/');
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 6bcef8b6f4f..b12ac2f2517 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1290,6 +1290,17 @@ describe('OCA.Files.FileList tests', function() {
fakeServer.respond();
expect(fileList.getCurrentDirectory()).toEqual('/');
});
+ it('switches to root dir when current directory is unavailable', function() {
+ fakeServer.respondWith(/\/index\.php\/apps\/files\/ajax\/list.php\?dir=%2funexist/, [
+ 500, {
+ "Content-Type": "application/json"
+ },
+ ''
+ ]);
+ fileList.changeDirectory('/unexist');
+ fakeServer.respond();
+ expect(fileList.getCurrentDirectory()).toEqual('/');
+ });
it('shows mask before loading file list then hides it at the end', function() {
var showMaskStub = sinon.stub(fileList, 'showMask');
var hideMaskStub = sinon.stub(fileList, 'hideMask');