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.impl.LayoutImpl;
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.PortletURL;
43 import javax.portlet.WindowState;
44
45 import javax.servlet.http.HttpServletRequest;
46
47 import org.apache.struts.action.ActionForm;
48 import org.apache.struts.action.ActionMapping;
49
50
56 public class EditPagesAction extends PortletAction {
57
58 public void processAction(
59 ActionMapping mapping, ActionForm form, PortletConfig config,
60 ActionRequest req, ActionResponse res)
61 throws Exception {
62
63 long groupId = ParamUtil.getLong(req, "groupId");
64 boolean privateLayout = ParamUtil.getBoolean(req, "privateLayout");
65
66 Layout layout = null;
67
68 List layouts = LayoutLocalServiceUtil.getLayouts(
69 groupId, privateLayout, LayoutImpl.DEFAULT_PARENT_LAYOUT_ID, 0, 1);
70
71 if (layouts.size() > 0) {
72 layout = (Layout)layouts.get(0);
73 }
74 else {
75 long parentLayoutId = LayoutImpl.DEFAULT_PARENT_LAYOUT_ID;
76 String name = "New Page";
77 String title = StringPool.BLANK;
78 String description = StringPool.BLANK;
79 String type = LayoutImpl.TYPE_PORTLET;
80 boolean hidden = false;
81 String friendlyURL = StringPool.BLANK;
82
83 layout = LayoutServiceUtil.addLayout(
84 groupId, privateLayout, parentLayoutId, name, title,
85 description, type, hidden, friendlyURL);
86 }
87
88 if (layout != null) {
89 String tabs2 = "public";
90
91 if (privateLayout) {
92 tabs2 = "private";
93 }
94
95 HttpServletRequest httReq = PortalUtil.getHttpServletRequest(req);
96
97 PortletURL portletURL = new PortletURLImpl(
98 httReq, PortletKeys.LAYOUT_MANAGEMENT, layout.getPlid(), false);
99
100 portletURL.setWindowState(WindowState.MAXIMIZED);
101 portletURL.setPortletMode(PortletMode.VIEW);
102
103 portletURL.setParameter(
104 "struts_action", "/layout_management/edit_pages");
105 portletURL.setParameter("tabs2", tabs2);
106 portletURL.setParameter("groupId", String.valueOf(groupId));
107
108 res.sendRedirect(portletURL.toString());
109 }
110 }
111
112 }