use of edu.cornell.kfs.module.purap.document.CuPaymentRequestDocument in project cu-kfs by CU-CommunityApps.
the class CuPaymentRequestDocumentPresentationController method canDisapprove.
// KFSUPGRADE-964
@Override
public boolean canDisapprove(Document document) {
// disapprove is never allowed for PREQ except PRNC by Treasury
CuPaymentRequestDocument paymentRequestDocument = (CuPaymentRequestDocument) document;
String paymentMethodCode = paymentRequestDocument.getPaymentMethodCode();
if ((PaymentMethod.PM_CODE_FOREIGN_DRAFT.equalsIgnoreCase(paymentMethodCode) || PaymentMethod.PM_CODE_WIRE.equalsIgnoreCase(paymentMethodCode)) && paymentRequestDocument.isDocumentStoppedInRouteNode(PurapConstants.PaymentRequestStatuses.NODE_PAYMENT_METHOD_REVIEW)) {
return true;
} else {
return false;
}
}
use of edu.cornell.kfs.module.purap.document.CuPaymentRequestDocument in project cu-kfs by CU-CommunityApps.
the class CuAccountsPayableBankCodeValidation method validate.
@Override
public boolean validate(AttributedDocumentEvent event) {
AccountsPayableDocumentBase apDocument = (AccountsPayableDocumentBase) getAccountingDocumentForValidation();
// check if one of the extended UA documents, if so, take the payment method into account, otherwise, revert to baseline behavior
boolean isValid = true;
if (apDocument instanceof PaymentRequestDocument) {
if (StringUtils.isNotBlank(apDocument.getBankCode())) {
// PREQ bank code is not required
isValid = CuBankCodeValidation.validate(apDocument.getBankCode(), "document." + PurapPropertyConstants.BANK_CODE, ((CuPaymentRequestDocument) apDocument).getPaymentMethodCode(), false, true);
if (isValid) {
if (!(event instanceof AttributedRouteDocumentEvent) && StringUtils.isNotBlank(apDocument.getBankCode()) && !CuBankCodeValidation.doesBankCodeNeedToBePopulated(((CuPaymentRequestDocument) apDocument).getPaymentMethodCode())) {
apDocument.setBank(null);
apDocument.setBankCode(null);
}
}
}
} else if (apDocument instanceof VendorCreditMemoDocument) {
if (StringUtils.isNotBlank(apDocument.getBankCode())) {
isValid = CuBankCodeValidation.validate(apDocument.getBankCode(), "document." + PurapPropertyConstants.BANK_CODE, ((CuVendorCreditMemoDocument) apDocument).getPaymentMethodCode(), false, true);
if (isValid) {
// clear out the bank code on the document if not needed (per the message set by the call above)
if (StringUtils.isNotBlank(apDocument.getBankCode()) && !CuBankCodeValidation.doesBankCodeNeedToBePopulated(((CuVendorCreditMemoDocument) apDocument).getPaymentMethodCode())) {
apDocument.setBank(null);
apDocument.setBankCode(null);
}
}
}
} else {
isValid = CuBankCodeValidation.validate(apDocument.getBankCode(), "document." + PurapPropertyConstants.BANK_CODE, false, true);
}
return isValid;
}
use of edu.cornell.kfs.module.purap.document.CuPaymentRequestDocument in project cu-kfs by CU-CommunityApps.
the class CuPaymentRequestForm method getExtraButtons.
@Override
public List<ExtraButton> getExtraButtons() {
super.getExtraButtons();
PaymentRequestDocument paymentRequestDocument = this.getPaymentRequestDocument();
if (StringUtils.equalsIgnoreCase(paymentRequestDocument.getFinancialSystemDocumentHeader().getApplicationDocumentStatus(), PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED) && paymentRequestDocument.getFinancialSystemDocumentHeader().getWorkflowDocument().isFinal() && !SpringContext.getBean(CUPaymentMethodGeneralLedgerPendingEntryService.class).isPaymentMethodProcessedUsingPdp(((CuPaymentRequestDocument) paymentRequestDocument).getPaymentMethodCode())) {
ExtraButton cancelButton = null;
for (ExtraButton extraButton : extraButtons) {
if (StringUtils.equals("methodToCall.cancel", extraButton.getExtraButtonProperty())) {
cancelButton = extraButton;
}
}
if (ObjectUtils.isNotNull(cancelButton)) {
extraButtons.remove(cancelButton);
}
}
return extraButtons;
}
Aggregations