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.authorization;
20
21 import org.kuali.kfs.module.tem.TemConstants;
22 import org.kuali.kfs.module.tem.document.TravelAuthorizationDocument;
23 import org.kuali.kfs.module.tem.document.service.TravelDocumentService;
24 import org.kuali.kfs.sys.context.SpringContext;
25
26
27
28
29
30 public abstract class TravelAuthorizationFamilyDocumentPresentationController extends TravelDocumentPresentationController {
31 protected TravelDocumentService travelDocumentService;
32
33
34
35
36
37
38 public boolean canPayVendor(TravelAuthorizationDocument document) {
39 if (getTravelDocumentService().isUnsuccessful(document)) {
40 return false;
41 }
42 boolean enablePayments = getParameterService().getParameterValueAsBoolean(TravelAuthorizationDocument.class, TemConstants.TravelAuthorizationParameters.VENDOR_PAYMENT_ALLOWED_BEFORE_FINAL_APPROVAL_IND);
43 if (enablePayments) {
44 return !isRetired(document) && !isCancelled(document) && (document.getDocumentHeader() != null && !(document.getDocumentHeader().getWorkflowDocument().isCanceled() || document.getDocumentHeader().getWorkflowDocument().isInitiated() || document.getDocumentHeader().getWorkflowDocument().isException() || document.getDocumentHeader().getWorkflowDocument().isDisapproved() || document.getDocumentHeader().getWorkflowDocument().isSaved()));
45 } else {
46 return isOpen(document) && isFinalOrProcessed(document);
47 }
48 }
49
50
51
52
53
54
55 protected boolean isOpen(TravelAuthorizationDocument document) {
56 return TemConstants.TravelAuthorizationStatusCodeKeys.OPEN_REIMB.equals(document.getAppDocStatus());
57 }
58
59
60
61
62
63
64 protected boolean isFinalOrProcessed(TravelAuthorizationDocument document) {
65 return document.getDocumentHeader().getWorkflowDocument().isProcessed() || document.getDocumentHeader().getWorkflowDocument().isFinal();
66 }
67
68
69
70
71
72
73 protected boolean isRetired(TravelAuthorizationDocument document) {
74 return TemConstants.TravelAuthorizationStatusCodeKeys.RETIRED_VERSION.equals(document.getAppDocStatus());
75 }
76
77
78
79
80
81
82 protected boolean isCancelled(TravelAuthorizationDocument document) {
83 return TemConstants.TravelAuthorizationStatusCodeKeys.CANCELLED.equals(document.getAppDocStatus());
84 }
85
86
87
88
89 protected TravelDocumentService getTravelDocumentService() {
90 if (travelDocumentService == null) {
91 travelDocumentService = SpringContext.getBean(TravelDocumentService.class);
92 }
93 return travelDocumentService;
94 }
95 }