1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.module.ar.businessobject.options;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import org.kuali.kfs.module.ar.businessobject.DunningLetterTemplate;
25 import org.kuali.kfs.module.ar.document.service.DunningLetterService;
26 import org.kuali.kfs.sys.context.SpringContext;
27 import org.kuali.rice.core.api.util.ConcreteKeyValue;
28 import org.kuali.rice.core.api.util.KeyValue;
29 import org.kuali.rice.kim.api.identity.Person;
30 import org.kuali.rice.krad.keyvalues.KeyValuesBase;
31 import org.kuali.rice.krad.service.BusinessObjectService;
32 import org.kuali.rice.krad.util.GlobalVariables;
33
34
35
36
37 public class DunningLetterTemplateValuesFinder extends KeyValuesBase {
38 protected static volatile DunningLetterService dunningLetterService;
39
40 protected List<KeyValue> keyValues = new ArrayList();
41
42
43
44
45 @Override
46 @SuppressWarnings("unchecked")
47 public List<KeyValue> getKeyValues() {
48 final Person currentUser = GlobalVariables.getUserSession().getPerson();
49
50 List<DunningLetterTemplate> boList = (List<DunningLetterTemplate>) SpringContext.getBean(BusinessObjectService.class).findAll(DunningLetterTemplate.class);
51 for (DunningLetterTemplate element : boList) {
52 if (!element.isRestrictUseByChartOrg() && element.isActive()) {
53 keyValues.add(new ConcreteKeyValue(element.getDunningLetterTemplateCode(), element.getDunningLetterTemplateDescription()));
54 }
55 else {
56 if (getDunningLetterService().isValidOrganizationForTemplate(element, currentUser) && element.isActive()) {
57 keyValues.add(new ConcreteKeyValue(element.getDunningLetterTemplateCode(), element.getDunningLetterTemplateDescription()));
58 }
59 }
60 }
61 return keyValues;
62 }
63
64
65
66
67 @Override
68 public void clearInternalCache() {
69 keyValues = null;
70 }
71
72 public DunningLetterService getDunningLetterService() {
73 if (dunningLetterService == null) {
74 dunningLetterService = SpringContext.getBean(DunningLetterService.class);
75 }
76 return dunningLetterService;
77 }
78 }