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 }