From 9243ee7c60bb4c8fb7dbef6b57a9720ba6aebb87 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Tue, 25 Jan 2011 22:41:20 +0000 Subject: [PATCH] NIHVIVO-1871 Added repair mode to grant and educational training custom forms. --- .../edit/forms/addGrantRoleToPerson.jsp | 53 ++++++++++--- .../edit/forms/addRoleToPersonTwoStage.jsp | 13 ++-- .../forms/personHasEducationalTraining.jsp | 74 +++++++++++++------ .../edit/forms/personHasPositionHistory.jsp | 7 +- 4 files changed, 105 insertions(+), 42 deletions(-) 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" %>