Merge to trunk: Adding custom form that redirects to publication instead of editing. NIHVIVO-912
This commit is contained in:
parent
44a2e55da2
commit
012be3fdab
1 changed files with 70 additions and 0 deletions
70
productMods/edit/forms/redirectToPublication.jsp
Normal file
70
productMods/edit/forms/redirectToPublication.jsp
Normal file
|
@ -0,0 +1,70 @@
|
|||
<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%>
|
||||
|
||||
<%--
|
||||
This form will not allow an edit but will redirect to the publication.
|
||||
This can be used to skip over an authorship context node.
|
||||
|
||||
What does this do on an add?
|
||||
It shouldn't encounter an add, it will redirect to the subject. Hide the add with in a policy.
|
||||
|
||||
What about the delete link?
|
||||
The delete link will not go to this form. You should hide the delete link with the policy.
|
||||
--%>
|
||||
<%@ page import="java.util.List" %>
|
||||
<%@ page import="java.util.ArrayList" %>
|
||||
<%@ page import="java.util.Arrays" %>
|
||||
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %>
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement" %>
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %>
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %>
|
||||
<%@ page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils" %>
|
||||
|
||||
<%@ page import="org.apache.commons.logging.Log" %>
|
||||
<%@ page import="org.apache.commons.logging.LogFactory" %>
|
||||
|
||||
<%!
|
||||
public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.edit.forms.redirectToObject.jsp");
|
||||
public static String nodeToPubProp = "http://vivoweb.org/ontology/core#linkedInformationResource";
|
||||
%>
|
||||
<%
|
||||
VitroRequest vreq = new VitroRequest(request);
|
||||
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
|
||||
|
||||
Individual subject = (Individual) request.getAttribute("subject");
|
||||
Individual obj = (Individual) request.getAttribute("object");
|
||||
|
||||
if( obj == null ){
|
||||
log.warn("this custom form is intended to redirect to the object but none was found.");
|
||||
%>
|
||||
<jsp:forward page="/individual">
|
||||
<jsp:param value="${subjectUri}" name="uri"/>
|
||||
</jsp:forward>
|
||||
<%
|
||||
}else{
|
||||
List<ObjectPropertyStatement> stmts = obj.getObjectPropertyStatements( nodeToPubProp );
|
||||
if( stmts == null || stmts.size() == 0 ){
|
||||
%>
|
||||
<jsp:forward page="/individual">
|
||||
<jsp:param value="${subjectUri}" name="uri"/>
|
||||
</jsp:forward>
|
||||
<%
|
||||
} else {
|
||||
ObjectPropertyStatement ops = stmts.get(0);
|
||||
String pubUri = ops.getObjectURI();
|
||||
if( pubUri != null ){
|
||||
%>
|
||||
<jsp:forward page="/individual">
|
||||
<jsp:param value="<%= pubUri %>" name="uri"/>
|
||||
</jsp:forward>
|
||||
<%
|
||||
} else{
|
||||
%>
|
||||
<jsp:forward page="/individual">
|
||||
<jsp:param value="${subjectUri}" name="uri"/>
|
||||
</jsp:forward>
|
||||
<% }
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
Loading…
Add table
Reference in a new issue