[Pkg-owncloud-commits] [owncloud] 145/273: If loading a directory fails, navigate back to the previous directory

David Prévot taffit at moszumanska.debian.org
Fri Jul 4 03:13:10 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 30c240a145dd8c9e54b4cd64a78f1020e41a15f4
Author: Robin Appelman <icewind at owncloud.com>
Date:   Mon Jun 30 16:27:31 2014 +0200

    If loading a directory fails, navigate back to the previous directory
---
 apps/files/js/filelist.js | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 0477a65..ef28794 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -836,13 +836,18 @@
 		 * @param {boolean} force set to true to force changing directory
 		 */
 		changeDirectory: function(targetDir, changeUrl, force) {
+			var self = this;
 			var currentDir = this.getCurrentDirectory();
 			targetDir = targetDir || '/';
 			if (!force && currentDir === targetDir) {
 				return;
 			}
 			this._setCurrentDir(targetDir, changeUrl);
-			this.reload();
+			this.reload().then(function(success){
+				if (!success) {
+					self.changeDirectory(currentDir, true);
+				}
+			});
 		},
 		linkTo: function(dir) {
 			return OC.linkTo('files', 'index.php')+"?dir="+ encodeURIComponent(dir).replace(/%2F/g, '/');
@@ -902,7 +907,6 @@
 		 * @brief Reloads the file list using ajax call
 		 */
 		reload: function() {
-			var self = this;
 			this._selectedFiles = {};
 			this._selectionSummary.clear();
 			this.$el.find('.select-all').prop('checked', false);
@@ -916,14 +920,10 @@
 					dir : this.getCurrentDirectory(),
 					sort: this._sort,
 					sortdirection: this._sortDirection
-				},
-				error: function(result) {
-					self.reloadCallback(result);
-				},
-				success: function(result) {
-					self.reloadCallback(result);
 				}
 			});
+			var callBack = this.reloadCallback.bind(this);
+			return this._reloadCall.then(callBack, callBack);
 		},
 		reloadCallback: function(result) {
 			delete this._reloadCall;
@@ -931,17 +931,17 @@
 
 			if (!result || result.status === 'error') {
 				OC.Notification.show(result.data.message);
-				return;
+				return false;
 			}
 
 			if (result.status === 404) {
 				// go back home
 				this.changeDirectory('/');
-				return;
+				return false;
 			}
 			// aborted ?
 			if (result.status === 0){
-				return;
+				return true;
 			}
 
 			// TODO: should rather return upload file size through
@@ -953,6 +953,7 @@
 			}
 
 			this.setFiles(result.data.files);
+			return true
 		},
 
 		updateStorageStatistics: function(force) {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list