diff --git a/productMods/edit/forms/addGrantRoleToPerson.jsp b/productMods/edit/forms/addGrantRoleToPerson.jsp
index 80bab24d..6e2a6fbf 100644
--- a/productMods/edit/forms/addGrantRoleToPerson.jsp
+++ b/productMods/edit/forms/addGrantRoleToPerson.jsp
@@ -26,6 +26,8 @@ This is intended to create a set of statements like:
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.JavaScript" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Css" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartYearBeforeEndYear"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %>
@@ -50,6 +52,31 @@ This is intended to create a set of statements like:
}else{
%> <%
}
+
+ /*
+ There are 4 modes that this form can be in:
+ 1. Add, there is a subject and a predicate but no role and nothing else.
+
+ 2. normal edit where everything should already be filled out. There is a subject, a object and an individual on
+ the other end of the object's core:roleIn stmt.
+
+ 3. Repair a bad role node. There is a subject, prediate and object but there is no individual on the
+ other end of the object's core:roleIn stmt. This should be similar to an add but the form should be expanded.
+
+ 4. Really bad node. multiple roleIn statements.
+ */
+
+ EditMode mode = FrontEndEditingUtils.getEditMode(request, "http://vivoweb.org/ontology/core#roleIn");
+
+ if( mode == EditMode.ADD ) {
+ %> <%
+ } else if(mode == EditMode.EDIT){
+ %> <%
+ } else if(mode == EditMode.REPAIR){
+ %> <%
+ }
+ %>
+
%>
<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%>
@@ -73,20 +100,19 @@ if ( ((String)request.getAttribute("predicateUri")).endsWith("hasPrincipalInvest
Investigator
investigator entry for <%= subjectName %>
<% } %>
-
+
+<%-- Configure add vs. edit --%>
- ">
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+ ${editMode == "repair" ? "" : "" }
@@ -279,6 +305,11 @@ PREFIX core: <${vivoCore}>
+<% if( mode == EditMode.ERROR ){ %>
+
This form is unable to handle the editing of this position because it is associated with
+ multiple Position individuals.
+<% }else{ %>
+
${formHeading}
<%@ include file="unsupportedBrowserMessage.jsp" %>
@@ -330,4 +361,6 @@ var customFormData = {
};
+<% } %>
+
\ No newline at end of file
diff --git a/productMods/edit/forms/addRoleToPersonTwoStage.jsp b/productMods/edit/forms/addRoleToPersonTwoStage.jsp
index a08b12e9..30b4e142 100644
--- a/productMods/edit/forms/addRoleToPersonTwoStage.jsp
+++ b/productMods/edit/forms/addRoleToPersonTwoStage.jsp
@@ -40,8 +40,8 @@
<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.TitleCase" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartYearBeforeEndYear"%>
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
<%@ page import="org.apache.commons.logging.Log" %>
<%@ page import="org.apache.commons.logging.LogFactory" %>
@@ -49,11 +49,10 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %>
-<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.Field"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartDateBeforeEndDate"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.DateTimeIntervalValidation"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.Field"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.StartDateBeforeEndDate"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.DateTimeIntervalValidation"%>
<%!
public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.addRoleToPersonTwoStage.jsp");
diff --git a/productMods/edit/forms/personHasEducationalTraining.jsp b/productMods/edit/forms/personHasEducationalTraining.jsp
index 33aa576c..12c9ca0e 100644
--- a/productMods/edit/forms/personHasEducationalTraining.jsp
+++ b/productMods/edit/forms/personHasEducationalTraining.jsp
@@ -52,8 +52,10 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
<%@ page import="org.apache.commons.logging.LogFactory" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.JavaScript" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Css" %>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.Field"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.Field"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %>
@@ -68,6 +70,29 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
request.setAttribute("stringDatatypeUriJson", MiscWebUtils.escape(XSD.xstring.toString()));
request.setAttribute("gYearDatatypeUriJson", MiscWebUtils.escape(XSD.gYear.toString()));
+
+ /*
+ There are 4 modes that this form can be in:
+ 1. Add, there is a subject and a predicate but no position and nothing else.
+
+ 2. normal edit where everything should already be filled out. There is a subject, a object and an individual on
+ the other end of the object's core:trainingAtOrganization stmt.
+
+ 3. Repair a bad role node. There is a subject, prediate and object but there is no individual on the
+ other end of the object's core:trainingAtOrganization stmt. This should be similar to an add but the form should be expanded.
+
+ 4. Really bad node. multiple core:trainingAtOrganization statements.
+ */
+
+ EditMode mode = FrontEndEditingUtils.getEditMode(request, "http://vivoweb.org/ontology/core#trainingAtOrganization");
+
+ if( mode == EditMode.ADD ) {
+ %> <%
+ } else if(mode == EditMode.EDIT){
+ %> <%
+ } else if(mode == EditMode.REPAIR){
+ %> <%
+ }
%>
@@ -435,25 +460,6 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
editConfig.setSubmitToUrl("/edit/processRdfForm2.jsp");
String subjectName = ((Individual) request.getAttribute("subject")).getName();
-%>
-
-
-<%
- if (objectUri != null) { // editing existing entry
-%>
-
-
-
-
-
-<%
- } else { // adding new entry
-%>
-
-
-
-
-<% }
List customJs = new ArrayList(Arrays.asList(JavaScript.JQUERY_UI.path(),
JavaScript.CUSTOM_FORM_UTILS.path(),
@@ -468,6 +474,25 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
request.setAttribute("customCss", customCss);
%>
+
+
+<%-- Configure add vs. edit --%>
+
+
+
+
+
+
+
+
+
+
+
+
+ ${editMode == "repair" ? "" : "" }
+
+
+
<%--
This goes to an experimental FM based form:
@@ -478,6 +503,11 @@ This goes to an experimental FM based form:
+<% if( mode == EditMode.ERROR ){ %>
+ This form is unable to handle the editing of this position because it is associated with
+ multiple Position individuals.
+<% }else{ %>
+
${titleVerb} education and training entry for <%= subjectName %>
" >
@@ -525,4 +555,6 @@ var customFormData = {
};
+<% } %>
+
diff --git a/productMods/edit/forms/personHasPositionHistory.jsp b/productMods/edit/forms/personHasPositionHistory.jsp
index 921f5f47..95bfcd6f 100644
--- a/productMods/edit/forms/personHasPositionHistory.jsp
+++ b/productMods/edit/forms/personHasPositionHistory.jsp
@@ -19,13 +19,12 @@
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Css" %>
<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.elements.DateTimeWithPrecision"%>
<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.Field"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
-<%@page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode"%>
<%@ page import="org.apache.commons.logging.Log" %>
<%@ page import="org.apache.commons.logging.LogFactory" %>
-<%@page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.DateTimeIntervalValidation"%>
+<%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.DateTimeIntervalValidation"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="v" uri="http://vitro.mannlib.cornell.edu/vitro/tags" %>