diff --git a/webapp/web/templates/freemarker/edit/forms/js/customFormWithAutocomplete.js b/webapp/web/templates/freemarker/edit/forms/js/customFormWithAutocomplete.js
index d02e8e8d0..a25899d85 100644
--- a/webapp/web/templates/freemarker/edit/forms/js/customFormWithAutocomplete.js
+++ b/webapp/web/templates/freemarker/edit/forms/js/customFormWithAutocomplete.js
@@ -144,7 +144,7 @@ var customForm = {
// Put this case first, because in edit mode with
// validation errors we just want initFormFullView.
// if ((!this.supportEdit) && (this.editMode == 'edit' || this.editMode == 'repair')) {
- if (this.editMode == 'edit' || this.editMode == 'repair') {
+ if (this.editMode == 'edit' || this.editMode == 'repair' || this.editMode == 'error') {
this.initFormWithValidationErrors();
}
else if (this.findValidationErrors()) {
diff --git a/webapp/web/templates/freemarker/lib/lib-properties.ftl b/webapp/web/templates/freemarker/lib/lib-properties.ftl
index bdfc721d5..8c73e8445 100644
--- a/webapp/web/templates/freemarker/lib/lib-properties.ftl
+++ b/webapp/web/templates/freemarker/lib/lib-properties.ftl
@@ -108,13 +108,13 @@ name will be used as the label. -->
<#if editable>
<#local url = property.addUrl>
<#if url?has_content>
- <@showAddLink property.localName label url />
+ <@showAddLink property.localName property.name label url />
#if>
#if>
#macro>
-<#macro showAddLink propertyLocalName label url>
- <#if propertyLocalName == "informationResourceInAuthorship" || propertyLocalName == "webpage" || propertyLocalName == "hasResearchArea">
+<#macro showAddLink propertyLocalName propertyName label url>
+ <#if propertyName == "informationResourceInAuthorship" || propertyName == "webpage" || propertyLocalName == "hasResearchArea">
<#else>
@@ -131,30 +131,42 @@ name will be used as the label. -->
<#macro propertyListItem property statement editable >
<#nested>
- <@editingLinks "${property.localName}" statement editable/>
+ <@editingLinks "${property.localName}" "${property.name}" statement editable/>
#macro>
-<#macro editingLinks propertyLocalName statement editable>
- <#if editable && (propertyLocalName != "informationResourceInAuthorship" && propertyLocalName != "webpage" && propertyLocalName != "hasResearchArea")>
- <@editLink propertyLocalName statement />
- <@deleteLink propertyLocalName statement />
+<#macro editingLinks propertyLocalName propertyName statement editable>
+ <#if editable && (propertyName != "authors" && propertyName != "webpage" && propertyLocalName != "hasResearchArea")>
+ <@editLink propertyLocalName propertyName statement />
+ <@deleteLink propertyLocalName propertyName statement />
#if>
#macro>
-
-<#macro editLink propertyLocalName statement>
+<#macro editLink propertyLocalName propertyName statement>
+<#if propertyLocalName?contains("ARG_2000028")>
+ <#if propertyName?contains("mailing address")>
+ <#local url = statement.editUrl + "&addressUri=" + "${statement.address!}">
+ <#elseif propertyName?contains("phone")>
+ <#local url = statement.editUrl + "&phoneUri=" + "${statement.phone!}">
+ <#elseif propertyName?contains("primary email") || propertyName?contains("additional emails")>
+ <#local url = statement.editUrl + "&emailUri=" + "${statement.email!}">
+ <#elseif propertyName?contains("full name")>
+ <#local url = statement.editUrl + "&fullNameUri=" + "${statement.fullName!}">
+ #if>
+<#else>
<#local url = statement.editUrl>
+#if>
<#if url?has_content>
<@showEditLink propertyLocalName url />
#if>
+
#macro>
<#macro showEditLink propertyLocalName url>
#macro>
-<#macro deleteLink propertyLocalName statement>
+<#macro deleteLink propertyLocalName propertyName statement>
<#local url = statement.deleteUrl>
<#if url?has_content>
<@showDeleteLink propertyLocalName url />
@@ -197,7 +209,7 @@ name will be used as the label. -->
- <@editingLinks "${mainImage.localName}" mainImage.first() editable />
+ <@editingLinks "${mainImage.localName}" "" mainImage.first() editable />
<#else>
<#local imageLabel><@addLinkWithLabel mainImage editable "${i18n().photo}" />#local>
${imageLabel}
@@ -218,7 +230,7 @@ name will be used as the label. -->
<#local label = individual.nameStatement>
${label.value}
<#if useEditLink>
- <@editingLinks "label" label editable />
+ <@editingLinks "label" "" label editable />
<#elseif editable || (labelCount > 1)>
<#--We display the link even when the user is not logged in case of multiple labels-->
<#if editable>