diff --git a/src/main/java/Bundle.properties b/src/main/java/Bundle.properties index dd39b84b743..15f07279e58 100755 --- a/src/main/java/Bundle.properties +++ b/src/main/java/Bundle.properties @@ -2251,10 +2251,12 @@ rtabfileparser.ioexception.read=Couldn't read Boolean variable ({0})! rtabfileparser.ioexception.parser1=R Tab File Parser: Could not obtain varQnty from the dataset metadata. rtabfileparser.ioexception.parser2=R Tab File Parser: varQnty=0 in the dataset metadata! - preloadmessage=(Loading versions...) mydata.result=Result mydata.results=Results mydata.viewnext=View Next mydata.more=More -javascriptSupportMessage=Your Browser does not support javascript. Please use \ No newline at end of file +javascriptSupportMessage=Your Browser does not support javascript. Please use + +to=to +of=of \ No newline at end of file diff --git a/src/main/java/Bundle_fr.properties b/src/main/java/Bundle_fr.properties index 28e24dde98f..73703e2ed5c 100644 --- a/src/main/java/Bundle_fr.properties +++ b/src/main/java/Bundle_fr.properties @@ -2199,4 +2199,14 @@ passwdVal.passwdReq.lowercase=minuscule passwdVal.passwdReq.letter=lettre passwdVal.passwdReq.numeral=chiffre passwdVal.passwdReq.special=caract�re sp�cial -dataretrieverAPI.noMsgResultsFound=D�sol�, aucun r�sultat n'a �t� trouv�. \ No newline at end of file +dataretrieverAPI.noMsgResultsFound=D�sol�, aucun r�sultat n'a �t� trouv�. + +preloadmessage=(Chargement des versions\u2026) +mydata.result=R�sultat +mydata.results=R�sultats +mydata.viewnext=Voir suivant +mydata.more=Plus +javascriptSupportMessage=Votre navigateur ne supporte pas javascript. Veuillez utiliser + +to=� +of=de \ No newline at end of file diff --git a/src/main/java/edu/harvard/iq/dataverse/mydata/MyDataFinder.java b/src/main/java/edu/harvard/iq/dataverse/mydata/MyDataFinder.java index 7cea611b06e..2be09f580ee 100644 --- a/src/main/java/edu/harvard/iq/dataverse/mydata/MyDataFinder.java +++ b/src/main/java/edu/harvard/iq/dataverse/mydata/MyDataFinder.java @@ -5,48 +5,47 @@ */ package edu.harvard.iq.dataverse.mydata; +import edu.harvard.iq.dataverse.DataverseLocaleBean; import edu.harvard.iq.dataverse.DvObject; import edu.harvard.iq.dataverse.DvObjectServiceBean; import edu.harvard.iq.dataverse.RoleAssigneeServiceBean; import edu.harvard.iq.dataverse.authorization.DataverseRolePermissionHelper; import edu.harvard.iq.dataverse.authorization.groups.GroupServiceBean; import edu.harvard.iq.dataverse.search.SearchFields; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; + +import java.util.*; import java.util.logging.Logger; import javax.json.Json; import javax.json.JsonArrayBuilder; import javax.json.JsonObjectBuilder; + +import edu.harvard.iq.dataverse.util.BundleUtil; import org.apache.commons.lang.StringUtils; /** * Given a user and a set of filters (dvobject type, roles, publication status): * - Use postgres to identify DvObject types * - Format a solr query string - * + * * @author rmp553 */ //@Stateless public class MyDataFinder { - + private static final Logger logger = Logger.getLogger(MyDataFinder.class.getCanonicalName()); private String userIdentifier; MyDataFilterParams filterParams; - + // !! RMP - Excluded by default; don't have cases yet to make this true - private boolean excludeHarvestedData = true; + private boolean excludeHarvestedData = true; //private String searchTerm = "*"; - + // -------------------- private DataverseRolePermissionHelper rolePermissionHelper; private RoleAssigneeServiceBean roleAssigneeService; private DvObjectServiceBean dvObjectServiceBean; - private GroupServiceBean groupService; + private GroupServiceBean groupService; //private RoleAssigneeServiceBean roleService = new RoleAssigneeServiceBean(); //private MyDataQueryHelperServiceBean myDataQueryHelperService; // -------------------- @@ -71,20 +70,20 @@ public class MyDataFinder { private List directDvObjectIds = new ArrayList<>(); // Lists later used to format Solr Queries - // + // // ---------------------------- // POPULATED IN STEP 2 (2nd query) // ---------------------------- private List directDataverseIds = new ArrayList<>(); private List directDatasetIds = new ArrayList<>(); private List directFileIds = new ArrayList<>(); - + private List datasetParentIds = new ArrayList<>(); // dataverse has dataset permissions - private List fileParentIds = new ArrayList<>(); // dataset has file permissions + private List fileParentIds = new ArrayList<>(); // dataset has file permissions private List fileGrandparentFileIds = new ArrayList<>(); // dataverse has file permissions - + public MyDataFinder(DataverseRolePermissionHelper rolePermissionHelper, RoleAssigneeServiceBean roleAssigneeService, DvObjectServiceBean dvObjectServiceBean, GroupServiceBean groupService) { this.rolePermissionHelper = rolePermissionHelper; this.roleAssigneeService = roleAssigneeService; @@ -94,39 +93,39 @@ public MyDataFinder(DataverseRolePermissionHelper rolePermissionHelper, RoleAssi } private void loadHarvestedDataverseIds(){ - + for (Long id : dvObjectServiceBean.getAllHarvestedDataverseIds()){ harvestedDataverseIds.put(id, true); } - + } - + public void setExcludeHarvestedData(boolean val){ - + this.excludeHarvestedData = val; } - + public boolean isHarvestedDataExcluded(){ return excludeHarvestedData; } - + /** * Check if a dvobject id is in the Harvested Id dict * @param id - * @return + * @return */ private boolean isHarvesteDataverseId(Long id){ - + if (id == null){ return false; } - + if (this.harvestedDataverseIds.containsKey(id)){ return true; } return false; } - + public void initFields(){ // ---------------------------- // POPULATED IN STEP 1 (1st query) @@ -139,7 +138,7 @@ public void initFields(){ this.directDvObjectIds = new ArrayList<>(); // Lists later used to format Solr Queries - // + // // ---------------------------- // POPULATED IN STEP 2 (2nd query) // ---------------------------- @@ -149,26 +148,26 @@ public void initFields(){ this.datasetParentIds = new ArrayList<>(); // dataverse has dataset permissions - this.fileParentIds = new ArrayList<>(); // dataset has file permissions + this.fileParentIds = new ArrayList<>(); // dataset has file permissions this.fileGrandparentFileIds = new ArrayList<>(); // dataverse has file permissions - + } - + public DataverseRolePermissionHelper getRolePermissionHelper(){ return this.rolePermissionHelper; } public void runFindDataSteps(MyDataFilterParams filterParams){ - - + + this.filterParams = filterParams; this.userIdentifier = this.filterParams.getUserIdentifier(); - + if (this.filterParams.hasError()){ this.addErrorMessage(filterParams.getErrorMessage()); return; } - + if (!runStep1RoleAssignments()){ return; } @@ -177,36 +176,36 @@ public void runFindDataSteps(MyDataFilterParams filterParams){ } if (!fileGrandparentFileIds.isEmpty()){ runStep3FilePermsAssignedAtDataverse(); - } - + } + } - + public List getSolrFilterQueriesForTotalCounts(){ - + return this.getSolrFilterQueries(true); } - - + + public List getSolrFilterQueries(){ - + return this.getSolrFilterQueries(false); } - + /** * Get the final queries for the Solr Search object - * - * @return + * + * @return */ private List getSolrFilterQueries(boolean totalCountsOnly){ if (this.hasError()){ throw new IllegalStateException("Error encountered earlier. Before calling this method on a MyDataFinder object, first check 'hasError()'"); } - + // init filterQueries list List filterQueries = new ArrayList<>(); // ----------------------------------------------------------------- - // (1) Add entityId/parentId FQ + // (1) Add entityId/parentId FQ // - by entityId (dvObject id) and parentId (dvObject ownerId) // ----------------------------------------------------------------- String dvObjectFQ = this.getSolrDvObjectFilterQuery(); @@ -235,15 +234,15 @@ private List getSolrFilterQueries(boolean totalCountsOnly){ // ----------------------------------------------------------------- filterQueries.add(this.filterParams.getSolrFragmentForPublicationStatus()); //fq=publicationStatus:"Unpublished"&fq=publicationStatus:"Draft" - + return filterQueries; } - - - - - + + + + + public String getSolrDvObjectFilterQuery(){ if (this.hasError()){ @@ -258,19 +257,19 @@ public String getSolrDvObjectFilterQuery(){ if (this.filterParams.areDataversesIncluded()){ entityIds.addAll(this.directDataverseIds); // dv ids - } + } if (this.filterParams.areDatasetsIncluded()){ entityIds.addAll(this.directDatasetIds); // dataset ids parentIds.addAll(this.datasetParentIds); // dv ids that are dataset parents datasetParentIdsForFQ.addAll(this.datasetParentIds); } - + if (this.filterParams.areFilesIncluded()){ entityIds.addAll(this.directFileIds); // file ids parentIds.addAll(this.fileParentIds); // dataset ids that are file parents fileParentIdsForFQ.addAll(this.fileParentIds); } - + // Remove duplicates by Creating a Set // Set distinctEntityIds = new HashSet<>(entityIds); @@ -281,11 +280,11 @@ public String getSolrDvObjectFilterQuery(){ this.addErrorMessage(DataRetrieverAPI.MSG_NO_RESULTS_FOUND); return null; } - + // See if we can trim down the list of distinctEntityIds // If we have the parent of a distinctEntityId in distinctParentIds, // then we query it via the parent - // + // List finalDirectEntityIds = new ArrayList<>(); for (Long idToCheck : distinctEntityIds){ if (this.childToParentIds.containsKey(idToCheck)){ // Do we have the parent in our map? @@ -296,13 +295,13 @@ public String getSolrDvObjectFilterQuery(){ if (this.directDataverseIds.contains(idToCheck)){ // Add all dataverse ids explicitly finalDirectEntityIds.add(idToCheck); - + } else if (!distinctParentIds.contains(this.childToParentIds.get(idToCheck))){ // Is the parent also in our list of Ids to query? // No, then let's check this id directly // finalDirectEntityIds.add(idToCheck); - } + } } } // Set the distinctEntityIds to the finalDirectEntityIds @@ -318,61 +317,61 @@ public String getSolrDvObjectFilterQuery(){ if (distinctEntityIds.size() > 0){ entityIdClause = sqf.buildIdQuery(distinctEntityIds, SearchFields.ENTITY_ID, null); } - + String parentIdClause = null; if (distinctParentIds.size() > 0){ - parentIdClause = sqf.buildIdQuery(distinctParentIds, SearchFields.PARENT_ID, "datasets OR files"); + parentIdClause = sqf.buildIdQuery(distinctParentIds, SearchFields.PARENT_ID, "datasets OR files"); } - + if ((entityIdClause != null) && (parentIdClause != null)){ return "(" + entityIdClause + " OR " + parentIdClause + ")"; - + } else if (entityIdClause != null){ // only entityIdClause return entityIdClause; - + } else if (parentIdClause != null){ // only parentIdClause return parentIdClause; } // Shouldn't get here... - return null; + return null; } - - - + + + public String getTestString(){ - + if (this.hasError()){ return this.getErrorMessage(); } - + List outputList = new ArrayList<>(); - + // ---------------------- // idsWithDatasetPermissions // ---------------------- List idList = new ArrayList<>(); outputList.add("

dataset ids: " + this.idsWithDatasetPermissions.size() + "

"); - for (Map.Entry pair : this.idsWithDatasetPermissions.entrySet()) { + for (Map.Entry pair : this.idsWithDatasetPermissions.entrySet()) { idList.add(pair.getKey().toString()); } - outputList.add("
" + StringUtils.join(idList, ", ") + "
"); + outputList.add("
" + StringUtils.join(idList, ", ") + "
"); // ---------------------- // datasetParentIds // ---------------------- List idList2 = new ArrayList<>(); outputList.add("

datasetParentIds ids: " + this.datasetParentIds.size() + "

"); - for (Long dpId : this.datasetParentIds) { + for (Long dpId : this.datasetParentIds) { idList2.add(dpId.toString()); } outputList.add("
" + StringUtils.join(idList2, ", ") + "
"); return StringUtils.join(outputList, "
"); } - + public String formatUserIdentifierAsAssigneeIdentifier(String userIdentifier){ if (userIdentifier == null){ @@ -383,44 +382,57 @@ public String formatUserIdentifierAsAssigneeIdentifier(String userIdentifier){ } return "@" + userIdentifier; } - - + + /** * "publication_statuses" : [ name 1, name 2, etc.] - * - * @return + * + * @return */ public JsonObjectBuilder getSelectedFilterParamsAsJSON(){ - + JsonObjectBuilder jsonData = Json.createObjectBuilder(); jsonData.add("publication_statuses", this.filterParams.getListofSelectedPublicationStatuses()) .add("role_names", this.getListofSelectedRoles()); - + return jsonData; } - - - + + + /** * "publication_statuses" : [ name 1, name 2, etc.] - * - * @return + * + * @return */ public JsonArrayBuilder getListofSelectedRoles(){ - + JsonArrayBuilder jsonArray = Json.createArrayBuilder(); - + for (Long roleId : this.filterParams.getRoleIds()){ - jsonArray.add(this.rolePermissionHelper.getRoleName(roleId)); + try { + DataverseLocaleBean d = new DataverseLocaleBean(); + ResourceBundle bundle; + Locale bundle_locale = new Locale(d.getLocaleCode()); + System.out.println("========role langugage====== " + bundle_locale.getLanguage()); + System.out.println("=========role." + this.rolePermissionHelper.getRoleName(roleId).toLowerCase().replace(" ", "") + ".name"); + String role = BundleUtil.getStringFromPropertyFile("role." + this.rolePermissionHelper.getRoleName(roleId).toLowerCase().replace(" ", "") + ".name", "BuiltInRoles"); + jsonArray.add(role); + } catch (Exception e) + { + jsonArray.add(this.rolePermissionHelper.getRoleName(roleId)); + } + } - return jsonArray; + return jsonArray; } - - + + + private boolean runStep1RoleAssignments(){ - + List results = this.roleAssigneeService.getAssigneeAndRoleIdListFor(filterParams); - + //logger.info("runStep1RoleAssignments results: " + results.toString()); if (results == null){ @@ -432,22 +444,22 @@ private boolean runStep1RoleAssignments(){ this.addErrorMessage("Sorry, you have no assigned roles."); }else{ if (roleNames.size()==1){ - this.addErrorMessage("Sorry, nothing was found for this role: " + StringUtils.join(roleNames, ", ")); + this.addErrorMessage("Sorry, nothing was found for this role: " + StringUtils.join(roleNames, ", ")); }else{ - this.addErrorMessage("Sorry, nothing was found for these roles: " + StringUtils.join(roleNames, ", ")); + this.addErrorMessage("Sorry, nothing was found for these roles: " + StringUtils.join(roleNames, ", ")); } } return false; } - - // Iterate through assigned objects, a single object may end up in + + // Iterate through assigned objects, a single object may end up in // multiple "buckets" for (Object[] ra : results) { Long dvId = (Long)ra[0]; Long roleId = (Long)ra[1]; - - - + + + //---------------------------------- // Is this is a harvested Dataverse? // If so, skip it. @@ -455,7 +467,7 @@ private boolean runStep1RoleAssignments(){ if ((this.isHarvestedDataExcluded())&&(this.isHarvesteDataverseId(dvId))){ continue; } - + //---------------------------------- // Put dvId in 1 or more buckets, depending pn if role // applies to a Dataverse, Dataset, and/or File @@ -470,29 +482,29 @@ private boolean runStep1RoleAssignments(){ this.idsWithFilePermissions.put(dvId, true); } directDvObjectIds.add(dvId); - } + } return true; } - + private boolean runStep2DirectAssignments(){ - + if (this.hasError()){ throw new IllegalStateException("Error encountered earlier. Before calling this method on a MyData object,first check 'hasError()'"); } //msgt("runStep2DirectAssignments"); - + List results = this.dvObjectServiceBean.getDvObjectInfoForMyData(directDvObjectIds); //List results = this.roleAssigneeService.getAssignmentsFor(this.userIdentifier); if (results.isEmpty()){ this.addErrorMessage("Sorry, you have no assigned Dataverses, Datasets, or Files."); return false; } - + Integer dvIdAsInteger; Long dvId; String dtype; Long parentId; - + // ----------------------------------------------- // Iterate through assigned objects // ----------------------------------------------- @@ -501,8 +513,8 @@ private boolean runStep2DirectAssignments(){ dvId = new Long(dvIdAsInteger); dtype = (String)ra[1]; parentId = (Long)ra[2]; - - + + // ----------------------------------------------- // If this object is harvested, then skip it... // ----------------------------------------------- @@ -511,9 +523,9 @@ private boolean runStep2DirectAssignments(){ continue; } } - + this.childToParentIds.put(dvId, parentId); - + switch(dtype){ case(DvObject.DATAVERSE_DTYPE_STRING): //if (this.idsWithDataversePermissions.containsKey(dvId)){ @@ -544,34 +556,34 @@ private boolean runStep2DirectAssignments(){ } break; } // end switch - } - + } + // Direct ids no longer needed // this.directDvObjectIds = null; - + return true; } - - + + private boolean runStep3FilePermsAssignedAtDataverse(){ if ((this.fileGrandparentFileIds == null)||(this.fileGrandparentFileIds.isEmpty())){ return true; } - + List results = this.dvObjectServiceBean.getDvObjectInfoByParentIdForMyData(this.fileGrandparentFileIds); /* SEK 07/09 Ticket 2329 Removed failure for empty results - if there are none let it go */ if (results.isEmpty()){ - return true; // RMP, shouldn't throw an error if no results + return true; // RMP, shouldn't throw an error if no results } - + Integer dvIdAsInteger; Long dvId; String dtype; Long parentId; - + // Iterate through object list // for (Object[] ra : results) { @@ -579,18 +591,18 @@ private boolean runStep3FilePermsAssignedAtDataverse(){ dvId = new Long(dvIdAsInteger); dtype = (String)ra[1]; parentId = (Long)ra[2]; - + this.childToParentIds.put(dvId, parentId); - + // Should ALWAYS be a Dataset! - if (dtype.equals(DvObject.DATASET_DTYPE_STRING)){ + if (dtype.equals(DvObject.DATASET_DTYPE_STRING)){ this.fileParentIds.add(dvId); } } - + return true; } - + public boolean hasError(){ return this.errorFound; } diff --git a/src/main/webapp/dataverseuser.xhtml b/src/main/webapp/dataverseuser.xhtml index 5319f48f11d..90fbabd87df 100644 --- a/src/main/webapp/dataverseuser.xhtml +++ b/src/main/webapp/dataverseuser.xhtml @@ -35,10 +35,6 @@ - - - -
diff --git a/src/main/webapp/mydata_fragment.xhtml b/src/main/webapp/mydata_fragment.xhtml index c91acd1f3af..23742b1f0bc 100644 --- a/src/main/webapp/mydata_fragment.xhtml +++ b/src/main/webapp/mydata_fragment.xhtml @@ -31,6 +31,19 @@
+
+ + + + + + + + + + + +
diff --git a/src/main/webapp/mydata_templates/cards_minimum.html b/src/main/webapp/mydata_templates/cards_minimum.html index 8c32be5b64b..1b0cbe0b648 100644 --- a/src/main/webapp/mydata_templates/cards_minimum.html +++ b/src/main/webapp/mydata_templates/cards_minimum.html @@ -26,11 +26,11 @@ {{ card_info.name }} {% endif %} - {#({{ loop.index }})#} {% if card_info.is_draft_state %}Draft {% endif %} - {% if card_info.is_in_review_state %}In Review {% endif %} - {% if card_info.is_unpublished_state %}Unpublished {% endif %} - {% if card_info.is_published %} Published {% endif %} - {% if card_info.is_deaccesioned %} Deaccessioned {% endif %} + {#({{ loop.index }})#} {% if card_info.is_draft_state %} {% endif %} + {% if card_info.is_in_review_state %} {% endif %} + {% if card_info.is_unpublished_state %} {% endif %} + {% if card_info.is_published %} {% endif %} + {% if card_info.is_deaccesioned %} {% endif %} {% for role_name in card_info.user_roles %} diff --git a/src/main/webapp/mydata_templates/result_message_only.html b/src/main/webapp/mydata_templates/result_message_only.html index db985116a9f..80ba003dca9 100644 --- a/src/main/webapp/mydata_templates/result_message_only.html +++ b/src/main/webapp/mydata_templates/result_message_only.html @@ -22,12 +22,12 @@ {% if pagination_data.endCardNumber > pagination_data.startCardNumber %} {# {{ pagination_data.startCardNumber }} to {{ pagination_data.endCardNumber }} of #} - 1 to {{ pagination_data.endCardNumber }} of + 1 {{ pagination_data.endCardNumber }} {% endif %} {% if pagination_data.numResults > 1 %} - {{ pagination_data.numResults }} Results + {{ pagination_data.numResults }} {% elif pagination_data.numResults == 1 %} - 1 Result + 1 {% endif %}
diff --git a/src/main/webapp/resources/js/mydata.js b/src/main/webapp/resources/js/mydata.js index 2ee5833b11a..cce3291898b 100644 --- a/src/main/webapp/resources/js/mydata.js +++ b/src/main/webapp/resources/js/mydata.js @@ -305,7 +305,22 @@ function updatePagination(json_data){ $("#div-pagination").html(result_msg_html); } - + + if (document.getElementById("result")) { + document.getElementById('result').innerHTML = document.getElementById('dataverseUserForm:dataRelatedToMeView:mydataresult').value; + } + if (document.getElementById("results")) { + document.getElementById('results').innerHTML = document.getElementById('dataverseUserForm:dataRelatedToMeView:mydataresults').value; + } + + if (document.getElementById("to")) { + document.getElementById('to').innerHTML = document.getElementById('dataverseUserForm:dataRelatedToMeView:mydatato').value; + } + if (document.getElementById("of")) { + document.getElementById('of').innerHTML = document.getElementById('dataverseUserForm:dataRelatedToMeView:mydataof').value; + } + + // -------------------------------- // If this isn't the last page, show // a "more results" link after the last card @@ -315,11 +330,11 @@ function updatePagination(json_data){ //console.log("update link to: " + pagination_json.nextPageNumber); $('#div-more-cards-link').show(); - var view_next = document.getElementById("dataverseUserForm:mydataviewnext").value; - var more = document.getElementById("dataverseUserForm:mydatamore").value; - var result_label = document.getElementById("dataverseUserForm:mydataresults").value; + var view_next = document.getElementById("dataverseUserForm:dataRelatedToMeView:mydataviewnext").value; + var more = document.getElementById("dataverseUserForm:dataRelatedToMeView:mydatamore").value; + var result_label = document.getElementById("dataverseUserForm:dataRelatedToMeView:mydataresults").value; if (pagination_json.numberNextResults == 1){ - result_label = document.getElementById("dataverseUserForm:mydataresult").value; + result_label = document.getElementById("dataverseUserForm:dataRelatedToMeView:mydataresult").value; } $('#lnk_add_more_cards').html(view_next + ' ' + pagination_json.numberNextResults + ' ' + result_label + ' (' + pagination_json.remainingCards + ' ' + more +')'); } @@ -441,7 +456,40 @@ function submit_my_data_search(){ check_card_images(); // bind_filter_remove_tags(); $('#ajaxStatusPanel_start').hide(); - + + + if (document.getElementsByName("draft")) { + var y = document.getElementsByName("draft"); + for (var i = 0; i < y.length; i++) { + y[i].innerHTML = document.getElementById( 'dataverseUserForm:dataRelatedToMeView:draft' ).value; + } + } + if (document.getElementsByName("inreview")) { + var y = document.getElementsByName("inreview"); + for (var i = 0; i < y.length; i++) { + y[i].innerHTML = document.getElementById( 'dataverseUserForm:dataRelatedToMeView:inreview' ).value; + } + } + if (document.getElementsByName("published")) { + var y = document.getElementsByName("published"); + for (var i = 0; i < y.length; i++) { + y[i].innerHTML = document.getElementById( 'dataverseUserForm:dataRelatedToMeView:published' ).value; + } + } + if (document.getElementsByName("unpublished")) { + var y = document.getElementsByName("unpublished"); + for (var i = 0; i < y.length; i++) { + y[i].innerHTML = document.getElementById( 'dataverseUserForm:dataRelatedToMeView:unpublished' ).value; + } + } + if (document.getElementsByName("deaccessioned")) { + var y = document.getElementsByName("deaccessioned"); + for (var i = 0; i < y.length; i++) { + y[i].innerHTML = document.getElementById( 'dataverseUserForm:dataRelatedToMeView:deaccessioned' ).value; + } + } + + // -------------------------------- // (6) Update address bar // --------------------------------