List of usage examples for com.liferay.portal.util PropsValues PERMISSIONS_VIEW_DYNAMIC_INHERITANCE
boolean PERMISSIONS_VIEW_DYNAMIC_INHERITANCE
To view the source code for com.liferay.portal.util PropsValues PERMISSIONS_VIEW_DYNAMIC_INHERITANCE.
Click Source Link
From source file:com.liferay.bookmarks.internal.security.permission.resource.BookmarksEntryModelResourcePermissionRegistrar.java
License:Open Source License
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put("model.class.name", BookmarksEntry.class.getName()); _serviceRegistration = bundleContext.registerService(ModelResourcePermission.class, ModelResourcePermissionFactory.create(BookmarksEntry.class, BookmarksEntry::getEntryId, _bookmarksEntryLocalService::getEntry, _portletResourcePermission, (modelResourcePermission, consumer) -> { consumer.accept(new StagedModelPermissionLogic<>(_stagingPermission, BookmarksPortletKeys.BOOKMARKS, BookmarksEntry::getEntryId)); if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { consumer.accept(new DynamicInheritancePermissionLogic<>( _bookmarksFolderModelResourcePermission, _getFetchParentFunction(), true)); }//ww w .j a va 2 s . c om }), properties); }
From source file:com.liferay.bookmarks.internal.security.permission.resource.BookmarksFolderModelResourcePermissionRegistrar.java
License:Open Source License
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put("model.class.name", BookmarksFolder.class.getName()); _serviceRegistration = bundleContext.registerService(ModelResourcePermission.class, ModelResourcePermissionFactory.create(BookmarksFolder.class, BookmarksFolder::getFolderId, _bookmarksFolderLocalService::getFolder, _portletResourcePermission, (modelResourcePermission, consumer) -> { consumer.accept(new StagedModelPermissionLogic<>(_stagingPermission, BookmarksPortletKeys.BOOKMARKS, BookmarksFolder::getFolderId)); if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { consumer.accept(new DynamicInheritancePermissionLogic<>(modelResourcePermission, _getFetchParentFunction(), true)); }/*ww w . ja v a 2 s.co m*/ }, actionId -> { if (ActionKeys.ADD_FOLDER.equals(actionId)) { return ActionKeys.ADD_SUBFOLDER; } return actionId; }), properties); }
From source file:com.liferay.bookmarks.service.permission.BookmarksEntryPermissionChecker.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, BookmarksEntry entry, String actionId) throws PortalException { Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, entry.getGroupId(), BookmarksEntry.class.getName(), entry.getEntryId(), BookmarksPortletKeys.BOOKMARKS, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); }//from w ww . j av a2 s . co m if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { long folderId = entry.getFolderId(); if (folderId == BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) { if (!BookmarksResourcePermissionChecker.contains(permissionChecker, entry.getGroupId(), actionId)) { return false; } } else { try { BookmarksFolder folder = _bookmarksFolderLocalService.getFolder(folderId); if (!BookmarksFolderPermissionChecker.contains(permissionChecker, folder, ActionKeys.ACCESS) && !BookmarksFolderPermissionChecker.contains(permissionChecker, folder, ActionKeys.VIEW)) { return false; } } catch (NoSuchFolderException nsfe) { if (!entry.isInTrash()) { throw nsfe; } } } } if (permissionChecker.hasOwnerPermission(entry.getCompanyId(), BookmarksEntry.class.getName(), entry.getEntryId(), entry.getUserId(), actionId)) { return true; } return permissionChecker.hasPermission(entry.getGroupId(), BookmarksEntry.class.getName(), entry.getEntryId(), actionId); }
From source file:com.liferay.bookmarks.service.permission.BookmarksFolderPermissionChecker.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, BookmarksFolder folder, String actionId) throws PortalException { if (actionId.equals(ActionKeys.ADD_FOLDER)) { actionId = ActionKeys.ADD_SUBFOLDER; }/*from w w w. j av a 2s .c o m*/ Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, folder.getGroupId(), BookmarksFolder.class.getName(), folder.getFolderId(), BookmarksPortletKeys.BOOKMARKS, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { try { long folderId = folder.getFolderId(); while (folderId != BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) { folder = _bookmarksFolderLocalService.getFolder(folderId); if (!_hasPermission(permissionChecker, folder, actionId)) { return false; } folderId = folder.getParentFolderId(); } } catch (NoSuchFolderException nsfe) { if (!folder.isInTrash()) { throw nsfe; } } return BookmarksResourcePermissionChecker.contains(permissionChecker, folder.getGroupId(), actionId); } return _hasPermission(permissionChecker, folder, actionId); }
From source file:com.liferay.journal.service.permission.JournalArticlePermission.java
License:Open Source License
private static boolean _contains(PermissionChecker permissionChecker, JournalArticle article, String actionId) { String portletId = PortletProviderUtil.getPortletId(JournalArticle.class.getName(), PortletProvider.Action.EDIT); Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, article.getGroupId(), JournalArticle.class.getName(), article.getResourcePrimKey(), portletId, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); }//from w ww . j ava 2 s . c om if (article.isDraft()) { if (actionId.equals(ActionKeys.VIEW) && !contains(permissionChecker, article, ActionKeys.UPDATE)) { return false; } } else if (article.isPending()) { hasPermission = WorkflowPermissionUtil.hasPermission(permissionChecker, article.getGroupId(), JournalArticle.class.getName(), article.getResourcePrimKey(), actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } } if (actionId.equals(ActionKeys.VIEW)) { JournalServiceConfiguration journalServiceConfiguration = null; try { journalServiceConfiguration = _configurationProvider.getCompanyConfiguration( JournalServiceConfiguration.class, permissionChecker.getCompanyId()); } catch (ConfigurationException ce) { _log.error("Unable to get journal service configuration for company " + permissionChecker.getCompanyId(), ce); return false; } if (!journalServiceConfiguration.articleViewPermissionsCheckEnabled()) { return true; } if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { long folderId = article.getFolderId(); if (folderId == JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) { if (!JournalPermission.contains(permissionChecker, article.getGroupId(), actionId)) { return false; } } else { JournalFolder folder = _journalFolderLocalService.fetchFolder(folderId); if (folder != null) { if (!JournalFolderPermission.contains(permissionChecker, folder, ActionKeys.ACCESS) && !JournalFolderPermission.contains(permissionChecker, folder, ActionKeys.VIEW)) { return false; } } else { if (!article.isInTrash()) { _log.error("Unable to get journal folder " + folderId); return false; } } } } } if (permissionChecker.hasOwnerPermission(article.getCompanyId(), JournalArticle.class.getName(), article.getResourcePrimKey(), article.getUserId(), actionId)) { return true; } return permissionChecker.hasPermission(article.getGroupId(), JournalArticle.class.getName(), article.getResourcePrimKey(), actionId); }
From source file:com.liferay.journal.service.permission.JournalFolderPermission.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, JournalFolder folder, String actionId) { String portletId = PortletProviderUtil.getPortletId(JournalArticle.class.getName(), PortletProvider.Action.EDIT); if (actionId.equals(ActionKeys.ADD_FOLDER)) { actionId = ActionKeys.ADD_SUBFOLDER; }// w w w .j a v a 2 s . c o m Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, folder.getGroupId(), JournalFolder.class.getName(), folder.getFolderId(), portletId, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { long folderId = folder.getFolderId(); while (folderId != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) { JournalFolder parentFolder = folder; folder = _journalFolderLocalService.fetchFolder(folderId); if (folder != null) { if (!_hasPermission(permissionChecker, folder, actionId)) { return false; } } else { if (parentFolder.isInTrash()) { folder = parentFolder; break; } else { _log.error("Unable to get journal folder " + folderId); return false; } } folderId = folder.getParentFolderId(); } return JournalPermission.contains(permissionChecker, folder.getGroupId(), actionId); } return _hasPermission(permissionChecker, folder, actionId); }
From source file:com.liferay.message.boards.internal.service.permission.MBCategoryPermission.java
License:Open Source License
private boolean _contains(PermissionChecker permissionChecker, long groupId, long categoryId, String actionId) throws PortalException { if (_mbBanLocalService.hasBan(groupId, permissionChecker.getUserId())) { return false; }//from w w w . java 2s . c o m if ((categoryId == MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) || (categoryId == MBCategoryConstants.DISCUSSION_CATEGORY_ID)) { return MBPermission.contains(permissionChecker, groupId, actionId); } MBCategory category = _mbCategoryLocalService.getCategory(categoryId); if (actionId.equals(ActionKeys.ADD_CATEGORY)) { actionId = ActionKeys.ADD_SUBCATEGORY; } String portletId = PortletProviderUtil.getPortletId(MBCategory.class.getName(), PortletProvider.Action.EDIT); Boolean hasPermission = _stagingPermission.hasPermission(permissionChecker, category.getGroupId(), MBCategory.class.getName(), category.getCategoryId(), portletId, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { try { while (categoryId != MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) { category = _mbCategoryLocalService.getCategory(categoryId); if (!_hasPermission(permissionChecker, category, actionId)) { return false; } categoryId = category.getParentCategoryId(); } } catch (NoSuchCategoryException nsce) { if (!category.isInTrash()) { throw nsce; } } return MBPermission.contains(permissionChecker, category.getGroupId(), actionId); } return _hasPermission(permissionChecker, category, actionId); }
From source file:com.liferay.message.boards.internal.service.permission.MBMessagePermission.java
License:Open Source License
private boolean _contains(PermissionChecker permissionChecker, MBMessage message, String actionId) throws PortalException { if (_mbBanLocalService.hasBan(message.getGroupId(), permissionChecker.getUserId())) { return false; }/* ww w. j a v a2s . co m*/ String portletId = PortletProviderUtil.getPortletId(MBMessage.class.getName(), PortletProvider.Action.EDIT); Boolean hasPermission = _stagingPermission.hasPermission(permissionChecker, message.getGroupId(), MBMessage.class.getName(), message.getMessageId(), portletId, actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } if (message.isDraft() || message.isScheduled()) { if (actionId.equals(ActionKeys.VIEW) && !_contains(permissionChecker, message, ActionKeys.UPDATE)) { return false; } } else if (message.isPending()) { hasPermission = WorkflowPermissionUtil.hasPermission(permissionChecker, message.getGroupId(), message.getWorkflowClassName(), message.getMessageId(), actionId); if (hasPermission != null) { return hasPermission.booleanValue(); } } if (actionId.equals(ActionKeys.VIEW) && PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { long categoryId = message.getCategoryId(); if ((categoryId == MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) || (categoryId == MBCategoryConstants.DISCUSSION_CATEGORY_ID)) { if (!MBPermission.contains(permissionChecker, message.getGroupId(), actionId)) { return false; } } else { try { MBCategory category = _mbCategoryLocalService.getCategory(categoryId); if (!MBCategoryPermission.contains(permissionChecker, category, actionId)) { return false; } } catch (NoSuchCategoryException nsce) { if (!message.isInTrash()) { throw nsce; } } } } if (permissionChecker.hasOwnerPermission(message.getCompanyId(), MBMessage.class.getName(), message.getRootMessageId(), message.getUserId(), actionId)) { return true; } if (!permissionChecker.hasPermission(message.getGroupId(), MBMessage.class.getName(), message.getMessageId(), actionId)) { return false; } if (message.isRoot() || !actionId.equals(ActionKeys.VIEW)) { return true; } return _contains(permissionChecker, _mbMessageLocalService.getMessage(message.getParentMessageId()), actionId); }
From source file:com.liferay.portlet.bookmarks.service.permission.BookmarksEntryPermission.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, BookmarksEntry entry, String actionId) throws PortalException, SystemException { if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { if (entry.getFolderId() != BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) { BookmarksFolder folder = entry.getFolder(); if (!BookmarksFolderPermission.contains(permissionChecker, folder, ActionKeys.ACCESS) && !BookmarksFolderPermission.contains(permissionChecker, folder, ActionKeys.VIEW)) { return false; }//from w ww . jav a 2 s . c o m } } if (permissionChecker.hasOwnerPermission(entry.getCompanyId(), BookmarksEntry.class.getName(), entry.getEntryId(), entry.getUserId(), actionId)) { return true; } return permissionChecker.hasPermission(entry.getGroupId(), BookmarksEntry.class.getName(), entry.getEntryId(), actionId); }
From source file:com.liferay.portlet.bookmarks.service.permission.BookmarksFolderPermission.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, BookmarksFolder folder, String actionId) throws PortalException, SystemException { if (actionId.equals(ActionKeys.ADD_FOLDER)) { actionId = ActionKeys.ADD_SUBFOLDER; }//from w ww.j a v a 2s . c o m long folderId = folder.getFolderId(); if (actionId.equals(ActionKeys.VIEW)) { while (folderId != BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) { folder = BookmarksFolderLocalServiceUtil.getFolder(folderId); folderId = folder.getParentFolderId(); if (!permissionChecker.hasOwnerPermission(folder.getCompanyId(), BookmarksFolder.class.getName(), folder.getFolderId(), folder.getUserId(), actionId) && !permissionChecker.hasPermission(folder.getGroupId(), BookmarksFolder.class.getName(), folder.getFolderId(), actionId)) { return false; } if (!PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) { break; } } return true; } else { while (folderId != BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) { folder = BookmarksFolderLocalServiceUtil.getFolder(folderId); folderId = folder.getParentFolderId(); if (permissionChecker.hasOwnerPermission(folder.getCompanyId(), BookmarksFolder.class.getName(), folder.getFolderId(), folder.getUserId(), actionId)) { return true; } if (permissionChecker.hasPermission(folder.getGroupId(), BookmarksFolder.class.getName(), folder.getFolderId(), actionId)) { return true; } if (actionId.equals(ActionKeys.VIEW)) { break; } } return false; } }