1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.tem.document.validation.impl;
20
21 import org.kuali.kfs.module.tem.TemKeyConstants;
22 import org.kuali.kfs.module.tem.TemPropertyConstants;
23 import org.kuali.kfs.module.tem.TemPropertyConstants.TravelAuthorizationFields;
24 import org.kuali.kfs.module.tem.businessobject.TemSourceAccountingLine;
25 import org.kuali.kfs.module.tem.businessobject.TripType;
26 import org.kuali.kfs.module.tem.document.TravelAuthorizationDocument;
27 import org.kuali.kfs.sys.document.validation.GenericValidation;
28 import org.kuali.kfs.sys.document.validation.event.AttributedDocumentEvent;
29 import org.kuali.rice.krad.util.GlobalVariables;
30
31 public class TravelAuthAccountingLineEncumbranceObjectCodeValidation extends GenericValidation {
32
33 @Override
34 public boolean validate(AttributedDocumentEvent event) {
35 boolean rulePassed = true;
36 TravelAuthorizationDocument authorizationDocument = (TravelAuthorizationDocument) event.getDocument();
37
38 TripType trip = authorizationDocument.getTripType();
39 if (authorizationDocument.isTripGenerateEncumbrance()) {
40
41
42 for (TemSourceAccountingLine line : authorizationDocument.getEncumbranceSourceAccountingLines()){
43 if (!line.getFinancialObjectCode().equals(trip.getEncumbranceObjCode()) && rulePassed) {
44
45 int index = line.getSequenceNumber().intValue()-1;
46 GlobalVariables.getMessageMap().putError(TemPropertyConstants.SOURCE_ACCOUNTING_LINE + "[" + index + "]." + TravelAuthorizationFields.FIN_OBJ_CD, TemKeyConstants.ERROR_TA_ENCUMBRANCE_OBJ_CD_INVALID,
47 trip.getEncumbranceObjCode(), trip.getName());
48 rulePassed = false;
49 }
50 }
51 }
52
53 return rulePassed;
54 }
55 }