1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.ole.module.purap.document.validation.impl;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.kuali.ole.module.purap.PurapConstants;
20 import org.kuali.ole.module.purap.PurapConstants.RequisitionStatuses;
21 import org.kuali.ole.module.purap.businessobject.PurApAccountingLine;
22 import org.kuali.ole.module.purap.document.RequisitionDocument;
23 import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent;
24
25
26
27
28 public class RequisitionAccountingLineAccessibleValidation extends PurchasingAccountsPayableAccountingLineAccessibleValidation {
29
30
31
32
33
34
35
36 public boolean validate(AttributedDocumentEvent event) {
37 RequisitionDocument requisitionDocument = (RequisitionDocument) event.getDocument();
38
39
40
41 if (requisitionDocument.isDocumentStoppedInRouteNode(RequisitionStatuses.NODE_CONTENT_REVIEW) ||
42 StringUtils.equals(requisitionDocument.getApplicationDocumentStatus(), PurapConstants.RequisitionStatuses.APPDOC_IN_PROCESS)) {
43
44
45 return true;
46 } else {
47 boolean result = false;
48 boolean setDummyAccountIdentifier = false;
49
50 if (needsDummyAccountIdentifier()) {
51 ((PurApAccountingLine) getAccountingLineForValidation()).setAccountIdentifier(Integer.MAX_VALUE);
52 setDummyAccountIdentifier = true;
53 }
54
55 result = super.validate(event);
56
57 if (setDummyAccountIdentifier) {
58 ((PurApAccountingLine) getAccountingLineForValidation()).setAccountIdentifier(null);
59 }
60
61 return result;
62 }
63 }
64
65 }
66