diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js
index a8bea348b..1ee5a9608 100644
--- a/www/common/common-ui-elements.js
+++ b/www/common/common-ui-elements.js
@@ -1528,8 +1528,12 @@ define([
}
UI.confirm(msg, function (yes) {
if (!yes) { return; }
- sframeChan.query('Q_MOVE_TO_TRASH', null, function (err) {
- if (err) { return void callback(err); }
+ sframeChan.query('Q_MOVE_TO_TRASH', null, function (err, obj) {
+ err = err || (obj && obj.error);
+ if (err) {
+ callback(err);
+ return void UI.warn(Messages.fm_forbidden);
+ }
var cMsg = common.isLoggedIn() ? Messages.movedToTrash : Messages.deleted;
var msg = common.fixLinks($('
').html(cMsg));
UI.alert(msg);
diff --git a/www/common/outer/async-store.js b/www/common/outer/async-store.js
index 86c9229dc..d2f0d7258 100644
--- a/www/common/outer/async-store.js
+++ b/www/common/outer/async-store.js
@@ -986,17 +986,23 @@ define([
};
Store.moveToTrash = function (clientId, data, cb) {
var href = Hash.getRelativeHref(data.href);
+ var allErrors = true;
nThen(function (waitFor) {
getAllStores().forEach(function (s) {
var deleted = s.userObject.forget(href);
if (!deleted) { return; }
+ allErrors = false;
var send = s.id ? s.sendEvent : sendDriveEvent;
send('DRIVE_CHANGE', {
path: ['drive', UserObject.FILES_DATA]
}, clientId);
onSync(s.id, waitFor());
});
- }).nThen(cb);
+ }).nThen(function () {
+ cb({
+ error: allErrors ? 'FORBIDDEN' : undefined
+ });
+ });
};
Store.setPadTitle = function (clientId, data, cb) {
var title = data.title;
diff --git a/www/common/proxy-manager.js b/www/common/proxy-manager.js
index 49463c805..4c5e2d2e4 100644
--- a/www/common/proxy-manager.js
+++ b/www/common/proxy-manager.js
@@ -124,7 +124,7 @@ define([
var data = Env.user.proxy[UserObject.SHARED_FOLDERS][id];
if (data && !editable) { data = JSON.parse(JSON.stringify(data)); }
// If it's not a shared folder, check the pads
- if (!data) { Env.user.userObject.getFileData(id, editable); }
+ if (!data) { data = Env.user.userObject.getFileData(id, editable); }
ret.push({
data: data,
userObject: Env.user.userObject