Fix invalid imported Mendeley annotation color

After fix in 808b71832e

And require annotation colors to be 6-char hex colors going forward
This commit is contained in:
Dan Stillman 2021-05-14 04:17:51 -04:00
parent f925f0e402
commit 7e23cfef96
3 changed files with 14 additions and 1 deletions

View file

@ -3706,6 +3706,15 @@ for (let name of ['type', 'text', 'comment', 'color', 'pageLabel', 'sortIndex',
}
break;
case 'color':
// Require 6-char hex value
if (!value.match(/#[a-f0-9]{6}/)) {
let e = new Error(`Invalid annotation color '${value}'`);
e.name = "ZoteroInvalidDataError";
throw e;
}
break;
case 'sortIndex':
if (!/^\d{5}\|\d{6}\|\d{5}$/.test(value)) {
throw new Error(`Invalid sortIndex '${value}`);

View file

@ -3268,6 +3268,10 @@ Zotero.Schema = new function(){
yield Zotero.DB.queryAsync("DELETE FROM items WHERE itemTypeID=? AND itemID NOT IN (SELECT itemID FROM itemAnnotations)", annotationID);
}
else if (i == 114) {
yield Zotero.DB.queryAsync("UPDATE itemAnnotations SET color='#ffff00' WHERE color='#ffff0'");
}
// If breaking compatibility or doing anything dangerous, clear minorUpdateFrom
}

View file

@ -1,4 +1,4 @@
-- 113
-- 114
-- Copyright (c) 2009 Center for History and New Media
-- George Mason University, Fairfax, Virginia, USA