Fix access date without time coming from sync
This commit is contained in:
parent
a207e388db
commit
60810ea0a0
2 changed files with 28 additions and 9 deletions
|
@ -4099,24 +4099,29 @@ Zotero.Item.prototype.fromJSON = function (json) {
|
|||
break;
|
||||
|
||||
case 'accessDate':
|
||||
if (val && !Zotero.Date.isSQLDate(val)) {
|
||||
let d = Zotero.Date.isoToDate(val);
|
||||
if (!d) {
|
||||
Zotero.logError(`Discarding invalid ${field} '${val}' for item ${this.libraryKey}`);
|
||||
continue;
|
||||
}
|
||||
val = Zotero.Date.dateToSQL(d, true);
|
||||
}
|
||||
this.setField(field, val);
|
||||
setFields[field] = true;
|
||||
break;
|
||||
|
||||
case 'dateAdded':
|
||||
case 'dateModified':
|
||||
if (val) {
|
||||
let d = Zotero.Date.isoToDate(val);
|
||||
if (!d) {
|
||||
Zotero.logError("Discarding invalid " + field + " '" + val
|
||||
+ "' for item " + this.libraryKey);
|
||||
Zotero.logError(`Discarding invalid ${field} '${val}' for item ${this.libraryKey}`);
|
||||
continue;
|
||||
}
|
||||
val = Zotero.Date.dateToSQL(d, true);
|
||||
}
|
||||
if (field == 'accessDate') {
|
||||
this.setField(field, val);
|
||||
setFields[field] = true;
|
||||
}
|
||||
else {
|
||||
this[field] = val;
|
||||
}
|
||||
this[field] = val;
|
||||
break;
|
||||
|
||||
case 'parentItem':
|
||||
|
|
|
@ -1433,6 +1433,20 @@ describe("Zotero.Item", function () {
|
|||
assert.equal(item.dateModified, '2015-06-07 20:58:00');
|
||||
})
|
||||
|
||||
it("should accept ISO 8601 access date without time", function* () {
|
||||
var json = {
|
||||
itemType: "journalArticle",
|
||||
accessDate: "2015-06-07",
|
||||
dateAdded: "2015-06-07T20:57:00Z",
|
||||
dateModified: "2015-06-07T20:58:00Z",
|
||||
};
|
||||
var item = new Zotero.Item;
|
||||
item.fromJSON(json);
|
||||
assert.equal(item.getField('accessDate'), '2015-06-07');
|
||||
assert.equal(item.dateAdded, '2015-06-07 20:57:00');
|
||||
assert.equal(item.dateModified, '2015-06-07 20:58:00');
|
||||
})
|
||||
|
||||
it("should ignore non–ISO 8601 dates", function* () {
|
||||
var json = {
|
||||
itemType: "journalArticle",
|
||||
|
|
Loading…
Reference in a new issue