1
22
23 package com.liferay.portlet.myplaces.action;
24
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portal.kernel.util.StringPool;
27 import com.liferay.portal.model.Layout;
28 import com.liferay.portal.model.LayoutConstants;
29 import com.liferay.portal.service.LayoutLocalServiceUtil;
30 import com.liferay.portal.service.LayoutServiceUtil;
31 import com.liferay.portal.struts.PortletAction;
32 import com.liferay.portal.util.PortalUtil;
33 import com.liferay.portal.util.PortletKeys;
34 import com.liferay.portlet.PortletURLImpl;
35
36 import java.util.List;
37
38 import javax.portlet.ActionRequest;
39 import javax.portlet.ActionResponse;
40 import javax.portlet.PortletConfig;
41 import javax.portlet.PortletMode;
42 import javax.portlet.PortletRequest;
43 import javax.portlet.PortletURL;
44 import javax.portlet.WindowState;
45
46 import javax.servlet.http.HttpServletRequest;
47
48 import org.apache.struts.action.ActionForm;
49 import org.apache.struts.action.ActionMapping;
50
51
57 public class EditPagesAction extends PortletAction {
58
59 public void processAction(
60 ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
61 ActionRequest actionRequest, ActionResponse actionResponse)
62 throws Exception {
63
64 String redirect = ParamUtil.getString(actionRequest, "redirect");
65
66 long groupId = ParamUtil.getLong(actionRequest, "groupId");
67 boolean privateLayout = ParamUtil.getBoolean(
68 actionRequest, "privateLayout");
69
70 Layout layout = null;
71
72 List<Layout> layouts = LayoutLocalServiceUtil.getLayouts(
73 groupId, privateLayout, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID, 0,
74 1);
75
76 if (layouts.size() > 0) {
77 layout = layouts.get(0);
78 }
79 else {
80 long parentLayoutId = LayoutConstants.DEFAULT_PARENT_LAYOUT_ID;
81 String name = "New Page";
82 String title = StringPool.BLANK;
83 String description = StringPool.BLANK;
84 String type = LayoutConstants.TYPE_PORTLET;
85 boolean hidden = false;
86 String friendlyURL = StringPool.BLANK;
87
88 layout = LayoutServiceUtil.addLayout(
89 groupId, privateLayout, parentLayoutId, name, title,
90 description, type, hidden, friendlyURL);
91 }
92
93 if (layout != null) {
94 String tabs1 = "public-pages";
95
96 if (privateLayout) {
97 tabs1 = "private-pages";
98 }
99
100 HttpServletRequest request = PortalUtil.getHttpServletRequest(
101 actionRequest);
102
103 PortletURL portletURL = new PortletURLImpl(
104 request, PortletKeys.LAYOUT_MANAGEMENT, layout.getPlid(),
105 PortletRequest.RENDER_PHASE);
106
107 portletURL.setWindowState(WindowState.MAXIMIZED);
108 portletURL.setPortletMode(PortletMode.VIEW);
109
110 portletURL.setParameter(
111 "struts_action", "/layout_management/edit_pages");
112 portletURL.setParameter("tabs1", tabs1);
113 portletURL.setParameter("redirect", redirect);
114 portletURL.setParameter("groupId", String.valueOf(groupId));
115
116 actionResponse.sendRedirect(portletURL.toString());
117 }
118 }
119
120 }