public ModelAndView save( @ModelAttribute("KualiForm") DocumentFormBase form, BindingResult result, HttpServletRequest request, HttpServletResponse response, Class<? extends DocumentEventBase> eventClazz) throws Exception { ProposalDevelopmentDocumentForm pdForm = (ProposalDevelopmentDocumentForm) form; ProposalDevelopmentDocument proposalDevelopmentDocument = (ProposalDevelopmentDocument) pdForm.getDocument(); proposalDevelopmentService.initializeUnitOrganizationLocation(proposalDevelopmentDocument); proposalDevelopmentService.initializeProposalSiteNumbers(proposalDevelopmentDocument); saveAnswerHeaders(pdForm, request.getParameter(UifParameters.PAGE_ID)); if (eventClazz == null) { getTransactionalDocumentControllerService().save(form); } else { performCustomSave(proposalDevelopmentDocument, SaveDocumentSpecialReviewEvent.class); } populateAdHocRecipients(pdForm.getProposalDevelopmentDocument()); String pageId = form.getActionParamaterValue(UifParameters.NAVIGATE_TO_PAGE_ID); final ModelAndView view; if (StringUtils.isNotBlank(pageId) && getGlobalVariableService().getMessageMap().hasNoErrors()) { form.setDirtyForm(false); view = getModelAndViewService().getModelAndView(form, pageId); } else { view = getModelAndViewService().getModelAndView(form); } if (pdForm.getProposalDevelopmentDocument().getDevelopmentProposal() != null && pdForm.getProposalDevelopmentDocument().getDevelopmentProposal().getPropSpecialReviews() != null) { pdForm .getProposalDevelopmentDocument() .getDevelopmentProposal() .getPropSpecialReviews() .stream() .filter(specialReview -> !specialReview.isLinkedToProtocol()) .forEach( specialReview -> pdForm.getSpecialReviewHelper().prepareProtocolLinkViewFields(specialReview)); } getProjectPublisher() .publishProject( getPropDevProjectRetrievalService() .retrieveProject( pdForm .getProposalDevelopmentDocument() .getDevelopmentProposal() .getProposalNumber())); return view; }
public ModelAndView save(ProposalDevelopmentDocumentForm form) throws Exception { ProposalDevelopmentDocument proposalDevelopmentDocument = (ProposalDevelopmentDocument) form.getDocument(); if (StringUtils.equalsIgnoreCase(form.getPageId(), Constants.PROP_DEV_PERMISSIONS_PAGE)) { saveDocumentPermissions(form); } if (StringUtils.equalsIgnoreCase( form.getPageId(), ProposalDevelopmentDataValidationConstants.ATTACHMENT_PAGE_ID)) { ((ProposalDevelopmentViewHelperServiceImpl) form.getViewHelperService()) .populateAttachmentReferences(form.getDevelopmentProposal()); } if (getGlobalVariableService().getMessageMap().getErrorCount() == 0 && form.getEditableCollectionLines() != null) { form.getEditableCollectionLines().clear(); } if (StringUtils.equalsIgnoreCase( form.getPageId(), ProposalDevelopmentDataValidationConstants.DETAILS_PAGE_ID)) { handleSponsorChange(proposalDevelopmentDocument); } preSave(proposalDevelopmentDocument); proposalDevelopmentService.initializeUnitOrganizationLocation(proposalDevelopmentDocument); proposalDevelopmentService.initializeProposalSiteNumbers(proposalDevelopmentDocument); for (ProposalPersonBiography biography : form.getDevelopmentProposal().getPropPersonBios()) { getProposalPersonBiographyService() .prepareProposalPersonBiographyForSave(form.getDevelopmentProposal(), biography); } ((ProposalDevelopmentViewHelperServiceImpl) form.getViewHelperService()) .setOrdinalPosition(form.getDevelopmentProposal().getProposalPersons()); saveAnswerHeaders(form, form.getPageId()); getTransactionalDocumentControllerService().save(form); if (form.isAuditActivated()) { getAuditHelper().auditConditionally(form); } populateAdHocRecipients(form.getProposalDevelopmentDocument()); if (StringUtils.equalsIgnoreCase(form.getPageId(), Constants.CREDIT_ALLOCATION_PAGE)) { ((ProposalDevelopmentViewHelperServiceImpl) form.getViewHelperService()) .populateCreditSplits(form); } if (StringUtils.equalsIgnoreCase(form.getPageId(), Constants.QUESTIONS_PAGE)) { ((ProposalDevelopmentViewHelperServiceImpl) form.getViewHelperService()) .populateQuestionnaires(form); } String pageId = form.getActionParamaterValue(UifParameters.NAVIGATE_TO_PAGE_ID); final ModelAndView view; if (StringUtils.isNotBlank(pageId) && getGlobalVariableService().getMessageMap().hasNoErrors()) { form.setDirtyForm(false); view = getModelAndViewService().getModelAndView(form, pageId); } else { view = getModelAndViewService().getModelAndView(form); } if (form.getProposalDevelopmentDocument().getDevelopmentProposal() != null && form.getProposalDevelopmentDocument().getDevelopmentProposal().getPropSpecialReviews() != null) { form.getProposalDevelopmentDocument() .getDevelopmentProposal() .getPropSpecialReviews() .stream() .filter(specialReview -> !specialReview.isLinkedToProtocol()) .forEach( specialReview -> form.getSpecialReviewHelper().prepareProtocolLinkViewFields(specialReview)); } getProjectPublisher() .publishProject( getPropDevProjectRetrievalService() .retrieveProject( form.getProposalDevelopmentDocument() .getDevelopmentProposal() .getProposalNumber())); return view; }