NIHVIVO-700 Made degree field optional in ed background form. Also added validation for year datatype to year field.
This commit is contained in:
parent
a7c0fbcfca
commit
a003bbf80f
2 changed files with 40 additions and 33 deletions
|
@ -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>
|
||||
|
|
|
@ -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: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:if test="${ !empty degreeType }">
|
||||
<c:set var="degreeAbbr" value="${degreeType.dataPropertyMap['http://vivoweb.org/ontology/core#abbreviation'].dataPropertyStatements[0].data}"/>
|
||||
<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>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue