Correct creator fields in OpenURL (#2079)

There is no isInstitution field, so OpenURL search was producing invalid
data for items with institutional authors. Instead we use the name field
in API JSON and the isInstitution flag in internal JSON.
This commit is contained in:
Abe Jellinek 2021-06-14 11:49:49 -07:00 • committed by Dan Stillman
parent 381b2753ce
commit d5175640a6

View file

@ -210,8 +210,8 @@ Zotero.OpenURL = new function() {
_mapTag(firstCreator.firstName, "invfirst");
_mapTag(firstCreator.lastName, "invlast");
} else {
if(firstCreator.isInstitution) {
_mapTag(firstCreator.lastName, "aucorp");
if (firstCreator.name) {
_mapTag(firstCreator.name, "aucorp");
} else {
_mapTag(firstCreator.firstName, "aufirst");
_mapTag(firstCreator.lastName, "aulast");
@ -407,7 +407,7 @@ Zotero.OpenURL = new function() {
item.creators.push(_cloneIfNecessary(Zotero.Utilities.cleanAuthor(value, type, value.indexOf(",") !== -1), item));
} else if(key == "rft.aucorp") {
complexAu.push(_cloneIfNecessary({lastName:value, isInstitution:true}, item));
complexAu.push(_cloneIfNecessary({lastName:value, fieldMode:1}, item));
} else if(key == "rft.isbn" && !item.ISBN) {
item.ISBN = value;
} else if(key == "rft.pub" || key == "rft.publisher") {