/** * @see * org.kuali.core.web.struts.action.KualiDocumentActionBase#docHandler(org.apache.struts.action.ActionMapping, * org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ @Override public ActionForward docHandler( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = super.docHandler(mapping, form, request, response); BudgetForm budgetForm = (BudgetForm) form; if (KEWConstants.INITIATE_COMMAND.equals(budgetForm.getCommand())) { budgetForm.getDocument().initialize(); } else { budgetForm.initialize(); } BudgetDocument budgetDocument = budgetForm.getBudgetDocument(); if (budgetDocument.isBudgetDeleted()) { return mapping.findForward("deleted"); } Budget budget = budgetDocument.getBudget(); copyLineItemToPersonnelDetails(budgetDocument); if (budget.getActivityTypeCode().equals("x")) { budget.setActivityTypeCode( KraServiceLocator.getService(BudgetService.class) .getActivityTypeForBudget(budgetDocument)); } if (budget.getOhRateClassCode() != null && ((BudgetForm) GlobalVariables.getKualiForm()) != null) { ((BudgetForm) GlobalVariables.getKualiForm()) .setOhRateClassCodePrevValue(budget.getOhRateClassCode()); } if (budget.getUrRateClassCode() != null && ((BudgetForm) GlobalVariables.getKualiForm()) != null) { ((BudgetForm) GlobalVariables.getKualiForm()) .setUrRateClassCodePrevValue(budget.getUrRateClassCode()); } if (budgetDocument.getParentDocument() instanceof AwardDocument && StringUtils.isNotBlank(budgetForm.getSyncBudgetRate()) && budgetForm.getSyncBudgetRate().equals("Y")) { getBudgetRatesService().syncParentDocumentRates(budgetDocument); getBudgetCommonService(budgetDocument.getParentDocument()).calculateBudgetOnSave(budget); } reconcileBudgetStatus(budgetForm); if ("Personnel".equals(budgetForm.getActivePanelName())) { forward = personnel(mapping, budgetForm, request, response); } return forward; }