1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package org.kuali.ole.fp.document.authorization;
17  
18  import java.util.List;
19  import java.util.Set;
20  
21  import org.kuali.ole.fp.document.DistributionOfIncomeAndExpenseDocument;
22  import org.kuali.ole.sys.OLEConstants;
23  import org.kuali.ole.sys.OLEPropertyConstants;
24  import org.kuali.ole.sys.OleAuthorizationConstants;
25  import org.kuali.ole.sys.businessobject.ElectronicPaymentClaim;
26  import org.kuali.ole.sys.document.authorization.AccountingDocumentPresentationControllerBase;
27  import org.kuali.rice.krad.document.Document;
28  
29  public class DistributionOfIncomeAndExpenseDocumentPresentationController extends AccountingDocumentPresentationControllerBase {
30  
31      
32  
33  
34      @Override
35      public Set<String> getEditModes(Document document) {
36          Set<String> editModes = super.getEditModes(document);
37  
38          DistributionOfIncomeAndExpenseDocument distributionOfIncomeAndExpenseDocument = (DistributionOfIncomeAndExpenseDocument) document;
39          List<ElectronicPaymentClaim> electronicPaymentClaims = distributionOfIncomeAndExpenseDocument.getElectronicPaymentClaims();
40  
41          if (electronicPaymentClaims == null) {
42              distributionOfIncomeAndExpenseDocument.refreshReferenceObject(OLEPropertyConstants.ELECTRONIC_PAYMENT_CLAIMS);
43              electronicPaymentClaims = distributionOfIncomeAndExpenseDocument.getElectronicPaymentClaims();
44          }
45  
46          if (electronicPaymentClaims != null && electronicPaymentClaims.size() > 0) {
47              editModes.add(OleAuthorizationConstants.DistributionOfIncomeAndExpenseEditMode.SOURCE_LINE_READ_ONLY_MODE);
48          }
49  
50          return editModes;
51      }
52  }