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 GitHub
parent 5359db39d0
commit f83559feb8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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") {