NIHVIVO-1871 Added repair mode to grant and educational training custom forms.

This commit is contained in:
rjy7 2011-01-25 22:41:20 +00:00
parent c80ba7eaf3
commit 9243ee7c60
4 changed files with 105 additions and 42 deletions

View file

@ -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{
%> <c:set var="inversePredicate"></c:set> <%
}
/*
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 ) {
%> <c:set var="editMode" value="add"/><%
} else if(mode == EditMode.EDIT){
%> <c:set var="editMode" value="edit"/><%
} else if(mode == EditMode.REPAIR){
%> <c:set var="editMode" value="repair"/><%
}
%>
%>
<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%><c:set var="vivoOnt" value="http://vivoweb.org/ontology" />
@ -74,19 +101,18 @@ if ( ((String)request.getAttribute("predicateUri")).endsWith("hasPrincipalInvest
<c:set var="formHeading">investigator entry for <%= subjectName %></c:set>
<% } %>
<%-- Configure add vs. edit --%>
<c:choose>
<c:when test="<%= request.getAttribute(\"objectUri\")!=null %>">
<c:set var="formHeading" value="Edit ${formHeading}" />
<c:set var="editMode" value="edit" />
<c:set var="submitButtonLabel" value="Edit ${submitButtonLabel}" />
<c:set var="labelRequired" value="" />
<c:set var="disabledVal" value="disabled" />
</c:when>
<c:otherwise>
<c:when test='${editMode == "add"}'>
<c:set var="formHeading" value="Create ${formHeading}" />
<c:set var="editMode" value="add" />
<c:set var="labelRequired" value="\"nonempty\"," />
<c:set var="disabledVal" value="" />
</c:when>
<c:otherwise>
<c:set var="formHeading" value="Edit ${formHeading}" />
<c:set var="submitButtonLabel" value="Edit ${submitButtonLabel}" />
<c:set var="labelRequired" value="" />
<c:set var="disabledVal">${editMode == "repair" ? "" : "" }</c:set>
</c:otherwise>
</c:choose>
@ -279,6 +305,11 @@ PREFIX core: <${vivoCore}>
<jsp:include page="${preForm}" />
<% if( mode == EditMode.ERROR ){ %>
<div>This form is unable to handle the editing of this position because it is associated with
multiple Position individuals.</div>
<% }else{ %>
<h2>${formHeading}</h2>
<%@ include file="unsupportedBrowserMessage.jsp" %>
@ -330,4 +361,6 @@ var customFormData = {
};
</script>
<% } %>
<jsp:include page="${postForm}"/>

View file

@ -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"%><c:set var="vivoOnt" value="http://vivoweb.org/ontology" />
<%@ 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"%><c:set var="vivoOnt" value="http://vivoweb.org/ontology" />
<%!
public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.addRoleToPersonTwoStage.jsp");

View file

@ -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 ) {
%> <c:set var="editMode" value="add"/><%
} else if(mode == EditMode.EDIT){
%> <c:set var="editMode" value="edit"/><%
} else if(mode == EditMode.REPAIR){
%> <c:set var="editMode" value="repair"/><%
}
%>
<c:set var="vivoCore" value="http://vivoweb.org/ontology/core#" />
@ -435,25 +460,6 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
editConfig.setSubmitToUrl("/edit/processRdfForm2.jsp");
String subjectName = ((Individual) request.getAttribute("subject")).getName();
%>
<c:set var="subjectName" value="<%= subjectName %>" />
<%
if (objectUri != null) { // editing existing entry
%>
<c:set var="editMode" value="edit" />
<c:set var="titleVerb" value="Edit" />
<c:set var="title" value="Edit educational background entry for ${subjectName}" />
<c:set var="submitButtonText" value="Edit Education and Training" />
<c:set var="disabledVal" value="disabled" />
<%
} else { // adding new entry
%>
<c:set var="editMode" value="add" />
<c:set var="titleVerb" value="Create" />
<c:set var="submitButtonText" value="Education and Training" />
<c:set var="disabledVal" value="" />
<% }
List<String> customJs = new ArrayList<String>(Arrays.asList(JavaScript.JQUERY_UI.path(),
JavaScript.CUSTOM_FORM_UTILS.path(),
@ -468,6 +474,25 @@ core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
request.setAttribute("customCss", customCss);
%>
<c:set var="subjectName" value="<%= subjectName %>" />
<%-- Configure add vs. edit --%>
<c:choose>
<c:when test='${editMode == "add"}'>
<c:set var="editMode" value="add" />
<c:set var="titleVerb" value="Create" />
<c:set var="submitButtonText" value="Education and Training" />
<c:set var="disabledVal" value="" />
</c:when>
<c:otherwise>
<c:set var="editMode" value="edit" />
<c:set var="titleVerb" value="Edit" />
<c:set var="title" value="Edit educational background entry for ${subjectName}" />
<c:set var="submitButtonText" value="Edit Education and Training" />
<c:set var="disabledVal">${editMode == "repair" ? "" : "" }</c:set>
</c:otherwise>
</c:choose>
<%--
This goes to an experimental FM based form:
<jsp:forward page="/N3EditForm"/>
@ -478,6 +503,11 @@ This goes to an experimental FM based form:
<jsp:include page="${preForm}" />
<% if( mode == EditMode.ERROR ){ %>
<div>This form is unable to handle the editing of this position because it is associated with
multiple Position individuals.</div>
<% }else{ %>
<h2>${titleVerb} education and training entry for <%= subjectName %></h2>
<form class="customForm" action="<c:url value="/edit/processRdfForm2.jsp"/>" >
@ -525,4 +555,6 @@ var customFormData = {
};
</script>
<% } %>
<jsp:include page="${postForm}"/>

View file

@ -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" %>