/** * Overridden to guarantee that form of copied document is set to whatever the entry mode of the * document is * * @see org.kuali.rice.kns.web.struts.action.KualiTransactionalDocumentActionBase#copy * (org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, * javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public ActionForward copy( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; String docID = "docId"; if (request.getParameter(docID) == null) { forward = super.copy(mapping, form, request, response); } else { // this is copy document from Procurement Gateway: // use this url to call: // http://localhost:8080/kfs-dev/purapRequisition.do?methodToCall=copy&docId=xxxx String docId = request.getParameter(docID); KualiDocumentFormBase kualiDocumentFormBase = (KualiDocumentFormBase) form; CuRequisitionDocument document = null; document = (CuRequisitionDocument) getDocumentService().getByDocumentHeaderId(docId); document.toCopyFromGateway(); kualiDocumentFormBase.setDocument(document); WorkflowDocument workflowDocument = document.getDocumentHeader().getWorkflowDocument(); kualiDocumentFormBase.setDocTypeName(workflowDocument.getDocumentTypeName()); SpringContext.getBean(SessionDocumentService.class) .addDocumentToUserSession(GlobalVariables.getUserSession(), workflowDocument); forward = mapping.findForward(RiceConstants.MAPPING_BASIC); } return forward; }