1 package org.kuali.ole.catalog.rule;
2
3 import org.kuali.ole.OLEConstants;
4 import org.kuali.rice.kim.api.identity.Person;
5 import org.kuali.rice.kim.api.permission.PermissionService;
6 import org.kuali.rice.kim.api.services.KimApiServiceLocator;
7 import org.kuali.rice.krad.maintenance.MaintenanceViewAuthorizerBase;
8 import org.kuali.rice.krad.uif.field.Field;
9 import org.kuali.rice.krad.uif.view.View;
10 import org.kuali.rice.krad.uif.view.ViewModel;
11 import org.kuali.rice.krad.util.KRADConstants;
12
13
14
15
16 public class OleLocationLevelAuthoriser extends MaintenanceViewAuthorizerBase {
17
18
19
20
21
22
23
24
25
26
27 @Override
28 public boolean canEditField(View view, ViewModel model, Field field, String propertyName, Person user) {
29 PermissionService service= KimApiServiceLocator.getPermissionService();
30
31 boolean canEdit=service.hasPermission(user.getPrincipalId(),KRADConstants.KRAD_NAMESPACE, OLEConstants.OleLocationLevel.Edit_Location_Level_perm);
32
33
34
35 if(!field.getComponentSecurity().isEditAuthz() && field.getLabelField()!=null && field.getLabelField().getLabelText()!=null){
36 String fieldName = field.getLabelField().getLabelText();
37 if(fieldName.equalsIgnoreCase(OLEConstants.OleLocationLevel.CODE) || fieldName.equalsIgnoreCase(OLEConstants.OleLocationLevel.PARENT_ID))
38 return false;
39 }
40 else if(field.getComponentSecurity().isEditAuthz() && canEdit){
41 return true;
42 }
43 else{
44 return false;
45 }
46 return true;
47 }
48
49 }
50
51