protected void checkPermissions(LaunchMode launchMode, WindowInfo windowInfo) { // ROOT windows are always permitted if (launchMode != OpenMode.ROOT) { boolean permitted = security.isScreenPermitted(windowInfo.getId()); if (!permitted) { throw new AccessDeniedException(PermissionType.SCREEN, windowInfo.getId()); } } }
@Override protected boolean isPermitted() { if (target == null || !(target.getItems() instanceof EntityDataUnit)) { return false; } MetaClass metaClass = ((EntityDataUnit) target.getItems()).getEntityMetaClass(); if (metaClass == null) { return true; } boolean permitted = security.isScreenPermitted(BulkEditor.PERMISSION); if (!permitted) { return false; } return super.isPermitted(); }
protected boolean openScreen(NavigationState requestedState, WindowInfo windowInfo) { boolean screenPermitted = security.isScreenPermitted(windowInfo.getId()); if (!screenPermitted) { revertNavigationState();