Example usage for com.liferay.portal.kernel.model Layout isRootLayout

List of usage examples for com.liferay.portal.kernel.model Layout isRootLayout

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.model Layout isRootLayout.

Prototype

public boolean isRootLayout();

Source Link

Document

Returns true if the current layout is the root layout.

Usage

From source file:com.liferay.layout.admin.web.internal.display.context.LayoutsAdminDisplayContext.java

License:Open Source License

public boolean showDeleteAction(Layout layout) throws PortalException {
    if (StagingUtil.isIncomplete(layout)) {
        return false;
    }//from   ww w . j av a2  s  .co m

    if (!LayoutPermissionUtil.contains(_themeDisplay.getPermissionChecker(), layout, ActionKeys.DELETE)) {

        return false;
    }

    Group group = layout.getGroup();

    int layoutsCount = LayoutLocalServiceUtil.getLayoutsCount(group, false,
            LayoutConstants.DEFAULT_PARENT_LAYOUT_ID);

    if (group.isGuest() && !layout.isPrivateLayout() && layout.isRootLayout() && (layoutsCount == 1)) {

        return false;
    }

    return true;
}

From source file:com.liferay.layout.admin.web.internal.portlet.action.DeleteLayoutMVCActionCommand.java

License:Open Source License

protected void deleteLayout(long selPlid, ActionRequest actionRequest, ActionResponse actionResponse)
        throws PortalException {

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

    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    Layout layout = _layoutLocalService.getLayout(selPlid);

    Group group = layout.getGroup();

    if (group.isStagingGroup()
            && !GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.MANAGE_STAGING)
            && !GroupPermissionUtil.contains(permissionChecker, group, ActionKeys.PUBLISH_STAGING)) {

        throw new PrincipalException.MustHavePermission(permissionChecker, Group.class.getName(),
                group.getGroupId(), ActionKeys.MANAGE_STAGING, ActionKeys.PUBLISH_STAGING);
    }//from   www  . j  a  v a2s  .  c  o m

    if (LayoutPermissionUtil.contains(permissionChecker, layout, ActionKeys.DELETE)) {

        LayoutType layoutType = layout.getLayoutType();

        EventsProcessorUtil.process(PropsKeys.LAYOUT_CONFIGURATION_ACTION_DELETE,
                layoutType.getConfigurationActionDelete(), _portal.getHttpServletRequest(actionRequest),
                _portal.getHttpServletResponse(actionResponse));
    }

    if (group.isGuest() && !layout.isPrivateLayout() && layout.isRootLayout() && (_layoutLocalService
            .getLayoutsCount(group, false, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID) == 1)) {

        throw new RequiredLayoutException(RequiredLayoutException.AT_LEAST_ONE);
    }

    ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);

    _layoutService.deleteLayout(selPlid, serviceContext);
}

From source file:com.liferay.layout.internal.util.LayoutsTreeImpl.java

License:Open Source License

private boolean _isDeleteable(Layout layout, ThemeDisplay themeDisplay, LayoutSetBranch layoutSetBranch)
        throws PortalException {

    if (!LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), layout, ActionKeys.DELETE)) {

        return false;
    }/*from  w  w  w  . j  av a  2 s  .c om*/

    Group group = layout.getGroup();

    if (group.isGuest() && !layout.isPrivateLayout() && layout.isRootLayout() && (_layoutLocalService
            .getLayoutsCount(group, false, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID) == 1)) {

        return false;
    }

    if (layoutSetBranch != null) {
        List<LayoutRevision> layoutRevisions = _layoutRevisionLocalService
                .getLayoutRevisions(layoutSetBranch.getLayoutSetBranchId(), layout.getPlid());

        if (layoutRevisions.size() == 1) {
            LayoutRevision layoutRevision = layoutRevisions.get(0);

            if (layoutRevision.isIncomplete()) {
                return false;
            }
        }
    }

    return true;
}

From source file:com.liferay.site.navigation.taglib.servlet.taglib.NavigationTag.java

License:Open Source License

protected List<NavItem> getBranchNavItems(HttpServletRequest request) throws PortalException {

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

    Layout layout = themeDisplay.getLayout();

    if (layout.isRootLayout()) {
        return Collections.singletonList(new NavItem(request, themeDisplay, layout, null));
    }/* ww w  .  j  a v a2s  . c om*/

    List<Layout> ancestorLayouts = layout.getAncestors();

    List<NavItem> navItems = new ArrayList<>(ancestorLayouts.size() + 1);

    ListIterator<Layout> listIterator = ancestorLayouts.listIterator(ancestorLayouts.size());

    while (listIterator.hasPrevious()) {
        Layout ancestorLayout = listIterator.previous();

        navItems.add(new NavItem(request, themeDisplay, ancestorLayout, null));
    }

    navItems.add(new NavItem(request, themeDisplay, layout, null));

    return navItems;
}

From source file:com.liferay.tool.datamanipulator.handler.content.LayoutHandler.java

License:Open Source License

private List<KeyValuePair> _getLayoutNameIdPairs(long groupId, boolean privateLayout) throws SystemException {

    List<KeyValuePair> layoutNameIdPairs = new ArrayList<KeyValuePair>();

    List<Layout> layouts = LayoutLocalServiceUtil.getLayouts(groupId, privateLayout);

    for (Layout layout : layouts) {
        if (layout.isHidden() || !layout.isRootLayout() || layout.isTypeControlPanel()
                || layout.isTypeControlPanel() || layout.isTypeURL()) {

            continue;
        }//from   w w w .  ja  v a2 s.co  m

        String layoutId = String.valueOf(layout.getLayoutId());
        String layoutName = layout.getNameCurrentValue(); //getName();

        layoutNameIdPairs.add(new KeyValuePair(layoutName, layoutId));
    }

    return layoutNameIdPairs;
}