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.myapps.web.portlet;
35
36 import fr.paris.lutece.plugins.myapps.business.portlet.MyAppsPortlet;
37 import fr.paris.lutece.plugins.myapps.service.MyAppsManager;
38 import fr.paris.lutece.plugins.myapps.service.MyAppsProvider;
39 import fr.paris.lutece.plugins.myapps.service.portlet.MyAppsPortletService;
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.security.LuteceUser;
43 import fr.paris.lutece.portal.service.security.SecurityService;
44 import fr.paris.lutece.portal.service.security.UserNotSignedException;
45 import fr.paris.lutece.portal.service.util.AppPathService;
46 import fr.paris.lutece.portal.web.constants.Parameters;
47 import fr.paris.lutece.portal.web.portlet.PortletJspBean;
48 import fr.paris.lutece.util.html.HtmlTemplate;
49
50 import org.apache.commons.lang.StringUtils;
51
52 import javax.servlet.http.HttpServletRequest;
53
54
55
56
57
58
59
60 public class MyAppsPortletJspBean extends PortletJspBean
61 {
62 private static final String PARAMETER_PLUGIN_NAME = "plugin_name";
63 private static final String PARAMETER_MYAPP_ID = "myapp_id";
64 private static final String MESSAGE_NOT_NUMERIC = "myapps.message.notNumeric";
65 private static final String MESSAGE_ERROR = "message.error";
66
67
68
69
70
71
72
73 public String getCreate( HttpServletRequest request )
74 {
75 String strPageId = request.getParameter( Parameters.PAGE_ID );
76 String strPortletTypeId = request.getParameter( Parameters.PORTLET_TYPE_ID );
77 HtmlTemplate template = getCreateTemplate( strPageId, strPortletTypeId );
78
79 return template.getHtml( );
80 }
81
82
83
84
85
86
87
88 public String doCreate( HttpServletRequest request )
89 {
90 String strUrl = StringUtils.EMPTY;
91 String strPageId = request.getParameter( Parameters.PAGE_ID );
92
93 if ( StringUtils.isNotBlank( strPageId ) && StringUtils.isNumeric( strPageId ) )
94 {
95 MyAppsPortlet portlet = new MyAppsPortlet( );
96 String strErrorUrl = setPortletCommonData( request, portlet );
97
98 if ( StringUtils.isBlank( strErrorUrl ) )
99 {
100 int nIdPage = Integer.parseInt( strPageId );
101 portlet.setPageId( nIdPage );
102 MyAppsPortletService.getInstance( ).create( portlet );
103
104
105 strUrl = getPageUrl( nIdPage );
106 }
107 else
108 {
109 strUrl = strErrorUrl;
110 }
111 }
112 else
113 {
114 strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_NOT_NUMERIC, AdminMessage.TYPE_ERROR );
115 }
116
117 return strUrl;
118 }
119
120
121
122
123
124
125
126 public String getModify( HttpServletRequest request )
127 {
128 String strHtml = StringUtils.EMPTY;
129 String strPortletId = request.getParameter( Parameters.PORTLET_ID );
130
131 if ( StringUtils.isNotBlank( strPortletId ) && StringUtils.isNumeric( strPortletId ) )
132 {
133 int nPortletId = Integer.parseInt( strPortletId );
134 MyAppsPortlet portlet = MyAppsPortletService.getInstance( ).findByPrimaryKey( nPortletId );
135
136 if ( portlet != null )
137 {
138 HtmlTemplate template = getModifyTemplate( portlet );
139 strHtml = template.getHtml( );
140 }
141 else
142 {
143 strHtml = AdminMessageService.getMessageUrl( request, MESSAGE_ERROR, AdminMessage.TYPE_ERROR );
144 }
145 }
146 else
147 {
148 strHtml = AdminMessageService.getMessageUrl( request, MESSAGE_NOT_NUMERIC, AdminMessage.TYPE_ERROR );
149 }
150
151 return strHtml;
152 }
153
154
155
156
157
158
159
160 public String doModify( HttpServletRequest request )
161 {
162 String strUrl = StringUtils.EMPTY;
163 String strPortletId = request.getParameter( Parameters.PAGE_ID );
164
165 if ( StringUtils.isNotBlank( strPortletId ) && StringUtils.isNumeric( strPortletId ) )
166 {
167 int nPortletId = Integer.parseInt( strPortletId );
168 MyAppsPortlet portlet = MyAppsPortletService.getInstance( ).findByPrimaryKey( nPortletId );
169
170 if ( portlet != null )
171 {
172 String strErrorUrl = setPortletCommonData( request, portlet );
173
174 if ( StringUtils.isBlank( strErrorUrl ) )
175 {
176 int nIdPage = Integer.parseInt( strPortletId );
177 portlet.setPageId( nIdPage );
178 MyAppsPortletService.getInstance( ).update( portlet );
179
180
181 strUrl = getPageUrl( portlet.getPageId( ) );
182 }
183 else
184 {
185 strUrl = strErrorUrl;
186 }
187 }
188 else
189 {
190 strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_ERROR, AdminMessage.TYPE_ERROR );
191 }
192 }
193 else
194 {
195 strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_NOT_NUMERIC, AdminMessage.TYPE_ERROR );
196 }
197
198 return strUrl;
199 }
200
201
202
203
204
205
206
207
208 public String doOpenMyApp( HttpServletRequest request )
209 throws UserNotSignedException
210 {
211 String strUrl = AppPathService.getBaseUrl( request );
212 LuteceUser user = SecurityService.getInstance( ).getRemoteUser( request );
213
214 if ( user != null )
215 {
216 String strPluginName = request.getParameter( PARAMETER_PLUGIN_NAME );
217 String strMyAppId = request.getParameter( PARAMETER_MYAPP_ID );
218
219 if ( StringUtils.isNotBlank( strPluginName ) && StringUtils.isNotBlank( strMyAppId ) &&
220 StringUtils.isNumeric( strMyAppId ) )
221 {
222 int nMyAppId = Integer.parseInt( strMyAppId );
223 MyAppsProvider provider = MyAppsManager.getInstance( ).getProvider( strPluginName );
224
225 if ( provider != null )
226 {
227 strUrl = provider.getUrlOpenMyApps( nMyAppId, user );
228 }
229 }
230 }
231 else
232 {
233 throw new UserNotSignedException( );
234 }
235
236 return strUrl;
237 }
238 }