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