Skip to content

Commit

Permalink
pre-populate ORCID ID on dataset create page #3944
Browse files Browse the repository at this point in the history
  • Loading branch information
pdurbin committed Jun 27, 2017
1 parent ba61257 commit ca33857
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/main/java/edu/harvard/iq/dataverse/DatasetPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -1369,6 +1369,7 @@ private void resetVersionUI() {
}
}

String creatorOrcidId = au.getOrcidId();
if (dsf.getDatasetFieldType().getName().equals(DatasetFieldConstant.author) && dsf.isEmpty()) {
for (DatasetFieldCompoundValue authorValue : dsf.getDatasetFieldCompoundValues()) {
for (DatasetField subField : authorValue.getChildDatasetFields()) {
Expand All @@ -1378,6 +1379,11 @@ private void resetVersionUI() {
if (subField.getDatasetFieldType().getName().equals(DatasetFieldConstant.authorAffiliation)) {
subField.getDatasetFieldValues().get(0).setValue(au.getAffiliation());
}
if (creatorOrcidId != null) {
if (subField.getDatasetFieldType().getName().equals(DatasetFieldConstant.authorIdValue)) {
subField.getDatasetFieldValues().get(0).setValue(creatorOrcidId);
}
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import edu.harvard.iq.dataverse.authorization.AuthenticatedUserDisplayInfo;
import edu.harvard.iq.dataverse.authorization.AuthenticatedUserLookup;
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinAuthenticationProvider;
import edu.harvard.iq.dataverse.authorization.providers.oauth2.impl.OrcidOAuth2AP;
import static edu.harvard.iq.dataverse.util.StringUtil.nonEmpty;
import java.io.Serializable;
import java.sql.Timestamp;
Expand Down Expand Up @@ -261,5 +262,13 @@ public String toString() {
public String getSortByString() {
return this.getLastName() + " " + this.getFirstName() + " " + this.getUserIdentifier();
}


public String getOrcidId() {
String authProviderId = getAuthenticatedUserLookup().getAuthenticationProviderId();
if (OrcidOAuth2AP.PROVIDER_ID_PRODUCTION.equals(authProviderId)) {
return getAuthenticatedUserLookup().getPersistentUserId();
}
return null;
}

}

0 comments on commit ca33857

Please sign in to comment.