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

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

Introduction

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

Prototype

String VIEW

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

Click Source Link

Usage

From source file:com.liferay.wiki.service.impl.WikiPageServiceImpl.java

License:Open Source License

@Override
public int getRecentChangesCount(long groupId, long nodeId) throws PortalException {

    WikiNodePermissionChecker.check(getPermissionChecker(), nodeId, ActionKeys.VIEW);

    Calendar calendar = CalendarFactoryUtil.getCalendar();

    calendar.add(Calendar.WEEK_OF_YEAR, -1);

    return wikiPageFinder.filterCountByCreateDate(groupId, nodeId, calendar.getTime(), false);
}

From source file:com.liferay.wiki.service.permission.WikiPagePermissionChecker.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, long nodeId, String title, double version,
        String actionId) throws PortalException {

    try {/*from   w w w  . j  a v  a  2  s.  c o m*/
        WikiPage page = _wikiPageLocalService.getPage(nodeId, title, version);

        return contains(permissionChecker, page, actionId);
    } catch (NoSuchPageException nspe) {
        return WikiNodePermissionChecker.contains(permissionChecker, nodeId, ActionKeys.VIEW);
    }
}

From source file:com.liferay.wiki.service.permission.WikiPagePermissionChecker.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, long nodeId, String title, String actionId)
        throws PortalException {

    try {//from  w w w  . ja  va2s .  co m
        WikiPage page = _wikiPageLocalService.getPage(nodeId, title, null);

        return contains(permissionChecker, page, actionId);
    } catch (NoSuchPageException nspe) {
        return WikiNodePermissionChecker.contains(permissionChecker, nodeId, ActionKeys.VIEW);
    }
}

From source file:com.liferay.wiki.service.permission.WikiPagePermissionChecker.java

License:Open Source License

public static boolean contains(PermissionChecker permissionChecker, WikiPage page, String actionId) {

    Boolean hasPermission = StagingPermissionUtil.hasPermission(permissionChecker, page.getGroupId(),
            WikiPage.class.getName(), page.getPageId(), WikiPortletKeys.WIKI, actionId);

    if (hasPermission != null) {
        return hasPermission.booleanValue();
    }//from  w  w  w.  ja  va2s  .c o m

    if (page.isDraft()) {
        if (actionId.equals(ActionKeys.VIEW) && !contains(permissionChecker, page, ActionKeys.UPDATE)) {

            return false;
        }

        if (actionId.equals(ActionKeys.DELETE) && (page.getStatusByUserId() == permissionChecker.getUserId())) {

            return true;
        }
    } else if (page.isPending()) {
        hasPermission = WorkflowPermissionUtil.hasPermission(permissionChecker, page.getGroupId(),
                WikiPage.class.getName(), page.getResourcePrimKey(), actionId);

        if ((hasPermission != null) && hasPermission.booleanValue()) {
            return true;
        }
    } else if (page.isScheduled()) {
        if (actionId.equals(ActionKeys.VIEW) && !contains(permissionChecker, page, ActionKeys.UPDATE)) {

            return false;
        }
    }

    if (actionId.equals(ActionKeys.VIEW)) {
        WikiPage redirectPage = page.fetchRedirectPage();

        if (redirectPage != null) {
            page = redirectPage;
        }

        if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
            WikiNode node = page.getNode();

            if (!WikiNodePermissionChecker.contains(permissionChecker, node, actionId)) {

                return false;
            }

            while (page != null) {
                if (!_hasPermission(permissionChecker, page, actionId)) {
                    return false;
                }

                page = page.fetchParentPage();
            }

            return true;
        }
    }

    return _hasPermission(permissionChecker, page, actionId);
}

From source file:com.liferay.wiki.subscription.test.WikiSubscriptionBaseModelTest.java

License:Open Source License

@Override
protected void removeContainerModelResourceViewPermission() throws Exception {

    RoleTestUtil.removeResourcePermission(RoleConstants.GUEST, WikiNode.class.getName(),
            ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(_node.getNodeId()), ActionKeys.VIEW);

    RoleTestUtil.removeResourcePermission(RoleConstants.SITE_MEMBER, WikiNode.class.getName(),
            ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(_node.getNodeId()), ActionKeys.VIEW);
}

From source file:com.liferay.wiki.util.WikiUtil.java

License:Open Source License

public static List<WikiNode> getNodes(List<WikiNode> nodes, String[] hiddenNodes,
        PermissionChecker permissionChecker) {

    nodes = ListUtil.copy(nodes);//  ww  w . j a  v  a2 s. c  om

    Arrays.sort(hiddenNodes);

    Iterator<WikiNode> itr = nodes.iterator();

    while (itr.hasNext()) {
        WikiNode node = itr.next();

        if (!(Arrays.binarySearch(hiddenNodes, node.getName()) < 0)
                || !WikiNodePermissionChecker.contains(permissionChecker, node, ActionKeys.VIEW)) {

            itr.remove();
        }
    }

    return nodes;
}

From source file:com.liferay.wiki.web.internal.asset.WikiPageAssetRenderer.java

License:Open Source License

@Override
public boolean hasViewPermission(PermissionChecker permissionChecker) throws PortalException {

    return WikiPagePermission.contains(permissionChecker, _page, ActionKeys.VIEW);
}

From source file:com.liferay.wiki.web.internal.portlet.action.ActionUtil.java

License:Open Source License

public static WikiNode getFirstNode(PortletRequest portletRequest) throws PortalException {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long groupId = themeDisplay.getScopeGroupId();
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    List<WikiNode> nodes = WikiNodeLocalServiceUtil.getNodes(groupId);

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    WikiPortletInstanceOverriddenConfiguration wikiPortletInstanceOverriddenConfiguration = ConfigurationProviderUtil
            .getConfiguration(WikiPortletInstanceOverriddenConfiguration.class,
                    new PortletInstanceSettingsLocator(themeDisplay.getLayout(), portletDisplay.getId()));

    String[] visibleNodeNames = wikiPortletInstanceOverriddenConfiguration.visibleNodes();

    nodes = WikiUtil.orderNodes(nodes, visibleNodeNames);

    String[] hiddenNodes = wikiPortletInstanceOverriddenConfiguration.hiddenNodes();

    Arrays.sort(hiddenNodes);/*from   w  ww  .jav  a 2 s. co m*/

    for (WikiNode node : nodes) {
        if ((Arrays.binarySearch(hiddenNodes, node.getName()) < 0)
                && WikiNodePermissionChecker.contains(permissionChecker, node, ActionKeys.VIEW)) {

            return node;
        }
    }

    return null;
}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularTeamServiceImpl.java

License:Open Source License

@Override
public com.liferay.portal.kernel.model.Team getTeam(long teamId) throws PortalException {

    _log.info("Getting user team with team id: " + String.valueOf(teamId));

    _log.debug("    ... security check ...");

    this.checkPersonalPermission(AngularActionKeys.LIST_TEAMS);

    this.hasResourcePermission(teamId, ActionKeys.VIEW);

    _log.debug("    ... getting information ... ");

    com.liferay.portal.kernel.model.Team team = TeamLocalServiceUtil.getTeam(teamId);

    _log.debug("    ... returning team => " + team);

    return team;//from  w  w w  . ja v a2s .  co m
}

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularTeamServiceImpl.java

License:Open Source License

@Override
public java.util.List<com.liferay.portal.kernel.model.Team> getTeamsForUserGroup(long userGroupId)
        throws PortalException {

    _log.info("Getting user group teams for user group " + String.valueOf(userGroupId));

    _log.debug("    ... security check ...");

    this.checkPersonalPermission(AngularActionKeys.LIST_TEAMS);

    // Check if user has the right to view the group
    UserGroupPermissionUtil.check(getPermissionChecker(), userGroupId, ActionKeys.VIEW);

    java.util.List<com.liferay.portal.kernel.model.Team> teams = TeamLocalServiceUtil
            .getUserGroupTeams(userGroupId);

    if (teams != null) {
        for (com.liferay.portal.kernel.model.Team team : teams) {

            // All teams have also the right to be shown?
            this.hasResourcePermission(team.getTeamId(), ActionKeys.VIEW);
        }/*from ww w.j  a v  a  2  s.  c om*/
    }

    _log.debug("    ... returning team list => " + teams);

    return teams;
}