Example usage for com.liferay.portal.kernel.security.permission ActionKeys ADD_FOLDER

List of usage examples for com.liferay.portal.kernel.security.permission ActionKeys ADD_FOLDER

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.security.permission ActionKeys ADD_FOLDER.

Prototype

String ADD_FOLDER

To view the source code for com.liferay.portal.kernel.security.permission ActionKeys ADD_FOLDER.

Click Source Link

Usage

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));
                        }//from   w w  w  .  j a  v  a 2s.c om
                    }, actionId -> {
                        if (ActionKeys.ADD_FOLDER.equals(actionId)) {
                            return ActionKeys.ADD_SUBFOLDER;
                        }

                        return actionId;
                    }),
            properties);
}

From source file:com.liferay.bookmarks.service.impl.BookmarksFolderServiceImpl.java

License:Open Source License

@Override
public BookmarksFolder addFolder(long parentFolderId, String name, String description,
        ServiceContext serviceContext) throws PortalException {

    BookmarksFolderPermissionChecker.check(getPermissionChecker(), serviceContext.getScopeGroupId(),
            parentFolderId, ActionKeys.ADD_FOLDER);

    return bookmarksFolderLocalService.addFolder(getUserId(), parentFolderId, name, description,
            serviceContext);// w  w w  .  jav  a 2s  .c om
}

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   ww w .  j  av a2s  .  com

    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.bookmarks.service.test.BookmarksFolderLocalServiceTest.java

License:Open Source License

@Test
public void testAddSubfolderPermission() throws Exception {
    BookmarksFolder folder = BookmarksTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group.getGroupId());

    Role role = RoleLocalServiceUtil.addRole(TestPropsValues.getUserId(), null, 0, StringUtil.randomString(),
            null, null, RoleConstants.TYPE_SITE, null, serviceContext);

    ResourceBlockServiceUtil.addCompanyScopePermission(_group.getGroupId(), _group.getCompanyId(),
            BookmarksFolder.class.getName(), role.getRoleId(), ActionKeys.ADD_SUBFOLDER);

    User user = UserTestUtil.addGroupUser(_group, role.getName());

    PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(user);

    Assert.assertTrue(BookmarksFolderPermissionChecker.contains(permissionChecker, _group.getGroupId(),
            folder.getFolderId(), ActionKeys.ADD_FOLDER));
}

From source file:com.liferay.bookmarks.trash.BookmarksFolderTrashHandler.java

License:Open Source License

@Override
public boolean hasTrashPermission(PermissionChecker permissionChecker, long groupId, long classPK,
        String trashActionId) throws PortalException {

    if (trashActionId.equals(TrashActionKeys.MOVE)) {
        return BookmarksFolderPermissionChecker.contains(permissionChecker, groupId, classPK,
                ActionKeys.ADD_FOLDER);
    }//  w  w  w.  jav  a  2  s. co m

    return super.hasTrashPermission(permissionChecker, groupId, classPK, trashActionId);
}

From source file:com.liferay.bookmarks.web.internal.portlet.toolbar.contributor.BookmarksPortletToolbarContributor.java

License:Open Source License

protected void addPortletTitleAddFolderMenuItem(List<MenuItem> menuItems, BookmarksFolder folder,
        ThemeDisplay themeDisplay, PortletRequest portletRequest) throws PortalException {

    long folderId = _getFolderId(folder);

    if (!containsPermission(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(), folderId,
            ActionKeys.ADD_FOLDER)) {

        return;/*from  w w w . ja v  a2s .c o m*/
    }

    URLMenuItem urlMenuItem = new URLMenuItem();

    urlMenuItem.setLabel(LanguageUtil.get(PortalUtil.getHttpServletRequest(portletRequest),
            (folder != null) ? "subfolder" : "folder"));

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    PortletURL portletURL = PortletURLFactoryUtil.create(portletRequest, portletDisplay.getId(),
            themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/bookmarks/edit_folder");
    portletURL.setParameter("redirect", PortalUtil.getCurrentURL(portletRequest));
    portletURL.setParameter("parentFolderId", String.valueOf(folderId));

    urlMenuItem.setURL(portletURL.toString());

    menuItems.add(urlMenuItem);
}

From source file:com.liferay.bookmarks.web.internal.trash.BookmarksFolderTrashHandler.java

License:Open Source License

@Override
public boolean hasTrashPermission(PermissionChecker permissionChecker, long groupId, long classPK,
        String trashActionId) throws PortalException {

    if (trashActionId.equals(TrashActionKeys.MOVE)) {
        return ModelResourcePermissionHelper.contains(_bookmarksFolderModelResourcePermission,
                permissionChecker, groupId, classPK, ActionKeys.ADD_FOLDER);
    }//w ww .  j a va2s  .c o m

    return super.hasTrashPermission(permissionChecker, groupId, classPK, trashActionId);
}

From source file:com.liferay.document.library.internal.trash.DLFolderTrashHandler.java

License:Open Source License

@Override
public boolean hasTrashPermission(PermissionChecker permissionChecker, long groupId, long classPK,
        String trashActionId) throws PortalException {

    if (trashActionId.equals(TrashActionKeys.MOVE)) {
        return DLFolderPermission.contains(permissionChecker, groupId, classPK, ActionKeys.ADD_FOLDER);
    }// ww  w . j a  v a2 s  . c o m

    return super.hasTrashPermission(permissionChecker, groupId, classPK, trashActionId);
}

From source file:com.liferay.document.library.web.internal.portlet.toolbar.contributor.DLPortletToolbarContributor.java

License:Open Source License

public MenuItem getPortletTitleAddFolderMenuItem(ThemeDisplay themeDisplay, PortletRequest portletRequest,
        Folder folder) {/*w  ww .  j  a  v  a 2  s  . c  o m*/

    long folderId = _getFolderId(folder);

    if (!containsPermission(themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroupId(), folderId,
            ActionKeys.ADD_FOLDER)) {

        return null;
    }

    URLMenuItem urlMenuItem = new URLMenuItem();

    urlMenuItem.setLabel(LanguageUtil.get(_portal.getHttpServletRequest(portletRequest),
            (folder != null) ? "subfolder" : "folder"));

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    PortletURL portletURL = PortletURLFactoryUtil.create(portletRequest, portletDisplay.getId(),
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/document_library/edit_folder");
    portletURL.setParameter("redirect", _portal.getCurrentURL(portletRequest));
    portletURL.setParameter("repositoryId", String.valueOf(_getRepositoryId(themeDisplay, folder)));
    portletURL.setParameter("parentFolderId", String.valueOf(folderId));
    portletURL.setParameter("ignoreRootFolder", Boolean.TRUE.toString());

    urlMenuItem.setURL(portletURL.toString());

    return urlMenuItem;
}

From source file:com.liferay.journal.internal.trash.JournalFolderTrashHandler.java

License:Open Source License

@Override
public boolean hasTrashPermission(PermissionChecker permissionChecker, long groupId, long classPK,
        String trashActionId) throws PortalException {

    if (trashActionId.equals(TrashActionKeys.MOVE)) {
        return JournalFolderPermission.contains(permissionChecker, groupId, classPK, ActionKeys.ADD_FOLDER);
    }/* w ww.java  2  s .  c  o m*/

    return super.hasTrashPermission(permissionChecker, groupId, classPK, trashActionId);
}