Добрый день.
Скажите пожалуйста, можно ли расширять список экземпляров сущности доступных дочерней группе доступа.
Например, пусть есть родительская группа доступа, в которой описано ограничение на сущность
MobileClientDevice.
import com.groupstp.dispatching.entity.mobile.MobileClientDevice;
import com.haulmont.cuba.security.app.group.AnnotatedAccessGroupDefinition;
import com.haulmont.cuba.security.app.group.annotation.AccessGroup;
import com.haulmont.cuba.security.app.group.annotation.JpqlConstraint;
import com.haulmont.cuba.security.group.ConstraintsContainer;
@AccessGroup(name = "Base")
public class AccessGroupBase extends AnnotatedAccessGroupDefinition {
@JpqlConstraint(
target = MobileClientDevice.class,
where = "{E}.model in :session$availableModels")
@Override
public ConstraintsContainer accessConstraints() {
return super.accessConstraints();
}
}
Кроме этого, есть дочерняя группа
import com.haulmont.cuba.security.app.group.AnnotatedAccessGroupDefinition;
import com.haulmont.cuba.security.app.group.annotation.AccessGroup;
@AccessGroup(name = "MASTER", parent = AccessGroupBase.class)
public class AccessGroupMaster extends AnnotatedAccessGroupDefinition {
@JpqlConstraint(
target = MobileClientDevice.class,
where = "{E}.owner is not null")
@Override
public ConstraintsContainer accessConstraints() {
return super.accessConstraints();
}
}
Можно ли в дочерней группе как-то расширить список родительской группы?
То есть, мне нужно чтобы дочерняя группа MASTER имела доступ к экземплярам, соответствующим условию:
{E}.model in :session$availableModels or {E}.owner is not null
И при том чтобы родительская Base группа имела доступ к экземплярам, соответствующим условию и не более:
{E}.model in :session$availableModels