1 /* 2 * Copyright 2009 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.ole.module.purap.document.validation.impl; 17 18 import org.kuali.ole.module.purap.businessobject.PurApItem; 19 import org.kuali.ole.sys.document.validation.GenericValidation; 20 import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent; 21 22 public class PurchasingAccountsPayableAccountAtleastOneLineHasPercentValidation extends GenericValidation { 23 24 private PurApItem itemForValidation; 25 26 /** 27 * Verifies at least one account has percent distribution to indicate how an 28 * overage is to be funded. 29 */ 30 @Override 31 public boolean validate(AttributedDocumentEvent event) { 32 boolean valid = true; 33 34 // OLE-3405 : disabling the distribution method choice 35 // boolean percentExists = false; 36 // 37 // PurchasingAccountsPayableDocumentBase purapDoc = (PurchasingAccountsPayableDocumentBase) event.getDocument(); 38 // 39 // if (PurapConstants.AccountDistributionMethodCodes.SEQUENTIAL_CODE.equalsIgnoreCase(purapDoc.getAccountDistributionMethod())) { 40 // for (PurApAccountingLine account : itemForValidation.getSourceAccountingLines()) { 41 // if (ObjectUtils.isNotNull(account.getAccountLinePercent())) { 42 // //there should be atleast one accounting line where percent should be > 0.00 43 // if (account.getAccountLinePercent().compareTo(BigDecimal.ZERO) == 1) { 44 // percentExists = true; 45 // } 46 // } 47 // } 48 // 49 // if (!percentExists) { 50 // GlobalVariables.getMessageMap().putError(PurapConstants.ITEM_TAB_ERROR_PROPERTY, PurapKeyConstants.ERROR_ITEM_ACCOUNTING_LINE_ATLEAST_ONE_PERCENT_MISSING); 51 // return false; 52 // } 53 // } 54 55 return valid; 56 } 57 58 public PurApItem getItemForValidation() { 59 return itemForValidation; 60 } 61 62 public void setItemForValidation(PurApItem itemForValidation) { 63 this.itemForValidation = itemForValidation; 64 } 65 }