List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getPermissionChecker
@JSON(include = false)
public PermissionChecker getPermissionChecker()
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void getLookAndFeel(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); try {/*www . j a v a 2 s .c om*/ Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(resourceRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return; } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); JSONObject portletSetupJSONObject = PortletSetupUtil.cssToJSONObject(portletSetup); JSONObject defaultPortletTitlesJSONObject = JSONFactoryUtil.createJSONObject(); for (Locale locale : LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId())) { String rootPortletId = PortletConstants.getRootPortletId(portletId); String languageId = LocaleUtil.toLanguageId(locale); defaultPortletTitlesJSONObject.put(languageId, _portal.getPortletTitle(rootPortletId, languageId)); } portletSetupJSONObject.put("defaultPortletTitles", defaultPortletTitlesJSONObject); writeJSON(resourceRequest, resourceResponse, portletSetupJSONObject.toString()); } catch (Exception e) { throw new PortletException(e); } }
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void updateLookAndFeel(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(actionRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return;/* ww w .j av a 2 s . c o m*/ } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); String css = ParamUtil.getString(actionRequest, "css"); if (_log.isDebugEnabled()) { _log.debug("Updating css " + css); } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(css); JSONObject portletDataJSONObject = jsonObject.getJSONObject("portletData"); jsonObject.remove("portletData"); css = jsonObject.toString(); String linkToLayoutUuid = GetterUtil.getString(portletDataJSONObject.getString("portletLinksTarget")); String portletDecoratorId = portletDataJSONObject.getString("portletDecoratorId"); JSONObject titlesJSONObject = portletDataJSONObject.getJSONObject("titles"); boolean useCustomTitle = portletDataJSONObject.getBoolean("useCustomTitle"); Set<Locale> locales = LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId()); for (Locale locale : locales) { String languageId = LocaleUtil.toLanguageId(locale); String title = null; if (titlesJSONObject.has(languageId)) { title = GetterUtil.getString(titlesJSONObject.getString(languageId)); } String rootPortletId = PortletConstants.getRootPortletId(portletId); String defaultPortletTitle = _portal.getPortletTitle(rootPortletId, languageId); if ((title != null) && !Objects.equals(defaultPortletTitle, title)) { portletSetup.setValue("portletSetupTitle_" + languageId, title); } else { portletSetup.reset("portletSetupTitle_" + languageId); } } portletSetup.setValue("portletSetupUseCustomTitle", String.valueOf(useCustomTitle)); if (Validator.isNotNull(linkToLayoutUuid)) { portletSetup.setValue("portletSetupLinkToLayoutUuid", linkToLayoutUuid); } else { portletSetup.reset("portletSetupLinkToLayoutUuid"); } if (Validator.isNotNull(portletDecoratorId)) { portletSetup.setValue("portletSetupPortletDecoratorId", portletDecoratorId); } else { portletSetup.reset("portletSetupPortletDecoratorId"); } portletSetup.setValue("portletSetupCss", css); portletSetup.store(); }
From source file:com.liferay.portlet.configuration.icon.maximize.internal.MaximizePortletConfigurationIcon.java
License:Open Source License
protected boolean hasUpdateLayoutPermission(ThemeDisplay themeDisplay) { try {//from w w w . j a va 2 s . c o m return LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(), ActionKeys.UPDATE); } catch (PortalException pe) { _log.error(pe, pe); return false; } }
From source file:com.liferay.portlet.configuration.web.internal.portlet.configuration.icon.ConfigurationTemplatesPortletConfigurationIcon.java
License:Open Source License
@Override public boolean isShow(PortletRequest portletRequest) { ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); try {/*w w w. jav a 2 s .c o m*/ if (!GroupPermissionUtil.contains(permissionChecker, themeDisplay.getScopeGroupId(), ActionKeys.MANAGE_ARCHIVED_SETUPS)) { return false; } } catch (PortalException pe) { // LPS-52675 if (_log.isDebugEnabled()) { _log.debug(pe, pe); } return false; } WindowState windowState = portletRequest.getWindowState(); if (windowState.equals(LiferayWindowState.EXCLUSIVE)) { return false; } Layout layout = themeDisplay.getLayout(); if (layout.isTypeControlPanel()) { return false; } PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); return portletDisplay.isShowConfigurationIcon(); }
From source file:com.liferay.portlet.configuration.web.internal.portlet.configuration.icon.PermissionsPortletConfigurationIcon.java
License:Open Source License
@Override public boolean isShow(PortletRequest portletRequest) { ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); String rootPortletId = portletDisplay.getRootPortletId(); if (Validator.isNotNull(portletDisplay.getPortletResource())) { String portletResource = portletDisplay.getPortletResource(); Portlet portlet = _portletLocalService.getPortletById(themeDisplay.getCompanyId(), portletResource); rootPortletId = portlet.getRootPortletId(); }//from w w w. ja v a 2 s .c om boolean showPermissionsIcon = false; Layout layout = themeDisplay.getLayout(); Group group = themeDisplay.getScopeGroup(); if (!group.hasStagingGroup() || _STAGING_LIVE_GROUP_LOCKING_ENABLED) { try { if (PortletPermissionUtil.contains(themeDisplay.getPermissionChecker(), layout, rootPortletId, ActionKeys.PERMISSIONS)) { showPermissionsIcon = true; } } catch (PortalException pe) { // LPS-52675 if (_log.isDebugEnabled()) { _log.debug(pe, pe); } showPermissionsIcon = false; } } if (layout.isLayoutPrototypeLinkActive()) { showPermissionsIcon = false; } if (layout.isTypeControlPanel()) { showPermissionsIcon = false; } return showPermissionsIcon; }
From source file:com.liferay.portlet.configuration.web.internal.portlet.PortletConfigurationPortlet.java
License:Open Source License
protected void checkEditPermissionsJSP(PortletRequest request) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); String modelResource = ParamUtil.getString(request, "modelResource"); long resourceGroupId = ParamUtil.getLong(request, "resourceGroupId", themeDisplay.getScopeGroupId()); if (Validator.isNotNull(modelResource)) { String resourcePrimKey = ParamUtil.getString(request, "resourcePrimKey"); _permissionService.checkPermission(resourceGroupId, modelResource, resourcePrimKey); return;/*from www . ja v a 2 s .c om*/ } String portletResource = ParamUtil.getString(request, "portletResource"); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); Layout layout = PortletConfigurationLayoutUtil.getLayout(themeDisplay); _portletPermission.check(permissionChecker, resourceGroupId, layout, portletResource, ActionKeys.PERMISSIONS); }
From source file:com.liferay.product.navigation.simulation.web.internal.product.navigation.control.menu.SimulationProductNavigationControlMenuEntry.java
License:Open Source License
@Override public boolean isShow(HttpServletRequest request) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isTypeControlPanel()) { return false; }//ww w .ja v a 2 s . c om List<PanelApp> panelApps = _panelAppRegistry.getPanelApps( ProductNavigationSimulationConstants.SIMULATION_PANEL_CATEGORY_KEY, themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroup()); if (panelApps.isEmpty()) { return false; } return super.isShow(request); }
From source file:com.liferay.product.navigation.user.personal.bar.web.internal.portlet.ProductNavigationUserPersonalBarPortlet.java
License:Open Source License
protected int getNotificationsCount(ThemeDisplay themeDisplay) { PanelCategoryHelper panelCategoryHelper = new PanelCategoryHelper(_panelAppRegistry, _panelCategoryRegistry);//w w w .j ava2 s .c o m return panelCategoryHelper.getNotificationsCount(PanelCategoryKeys.USER, themeDisplay.getPermissionChecker(), themeDisplay.getScopeGroup(), themeDisplay.getUser()); }
From source file:com.liferay.quick.note.web.internal.portlet.action.SaveMVCActionCommand.java
License:Open Source License
@Override public boolean processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); try {// www .j a va 2s . c o m PortletPermissionUtil.check(themeDisplay.getPermissionChecker(), themeDisplay.getLayout(), themeDisplay.getPpid(), ActionKeys.CONFIGURATION); PortletPreferences portletPreferences = PortletPreferencesFactoryUtil .getStrictPortletSetup(themeDisplay.getLayout(), themeDisplay.getPpid()); if (portletPreferences instanceof StrictPortletPreferencesImpl) { throw new PortletPreferencesException.MustBeStrict(themeDisplay.getPpid()); } String color = ParamUtil.getString(actionRequest, "color"); String data = ParamUtil.getString(actionRequest, "data"); if (Validator.isNotNull(color)) { portletPreferences.setValue("color", color); } if (Validator.isNotNull(data)) { portletPreferences.setValue("data", data); } portletPreferences.store(); } catch (Exception e) { throw new PortletException(e); } return true; }
From source file:com.liferay.roles.admin.web.internal.portlet.configuration.icon.DeleteRolePortletConfigurationIcon.java
License:Open Source License
@Override public boolean isShow(PortletRequest portletRequest) { try {/* w w w.j a va2s. c o m*/ ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); long roleId = _getRoleId(portletRequest); Role role = _roleService.fetchRole(roleId); if (!role.isSystem() && RolePermissionUtil.contains(themeDisplay.getPermissionChecker(), roleId, ActionKeys.DELETE)) { return true; } return false; } catch (Exception e) { } return false; }