Необходимо в зависимости от принадлежности пользователя к какой-либо роли показывать определенные записи или скрывать их.
В 6.10.7 работала такая смена ds, в 7.0.0 не работает.
Код requestServicesDs
select e from ekomerp$RequestService e
where e.createdBy = :session$userLogin
order by e.number desc
Код requestServicesAdminDs
select e from ekomerp$RequestService e
order by e.number desc
Код контролера
public void init(Map<String, Object> params) {
if(isUserSupport()){
requestServicesTable.setDatasource(requestServicesAdminDs);
filter.setDatasource(requestServicesAdminDs);
}else {
requestServicesTable.setDatasource(requestServicesDs);
filter.setDatasource(requestServicesDs);
}
super.init(params);
}
public boolean isUserSupport(){
Collection<UserRole> userRoles = userSession.getCurrentOrSubstitutedUser().getUserRoles();
boolean isSupport = false;
for (UserRole userRole:userRoles){
if(userRole.getRole().getName().equals("Support")){
isSupport = true;
break;
}
}
return isSupport;
}