1
19
20 package com.liferay.portlet.portletconfiguration.action;
21
22 import com.liferay.portal.kernel.util.ParamUtil;
23 import com.liferay.portal.model.Layout;
24 import com.liferay.portal.security.permission.ActionKeys;
25 import com.liferay.portal.security.permission.PermissionChecker;
26 import com.liferay.portal.service.permission.PortletPermissionUtil;
27 import com.liferay.portal.struts.JSONAction;
28 import com.liferay.portal.theme.ThemeDisplay;
29 import com.liferay.portal.util.WebKeys;
30 import com.liferay.portlet.PortletPreferencesFactoryUtil;
31 import com.liferay.portlet.PortletSetupUtil;
32
33 import javax.portlet.PortletPreferences;
34
35 import javax.servlet.http.HttpServletRequest;
36 import javax.servlet.http.HttpServletResponse;
37
38 import org.apache.struts.action.ActionForm;
39 import org.apache.struts.action.ActionMapping;
40
41
47 public class GetLookAndFeelAction extends JSONAction {
48
49 public String getJSON(
50 ActionMapping mapping, ActionForm form, HttpServletRequest request,
51 HttpServletResponse response)
52 throws Exception {
53
54 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
55 WebKeys.THEME_DISPLAY);
56
57 Layout layout = themeDisplay.getLayout();
58
59 PermissionChecker permissionChecker =
60 themeDisplay.getPermissionChecker();
61
62 String portletId = ParamUtil.getString(request, "portletId");
63
64 if (!PortletPermissionUtil.contains(
65 permissionChecker, themeDisplay.getPlid(), portletId,
66 ActionKeys.CONFIGURATION)) {
67
68 return null;
69 }
70
71 PortletPreferences portletSetup =
72 PortletPreferencesFactoryUtil.getLayoutPortletSetup(
73 layout, portletId);
74
75 return PortletSetupUtil.cssToString(portletSetup);
76 }
77
78 }