Save to current collection from /connectors/savePage.

Closes #1351
This commit is contained in:
Adomas Venčkauskas 2017-11-06 12:57:01 +02:00
parent 8012829992
commit 24507a73f6

View File

@ -269,6 +269,12 @@ Zotero.Server.Connector.SavePage.prototype = {
* @param {Function} sendResponseCallback function to send HTTP response * @param {Function} sendResponseCallback function to send HTTP response
*/ */
init: function(url, data, sendResponseCallback) { init: function(url, data, sendResponseCallback) {
var { library, collection, editable } = Zotero.Server.Connector.getSaveTarget();
if (!library.editable) {
Zotero.logError("Can't add item to read-only library " + library.name);
return sendResponseCallback(500, "application/json", JSON.stringify({ libraryEditable: false }));
}
this.sendResponse = sendResponseCallback; this.sendResponse = sendResponseCallback;
Zotero.Server.Connector.Detect.prototype.init.apply(this, [url, data, sendResponseCallback]) Zotero.Server.Connector.Detect.prototype.init.apply(this, [url, data, sendResponseCallback])
}, },
@ -318,11 +324,7 @@ Zotero.Server.Connector.SavePage.prototype = {
var jsonItems = []; var jsonItems = [];
translate.setHandler("select", function(obj, item, callback) { return me._selectItems(obj, item, callback) }); translate.setHandler("select", function(obj, item, callback) { return me._selectItems(obj, item, callback) });
translate.setHandler("itemDone", function(obj, item, jsonItem) { translate.setHandler("itemDone", function(obj, item, jsonItem) {
if(collection) {
collection.addItem(item.id);
}
Zotero.Server.Connector.AttachmentProgressManager.add(jsonItem.attachments); Zotero.Server.Connector.AttachmentProgressManager.add(jsonItem.attachments);
jsonItems.push(jsonItem); jsonItems.push(jsonItem);
}); });
translate.setHandler("attachmentProgress", function(obj, attachment, progress, error) { translate.setHandler("attachmentProgress", function(obj, attachment, progress, error) {
@ -342,7 +344,7 @@ Zotero.Server.Connector.SavePage.prototype = {
} else { } else {
translate.setTranslator(translators[0]); translate.setTranslator(translators[0]);
} }
translate.translate(libraryID); translate.translate({libraryID, collections: collection ? [collection.id] : false});
} }
} }