/** @param transForm */ protected void processAccountingLineOverrides(KualiAccountingDocumentFormBase transForm) { processAccountingLineOverrides(transForm.getNewSourceLine()); processAccountingLineOverrides(transForm.getNewTargetLine()); if (transForm.hasDocumentId()) { AccountingDocument financialDocument = (AccountingDocument) transForm.getDocument(); processAccountingLineOverrides( financialDocument, financialDocument.getSourceAccountingLines()); processAccountingLineOverrides( financialDocument, financialDocument.getTargetAccountingLines()); } }
/** * This method refreshes the sales tax fields on a refresh or tab toggle so that all the * information that was there before is still there after a state change * * @param form */ protected void refreshSalesTaxInfo(ActionForm form) { KualiAccountingDocumentFormBase accountingForm = (KualiAccountingDocumentFormBase) form; AccountingDocument document = (AccountingDocument) accountingForm.getDocument(); List sourceLines = document.getSourceAccountingLines(); List targetLines = document.getTargetAccountingLines(); handleSalesTaxRequiredAllLines(accountingForm, sourceLines); handleSalesTaxRequiredAllLines(accountingForm, targetLines); AccountingLine newTargetLine = accountingForm.getNewTargetLine(); AccountingLine newSourceLine = accountingForm.getNewSourceLine(); if (newTargetLine != null) { handleSalesTaxRequired(document, newTargetLine, false, true, 0); } if (newSourceLine != null) { handleSalesTaxRequired(document, newSourceLine, true, true, 0); } }
/** * This method will add a TargetAccountingLine to a FinancialDocument. This assumes that the user * presses the add button for a specific accounting line on the document and that the document is * represented by a FinancialDocumentFormBase. It first validates the line for data integrity and * then checks appropriate business rules. * * @param mapping * @param form * @param request * @param response * @return ActionForward * @throws Exception */ public ActionForward insertTargetLine( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { KualiAccountingDocumentFormBase financialDocumentForm = (KualiAccountingDocumentFormBase) form; TargetAccountingLine line = financialDocumentForm.getNewTargetLine(); // populate chartOfAccountsCode from account number if accounts cant cross chart and Javascript // is turned off // SpringContext.getBean(AccountService.class).populateAccountingLineChartIfNeeded(line); boolean rulePassed = true; // before we check the regular rules we need to check the sales tax rules // TODO: Refactor rules so we no longer have to call this before a copy of the // accountingLine rulePassed &= checkSalesTax( (AccountingDocument) financialDocumentForm.getDocument(), line, false, true, 0); // check any business rules rulePassed &= SpringContext.getBean(KualiRuleService.class) .applyRules( new AddAccountingLineEvent( KFSConstants.NEW_TARGET_ACCT_LINE_PROPERTY_NAME, financialDocumentForm.getDocument(), line)); // if the rule evaluation passed, let's add it if (rulePassed) { // add accountingLine SpringContext.getBean(PersistenceService.class).refreshAllNonUpdatingReferences(line); insertAccountingLine(false, financialDocumentForm, line); // clear the used newTargetLine financialDocumentForm.setNewTargetLine(null); } return mapping.findForward(KFSConstants.MAPPING_BASIC); }