NIHVIVO-700 Made degree field optional in ed background form. Also added validation for year datatype to year field.

This commit is contained in:
rjy7 2010-07-06 16:22:26 +00:00
parent a7c0fbcfca
commit a003bbf80f
2 changed files with 40 additions and 33 deletions

View file

@ -207,11 +207,11 @@ the org type still gets asserted. --%>
"predicate" : ["predicate", "${predicateUriJson}" ],
"object" : ["edTrainingUri", "${objectUriJson}", "URI" ],
"n3required" : [ "${n3ForStmtToPerson}", "${degreeAssertion}", "${majorFieldAssertion}" ],
"n3required" : [ "${n3ForStmtToPerson}", "${majorFieldAssertion}" ],
"n3optional" : [ "${organizationUriAssertion}",
"${n3ForNewOrg}", "${newOrgNameAssertion}", "${newOrgTypeAssertion}",
"${deptAssertion}", "${infoAssertion}", "${yearAssertion}" ],
"n3optional" : [ "${organizationUriAssertion}", "${n3ForNewOrg}",
"${newOrgNameAssertion}", "${newOrgTypeAssertion}",
"${degreeAssertion}", "${deptAssertion}", "${infoAssertion}", "${yearAssertion}" ],
"newResources" : { "edTrainingUri" : "${defaultNamespace}",
"newOrg" : "${defaultNamespace}" },
@ -236,7 +236,7 @@ the org type still gets asserted. --%>
"fields" : {
"degreeUri" : {
"newResource" : "false",
"validators" : [ "nonempty" ],
"validators" : [ ],
"optionsType" : "INDIVIDUALS_VIA_VCLASS",
"literalOptions" : [ "Select one" ],
"predicateUri" : "",
@ -258,7 +258,7 @@ the org type still gets asserted. --%>
},
"year" : {
"newResource" : "false",
"validators" : [ ],
"validators" : [ "datatype:${gYearDatatypeUriJson}" ],
"optionsType" : "UNDEFINED",
"literalOptions" : [ ],
"predicateUri" : "",
@ -387,7 +387,7 @@ the org type still gets asserted. --%>
<form class="${editType}" action="<c:url value="/edit/processRdfForm2.jsp"/>" >
<div class="entry">
<v:input type="select" label="Degree ${requiredHint}" labelClass="required" id="degreeUri" />
<v:input type="select" label="Degree" id="degreeUri" />
<v:input type="text" label="Major Field of Degree ${requiredHint}" id="majorField" size="30" />
<p class="inline year"><v:input type="text" label="Year <span class='hint'>(YYYY)</span>" id="year" size="4" /></p>
</div>

View file

@ -1,8 +1,9 @@
<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%>
<%@ page import="edu.cornell.mannlib.vitro.webapp.utils.StringUtils" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag" prefix="p" %>
<%--
This is a custom short view render for educational background.
@ -17,17 +18,29 @@
<c:when test="${predicateUri == 'http://vivoweb.org/ontology/core#educationalBackground'}">
<%-- Degree type and major --%>
<c:set var="degreeStr" value="" />
<c:set var="degreeLabel" value="" />
<c:set var="degreeType" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#degreeEarned'].objectPropertyStatements[0].object}"/>
<c:if test="${ !empty degreeType }">
<c:set var="degreeAbbr" value="${degreeType.dataPropertyMap['http://vivoweb.org/ontology/core#abbreviation'].dataPropertyStatements[0].data}"/>
<c:set var="degreeStr" value="${!empty degreeAbbr ? degreeAbbr : degreeType.name }" />
<c:set var="degreeLabel" value="${!empty degreeAbbr ? degreeAbbr : degreeType.name }" />
</c:if>
<c:set var="degreeMajor" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#majorField'].dataPropertyStatements[0].data}"/>
<c:if test="${ ! empty degreeMajor }">
<c:set var="degreeStr" value="${degreeStr} in ${degreeMajor}" />
</c:if>
<c:if test="${ ! empty degreeStr }">
<c:set var="degreeStr"><p:process>${degreeStr}</p:process></c:set>
</c:if>
<c:choose>
<c:when test="${ !empty degreeLabel && !empty degreeMajor }">
<c:set var="degreeStr" value="${degreeLabel} in ${degreeMajor}" />
</c:when>
<c:when test="${ !empty degreeLabel}">
<c:set var="degreeStr" value="${degreeLabel}" />
</c:when>
<c:when test="${ !empty degreeMajor }">
<c:set var="degreeStr" value="${degreeMajor}" />
</c:when>
<c:otherwise>
<c:set var="degreeStr" value="" />
</c:otherwise>
</c:choose>
<%-- Organization granting degree --%>
<c:set var="selectedOrganization" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#organizationGrantingDegree'].objectPropertyStatements[0].object}"/>
@ -45,15 +58,9 @@
<%-- Year of degree --%>
<c:set var="year" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#year'].dataPropertyStatements[0].data}"/>
<c:if test="${ ! empty year }">
<c:set var="year"><p:process>${year}</p:process></c:set>
</c:if>
<%-- Supplemental information --%>
<c:set var="degreeSupplementalInfo" value="${individual.dataPropertyMap['http://vivoweb.org/ontology/core#supplementalInformation'].dataPropertyStatements[0].data}"/>
<c:if test="${ ! empty degreeSupplementalInfo }">
<c:set var="degreeSupplementalInfo"><p:process>${degreeSupplementalInfo}</p:process></c:set>
</c:if>
<%-- Build the output string --%>
<c:choose>
@ -81,25 +88,25 @@
<c:set var="person" value="${individual.objectPropertyMap['http://vivoweb.org/ontology/core#educationalBackgroundOf'].objectPropertyStatements[0].object}"/>
<c:set var="personName" value="${person.name}"/>
<c:url var="personURL" value="/individual"><c:param name="uri" value="${person.URI}"/></c:url>
<c:set var="personLink" ><a href='${personURL}'><p:process>${personName}</p:process></a></c:set>
<c:set var="personLink" ><a href='${personURL}'>${personName}</a></c:set>
<c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url>
<c:choose>
<c:when test="${! empty personName && ! empty year && ! empty degreeMajor && ! empty selectedOrganizationName }">
${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}, ${year}</p:process>
${personLink} in ${degreeMajor}, ${selectedOrganizationName}, ${year}
</c:when>
<c:when test="${! empty personName && empty year && ! empty degreeMajor && ! empty selectedOrganizationName }">
${personLink} <p:process> in ${degreeMajor}, ${selectedOrganizationName}</p:process>
${personLink} in ${degreeMajor}, ${selectedOrganizationName}
</c:when>
<c:when test="${! empty personName && empty year && ! empty degreeMajor && empty selectedOrganizationName }">
${personLink} <p:process> in ${degreeMajor}</p:process>
${personLink} in ${degreeMajor}
</c:when>
<c:when test="${! empty personName && ! empty year && empty degreeMajor && ! empty selectedOrganizationName }">
${personLink} <p:process> ${selectedOrganizationName}, ${year}</p:process>
${personLink} ${selectedOrganizationName}, ${year}
</c:when>
<c:otherwise>
<a href="${objLink}"><p:process>educational background ${individual.name}</p:process></a>
<a href="${objLink}">educational background ${individual.name}</a>
</c:otherwise>
</c:choose>
</c:when>
@ -107,7 +114,7 @@
<%-- The predicate was not one of the predicted ones, so create a normal link --%>
<c:otherwise>
<c:url var="objLink" value="/individual"><c:param name="uri" value="${individual.URI}"/></c:url>
<a href="${objLink}"><p:process>${individual.name}</p:process></a>
<a href="${objLink}">${individual.name}</a>
</c:otherwise>
</c:choose>