1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.childpages.web.portlet;
35
36 import fr.paris.lutece.plugins.childpages.business.portlet.ChildPagesPortlet;
37 import fr.paris.lutece.plugins.childpages.business.portlet.ChildPagesPortletHome;
38 import fr.paris.lutece.portal.business.page.PageHome;
39 import fr.paris.lutece.portal.business.portlet.PortletHome;
40 import fr.paris.lutece.portal.service.message.AdminMessage;
41 import fr.paris.lutece.portal.service.message.AdminMessageService;
42 import fr.paris.lutece.portal.service.template.AppTemplateService;
43 import fr.paris.lutece.portal.service.util.AppException;
44 import fr.paris.lutece.portal.web.constants.Messages;
45 import fr.paris.lutece.portal.web.portlet.PortletJspBean;
46 import fr.paris.lutece.util.html.HtmlTemplate;
47
48 import java.util.HashMap;
49
50 import javax.servlet.http.HttpServletRequest;
51
52
53
54
55
56 public class ChildPagesPortletJspBean extends PortletJspBean
57 {
58
59
60
61
62 public static final String RIGHT_MANAGE_ADMIN_SITE = "CORE_ADMIN_SITE";
63
64
65 private static final String MESSAGE_PORTLET_CHILD_PAGE_INEXISTENT = "childpages.message.portlet.childpageInexistent";
66 private static final String MESSAGE_PORTLET_CHILD_PAGE_PARENT_NOT_VALID = "childpages.message.portlet.childpageParentNotValid";
67
68
69 private static final String TEMPLATE_HELP_PARENT_PAGE = "admin/plugins/childpages/help_parent_page.html";
70
71
72 private static final String PARAMETER_PARENT_ID = "parent_id";
73
74
75 private static final String MARK_PARENT_ID = "page_id_parent";
76
77
78
79
80
81
82 public String getPropertiesPrefix( )
83 {
84 return "portlet.child.pages";
85 }
86
87
88
89
90
91
92
93 public String getCreate( HttpServletRequest request )
94 {
95 String strIdPage = request.getParameter( PARAMETER_PAGE_ID );
96 String strIdPortletType = request.getParameter( PARAMETER_PORTLET_TYPE_ID );
97 HashMap model = new HashMap( );
98 model.put( MARK_PARENT_ID, strIdPage );
99
100 HtmlTemplate template = getCreateTemplate( strIdPage, strIdPortletType, model );
101
102 return template.getHtml( );
103 }
104
105 public String getModify( HttpServletRequest request )
106 {
107 String strIdPortlet = request.getParameter( PARAMETER_PORTLET_ID );
108 int nIdPortlet = Integer.parseInt( strIdPortlet );
109 ChildPagesPortlet../../../fr/paris/lutece/plugins/childpages/business/portlet/ChildPagesPortlet.html#ChildPagesPortlet">ChildPagesPortlet portlet = (ChildPagesPortlet) PortletHome.findByPrimaryKey( nIdPortlet );
110
111
112 int nIdParentPage = portlet.getParentPageId( );
113
114 HashMap model = new HashMap( );
115 model.put( MARK_PARENT_ID, nIdParentPage );
116
117 HtmlTemplate template = getModifyTemplate( portlet, model );
118
119 return template.getHtml( );
120 }
121
122
123
124
125
126
127
128 public String doCreate( HttpServletRequest request )
129 {
130 ChildPagesPortletges/business/portlet/ChildPagesPortlet.html#ChildPagesPortlet">ChildPagesPortlet portlet = new ChildPagesPortlet( );
131 String strIdPage = request.getParameter( PARAMETER_PAGE_ID );
132 int nIdPage = Integer.parseInt( strIdPage );
133
134
135 String strParentPage = request.getParameter( PARAMETER_PARENT_ID );
136
137
138 if ( strParentPage.trim( ).equals( "" ) || ( strParentPage == null ) )
139 {
140 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
141 }
142
143 int nIdParentPage;
144
145 try
146 {
147 nIdParentPage = Integer.parseInt( strParentPage );
148 }
149 catch ( NumberFormatException nb )
150 {
151
152 return AdminMessageService.getMessageUrl( request, MESSAGE_PORTLET_CHILD_PAGE_PARENT_NOT_VALID,
153 AdminMessage.TYPE_STOP );
154 }
155
156 try
157 {
158 PageHome.getPage( nIdParentPage );
159 }
160 catch ( AppException ex )
161 {
162
163 return AdminMessageService.getMessageUrl( request, MESSAGE_PORTLET_CHILD_PAGE_INEXISTENT,
164 AdminMessage.TYPE_STOP );
165 }
166
167
168 String strErrorUrl = setPortletCommonData( request, portlet );
169
170 if ( strErrorUrl != null )
171 {
172 return strErrorUrl;
173 }
174
175 portlet.setPageId( nIdPage );
176
177
178 portlet.setParentPageId( nIdParentPage );
179
180
181 ChildPagesPortletHome.getInstance( ).create( portlet );
182
183
184 return getPageUrl( nIdPage );
185 }
186
187
188
189
190
191
192
193 public String doModify( HttpServletRequest request )
194 {
195
196 String strIdPortlet = request.getParameter( PARAMETER_PORTLET_ID );
197 int nIdPortlet = Integer.parseInt( strIdPortlet );
198 ChildPagesPortlet../../../fr/paris/lutece/plugins/childpages/business/portlet/ChildPagesPortlet.html#ChildPagesPortlet">ChildPagesPortlet portlet = (ChildPagesPortlet) PortletHome.findByPrimaryKey( nIdPortlet );
199
200
201 String strErrorUrl = setPortletCommonData( request, portlet );
202
203 if ( strErrorUrl != null )
204 {
205 return strErrorUrl;
206 }
207
208
209 String strParentPage = request.getParameter( PARAMETER_PARENT_ID );
210
211 if ( strParentPage.trim( ).equals( "" ) || ( strParentPage == null ) )
212 {
213 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
214 }
215
216 int nIdPageMere;
217
218 try
219 {
220 nIdPageMere = Integer.parseInt( strParentPage );
221 }
222 catch ( NumberFormatException nb )
223 {
224
225 return AdminMessageService.getMessageUrl( request, MESSAGE_PORTLET_CHILD_PAGE_PARENT_NOT_VALID,
226 AdminMessage.TYPE_STOP );
227 }
228
229 try
230 {
231 PageHome.getPage( nIdPageMere );
232 }
233 catch ( AppException ex )
234 {
235
236 return AdminMessageService.getMessageUrl( request, MESSAGE_PORTLET_CHILD_PAGE_INEXISTENT,
237 AdminMessage.TYPE_STOP );
238 }
239
240
241 portlet.setParentPageId( nIdPageMere );
242
243
244 portlet.update( );
245
246
247 return getPageUrl( portlet.getPageId( ) );
248 }
249
250
251
252
253
254
255 public String getHelpParentPage( HttpServletRequest request )
256 {
257 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_HELP_PARENT_PAGE );
258
259 return template.getHtml( );
260 }
261 }