diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js index 6ae3e08b0..2a452ae86 100644 --- a/chrome/content/zotero/xpcom/translation/translate.js +++ b/chrome/content/zotero/xpcom/translation/translate.js @@ -174,6 +174,18 @@ Zotero.Translate.Sandbox = { } } } + + if (item.version) { + translate._debug("Translate: item.version is deprecated; set item.versionNumber instead"); + item.versionNumber = item.version; + } + + if (item.accessDate) { + if (Zotero.Date.isSQLDateTime(item.accessDate)) { + translate._debug("Translate: Passing accessDate as SQL is deprecated; pass an ISO 8601 date instead"); + item.accessDate = Zotero.Date.sqlToISO8601(item.accessDate); + } + } // Fire itemSaving event translate._runHandler("itemSaving", item); @@ -581,13 +593,13 @@ Zotero.Translate.Sandbox = { } // automatically set library catalog - if(item.libraryCatalog === undefined) { + if(item.libraryCatalog === undefined && item.itemType != "webpage") { item.libraryCatalog = translate.translator[0].label; } // automatically set access date if URL is set if(item.url && typeof item.accessDate == 'undefined') { - item.accessDate = "CURRENT_TIMESTAMP"; + item.accessDate = Zotero.Date.dateToISO(new Date()); } //consider type-specific "title" alternatives diff --git a/chrome/content/zotero/xpcom/translation/translate_item.js b/chrome/content/zotero/xpcom/translation/translate_item.js index ec191aad5..76100b0d5 100644 --- a/chrome/content/zotero/xpcom/translation/translate_item.js +++ b/chrome/content/zotero/xpcom/translation/translate_item.js @@ -107,7 +107,6 @@ Zotero.Translate.ItemSaver.prototype = { seeAlso:item.seeAlso, id:item.itemID || item.id }; - if (item.version) item.versionNumber = item.version; newItem.fromJSON(this._deleteIrrelevantFields(item)); // save item diff --git a/test/content/support.js b/test/content/support.js index b3b56f24b..d11cf6ef1 100644 --- a/test/content/support.js +++ b/test/content/support.js @@ -411,7 +411,7 @@ function generateAllTypesAndFieldsData() { let specialValues = { date: '1999-12-31', filingDate: '2000-01-02', - accessDate: '1997-06-13 23:59:58', + accessDate: '1997-06-13T23:59:58', number: 3, numPages: 4, issue: 5, @@ -482,29 +482,8 @@ function populateDBWithSampleData(data) { return Zotero.DB.executeTransaction(function* () { for (let itemName in data) { let item = data[itemName]; - let zItem = new Zotero.Item(item.itemType); - for (let itemField in item) { - if (itemField == 'itemType') continue; - - if (itemField == 'creators') { - zItem.setCreators(item[itemField]); - continue; - } - - if (itemField == 'tags') { - // Must save item first - continue; - } - - zItem.setField(itemField, item[itemField]); - } - - if (item.tags && item.tags.length) { - for (let i=0; i