Make item-specific fields override base fields when specified
This commit is contained in:
parent
bd75d95da9
commit
dcfdf27c0b
|
@ -385,8 +385,13 @@ Zotero.Translate.ItemSaver.prototype = {
|
|||
// try to map from base field
|
||||
if(Zotero.ItemFields.isBaseField(fieldID)) {
|
||||
fieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(typeID, fieldID);
|
||||
|
||||
// Skip mapping if item field already exists
|
||||
var fieldName = Zotero.ItemFields.getName(fieldID);
|
||||
if(item[fieldName]) continue;
|
||||
|
||||
if(fieldID) {
|
||||
Zotero.debug("Translate: Mapping "+field+" to "+Zotero.ItemFields.getName(fieldID), 5);
|
||||
Zotero.debug("Translate: Mapping "+field+" to "+fieldName, 5);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1262,7 +1262,9 @@ Zotero.Utilities = {
|
|||
|
||||
// map from base field if possible
|
||||
if((itemFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(typeID, fieldID))) {
|
||||
newItem[Zotero.ItemFields.getName(itemFieldID)] = val;
|
||||
var fieldName = Zotero.ItemFields.getName(itemFieldID);
|
||||
// Only map if item field does not exist
|
||||
if(!newItem[fieldName]) newItem[fieldName] = val;
|
||||
continue; // already know this is valid
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user