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.rss.web;
35
36 import fr.paris.lutece.plugins.rss.business.RssFeed;
37 import fr.paris.lutece.plugins.rss.business.RssFeedHome;
38 import fr.paris.lutece.plugins.rss.business.parameter.RssFeedParameterHome;
39 import fr.paris.lutece.plugins.rss.business.portlet.RssPortletHome;
40 import fr.paris.lutece.plugins.rss.service.RssContentLoader;
41 import fr.paris.lutece.plugins.rss.service.RssContentService;
42 import fr.paris.lutece.plugins.rss.service.RssParsingException;
43 import fr.paris.lutece.portal.business.portlet.PortletType;
44 import fr.paris.lutece.portal.business.portlet.PortletTypeHome;
45 import fr.paris.lutece.portal.business.rbac.RBAC;
46 import fr.paris.lutece.portal.business.style.Style;
47 import fr.paris.lutece.portal.business.style.StyleHome;
48 import fr.paris.lutece.portal.business.user.AdminUser;
49 import fr.paris.lutece.portal.service.admin.AccessDeniedException;
50 import fr.paris.lutece.portal.service.i18n.I18nService;
51 import fr.paris.lutece.portal.service.message.AdminMessage;
52 import fr.paris.lutece.portal.service.message.AdminMessageService;
53 import fr.paris.lutece.portal.service.rbac.RBACService;
54 import fr.paris.lutece.portal.service.template.AppTemplateService;
55 import fr.paris.lutece.portal.service.user.AdminUserResourceIdService;
56 import fr.paris.lutece.portal.service.util.AppLogService;
57 import fr.paris.lutece.portal.service.util.AppPropertiesService;
58 import fr.paris.lutece.portal.service.workgroup.AdminWorkgroupService;
59 import fr.paris.lutece.portal.web.admin.PluginAdminPageJspBean;
60 import fr.paris.lutece.portal.web.constants.Messages;
61 import fr.paris.lutece.util.ReferenceItem;
62 import fr.paris.lutece.util.ReferenceList;
63 import fr.paris.lutece.util.html.HtmlTemplate;
64 import fr.paris.lutece.util.html.Paginator;
65 import fr.paris.lutece.util.url.UrlItem;
66
67 import org.apache.commons.lang3.StringUtils;
68
69 import java.util.Collection;
70 import java.util.HashMap;
71 import java.util.List;
72 import java.util.Map;
73
74 import javax.servlet.http.HttpServletRequest;
75
76
77
78
79
80
81 public class RssFeedsJspBean extends PluginAdminPageJspBean
82 {
83 public static final String RIGHT_RSS_FEEDS_MANAGEMENT = "RSS_FEEDS_MANAGEMENT";
84
85
86 private static final String TEMPLATE_FEEDS = "admin/plugins/rss/manage_rss_feeds.html";
87 private static final String TEMPLATE_CREATE_RSS_FEED = "admin/plugins/rss/create_rss_feed.html";
88 private static final String TEMPLATE_MODIFY_RSS_FEED = "admin/plugins/rss/modify_rss_feed.html";
89 private static final String TEMPLATE_MANAGE_ADVANCED_PARAMETERS = "admin/plugins/rss/manage_advanced_parameters.html";
90
91
92 private static final String PARAMETER_RSS_FEED_ID = "id_rss_feed";
93 private static final String PARAMETER_RSS_FEED_NAME = "rss_feed_name";
94 private static final String PARAMETER_RSS_FEED_URL = "rss_feed_url";
95 private static final String PARAMETER_RSS_FEED_IS_ACTIVE = "rss_feed_is_active";
96 private static final String PARAMETER_RSS_FEED_NEW_ORDER = "new_order";
97 private static final String PARAMETER_PAGE_INDEX_ACTIVE = "page_index_active";
98 private static final String PARAMETER_ITEMS_PER_PAGE_ACTIVE = "items_per_page_active";
99 private static final String PARAMETER_PAGE_INDEX_INACTIVE = "page_index_inactive";
100 private static final String PARAMETER_ITEMS_PER_PAGE_INACTIVE = "items_per_page_inactive";
101 private static final String PARAMETER_WORKGROUP_KEY = "workgroup_key";
102 private static final String PARAMETER_INCLUDE_STYLE = "rss_style";
103
104
105 private static final String PROPERTY_PAGE_TITLE_FEEDS = "rss.manage_rss_feeds.pageTitle";
106 private static final String PROPERTY_PAGE_TITLE_CREATE = "rss.create_rss_feed.pageTitle";
107 private static final String PROPERTY_PAGE_TITLE_MODIFY = "rss.modify_rss_feed.pageTitle";
108 private static final String PROPERTY_RSS_PER_PAGE = "rss.rssPerPage";
109 private static final String PROPERTY_RSS_INCLUDE_BEGIN = "rss.manage_rss_feeds.include.begin";
110 private static final String PROPERTY_RSS_INCLUDE_END = "rss.manage_rss_feeds.include.end";
111
112
113 private static final String MARK_ACTIVE_RSS_FEEDS_LIST = "active_rss_feeds_list";
114 private static final String MARK_INACTIVE_RSS_FEEDS_LIST = "inactive_rss_feeds_list";
115 private static final String MARK_RSS_FEED = "rss_feed";
116 private static final String MARK_NB_ACTIVE_RSS_FEED = "nb_active_rss_feed";
117 private static final String MARK_PAGINATOR_ACTIVE = "paginator_active";
118 private static final String MARK_NB_ITEMS_PER_PAGE_ACTIVE = "nb_items_per_page_active";
119 private static final String MARK_PAGINATOR_INACTIVE = "paginator_inactive";
120 private static final String MARK_NB_ITEMS_PER_PAGE_INACTIVE = "nb_items_per_page_inactive";
121 private static final String MARK_USER_WORKGROUP_LIST = "user_workgroup_list";
122 private static final String MARK_WORKGROUP_SELECTED = "selected_workgroup";
123 private static final String MARK_RSS_INCLUDE_TAG = "rss_include_tag";
124 private static final String MARK_LIST_STYLE_RSS = "rss_style_list";
125 private static final String MARK_PERMISSION_ADVANCED_PARAMETER = "permission_advanced_parameter";
126
127
128 private static final String JSP_DELETE_RSS_FEED = "jsp/admin/plugins/rss/DoDeleteRssFeed.jsp";
129 private static final String JSP_ACTIVATE_RSS_FEED = "jsp/admin/plugins/rss/DoActivateRssFeed.jsp";
130
131
132 private static final String MESSAGE_CONFIRM_DELETE_RSS_FEED = "rss.message.confirmDeleteRssFeed";
133 private static final String MESSAGE_RSS_LINKED_PORTLET = "rss.message.linkedToPortlet";
134 private static final String MESSAGE_ACCESS_DENIED = "rss.message.accesDenied";
135
136
137 private static final String CONSTANTE_RSS_PORTLET_TYPE = "RSS_PORTLET";
138 private static final String ZERO = "0";
139 private static final String TRUE = "true";
140
141
142 private int _nItemsPerPageActive;
143 private String _strCurrentPageIndexActive;
144 private int _nItemsPerPageInactive;
145 private String _strCurrentPageIndexInactive;
146
147
148
149
150
151
152
153 public String getManageRssFeeds( HttpServletRequest request )
154 {
155 setPageTitleProperty( PROPERTY_PAGE_TITLE_FEEDS );
156 _nItemsPerPageActive = getItemsPerPage( request, true );
157 _strCurrentPageIndexActive = getPageIndex( request, true );
158 _nItemsPerPageInactive = getItemsPerPage( request, false );
159 _strCurrentPageIndexInactive = getPageIndex( request, false );
160
161 List<RssFeed> listRssFeedActive = RssFeedHome.getRssFeeds( true );
162 int nActiveRssFeeds = listRssFeedActive.size( );
163 listRssFeedActive = (List<RssFeed>) AdminWorkgroupService.getAuthorizedCollection( listRssFeedActive,
164 getUser( ) );
165
166 HashMap<String, Object> model = new HashMap<String, Object>( );
167 String strIncludeBegin = I18nService.getLocalizedString( PROPERTY_RSS_INCLUDE_BEGIN, getLocale( ) );
168 String strIncludeEnd = I18nService.getLocalizedString( PROPERTY_RSS_INCLUDE_END, getLocale( ) );
169
170 for ( RssFeed rssFeed : listRssFeedActive )
171 {
172 String strRssMarker = strIncludeBegin + RssFeedInclude.getRssMarkerPrefix( ) +
173 String.valueOf( rssFeed.getId( ) ) + strIncludeEnd;
174 rssFeed.setIncludeTag( strRssMarker );
175 }
176
177 boolean bPermissionAdvancedParameter = RBACService.isAuthorized( AdminUser.RESOURCE_TYPE,
178 RBAC.WILDCARD_RESOURCES_ID, AdminUserResourceIdService.PERMISSION_MANAGE_ADVANCED_PARAMETERS,
179 getUser( ) );
180
181 Paginator paginator_active = new Paginator( listRssFeedActive, _nItemsPerPageActive, getHomeUrl( request ),
182 PARAMETER_PAGE_INDEX_ACTIVE, _strCurrentPageIndexActive );
183
184 List<RssFeed> listRssFeedInactive = RssFeedHome.getRssFeeds( false );
185 listRssFeedInactive = (List<RssFeed>) AdminWorkgroupService.getAuthorizedCollection( listRssFeedInactive,
186 getUser( ) );
187
188 Paginator paginator_inactive = new Paginator( listRssFeedInactive, _nItemsPerPageInactive,
189 getHomeUrl( request ), PARAMETER_PAGE_INDEX_INACTIVE, _strCurrentPageIndexInactive );
190
191 model.put( MARK_PAGINATOR_ACTIVE, paginator_active );
192 model.put( MARK_PAGINATOR_INACTIVE, paginator_inactive );
193 model.put( MARK_NB_ITEMS_PER_PAGE_ACTIVE, "" + _nItemsPerPageActive );
194 model.put( MARK_NB_ITEMS_PER_PAGE_INACTIVE, "" + _nItemsPerPageInactive );
195 model.put( MARK_ACTIVE_RSS_FEEDS_LIST, paginator_active.getPageItems( ) );
196 model.put( MARK_INACTIVE_RSS_FEEDS_LIST, paginator_inactive.getPageItems( ) );
197 model.put( MARK_NB_ACTIVE_RSS_FEED, Integer.toString( nActiveRssFeeds ) );
198 model.put( MARK_PERMISSION_ADVANCED_PARAMETER, bPermissionAdvancedParameter );
199
200 HtmlTemplate templateList = AppTemplateService.getTemplate( TEMPLATE_FEEDS, getLocale( ), model );
201
202 return getAdminPage( templateList.getHtml( ) );
203 }
204
205
206
207
208
209
210
211 public String doConfirmDeleteRssFeed( HttpServletRequest request )
212 {
213 String strIdFeed = request.getParameter( PARAMETER_RSS_FEED_ID );
214 int nIdFeed = Integer.parseInt( strIdFeed );
215 String strActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE );
216 UrlItem deleteUrl = new UrlItem( JSP_DELETE_RSS_FEED );
217 deleteUrl.addParameter( PARAMETER_RSS_FEED_ID, strIdFeed );
218 deleteUrl.addParameter( PARAMETER_RSS_FEED_IS_ACTIVE, strActive );
219
220 String strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_RSS_LINKED_PORTLET, AdminMessage.TYPE_STOP );
221
222 if ( checkNoPortletLinked( nIdFeed ) )
223 {
224 RssFeed rss = RssFeedHome.findByPrimaryKey( nIdFeed, strActive.equalsIgnoreCase( TRUE ) );
225 Object[] messageArgs = { rss.getName( ) };
226 strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_CONFIRM_DELETE_RSS_FEED, messageArgs,
227 deleteUrl.getUrl( ), AdminMessage.TYPE_CONFIRMATION );
228 }
229
230 return strUrl;
231 }
232
233
234
235
236
237
238
239 public String doConfirmActivateRssFeed( HttpServletRequest request )
240 {
241 String strIdFeed = request.getParameter( PARAMETER_RSS_FEED_ID );
242 int nIdFeed = Integer.parseInt( strIdFeed );
243 String strActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE );
244 UrlItem activateUrl = new UrlItem( JSP_ACTIVATE_RSS_FEED );
245 activateUrl.addParameter( PARAMETER_RSS_FEED_ID, strIdFeed );
246 activateUrl.addParameter( PARAMETER_RSS_FEED_IS_ACTIVE, strActive );
247
248 String strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_RSS_LINKED_PORTLET, AdminMessage.TYPE_STOP );
249
250 if ( checkNoPortletLinked( nIdFeed ) )
251 {
252 RssFeed rss = RssFeedHome.findByPrimaryKey( nIdFeed, strActive.equalsIgnoreCase( TRUE ) );
253 Object[] messageArgs = { rss.getName( ) };
254 strUrl = AdminMessageService.getMessageUrl( request, MESSAGE_CONFIRM_DELETE_RSS_FEED, messageArgs,
255 activateUrl.getUrl( ), AdminMessage.TYPE_CONFIRMATION );
256 }
257
258 return strUrl;
259 }
260
261
262
263
264
265
266
267 public String getCreateRssFeed( HttpServletRequest request )
268 {
269 setPageTitleProperty( PROPERTY_PAGE_TITLE_CREATE );
270
271 HashMap<String, Object> model = new HashMap<String, Object>( );
272 ReferenceList refListWorkGroups = AdminWorkgroupService.getUserWorkgroups( getUser( ), getLocale( ) );
273
274 ReferenceList refListStyleRss = getStyleList( );
275
276 model.put( MARK_LIST_STYLE_RSS, refListStyleRss );
277 model.put( MARK_USER_WORKGROUP_LIST, refListWorkGroups );
278
279
280 if ( !refListWorkGroups.isEmpty( ) )
281 {
282 model.put( MARK_WORKGROUP_SELECTED, refListWorkGroups.get( 0 ).getCode( ) );
283 }
284
285 for ( ReferenceItem param : RssFeedParameterHome.findAll( getPlugin( ) ) )
286 {
287 model.put( param.getCode( ), param.getName( ) );
288 }
289
290 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_CREATE_RSS_FEED, getLocale( ), model );
291
292 return getAdminPage( template.getHtml( ) );
293 }
294
295
296
297
298
299
300
301 public String doCreateRssFeed( HttpServletRequest request )
302 {
303 String strWorkgroup = request.getParameter( PARAMETER_WORKGROUP_KEY );
304 String strIdIncludeStyle = request.getParameter( PARAMETER_INCLUDE_STYLE );
305 boolean bActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE ).equalsIgnoreCase( TRUE );
306
307 RssFeedins/rss/business/RssFeed.html#RssFeed">RssFeed rss = new RssFeed( );
308 rss.setName( request.getParameter( PARAMETER_RSS_FEED_NAME ) );
309 rss.setUrl( request.getParameter( PARAMETER_RSS_FEED_URL ) );
310 rss.setWorkgroup( strWorkgroup );
311 rss.setIdIncludeStyle( Integer.parseInt( strIdIncludeStyle ) );
312 rss.setIsActive( bActive );
313
314
315 if ( request.getParameter( PARAMETER_RSS_FEED_NAME ).equals( "" ) ||
316 request.getParameter( PARAMETER_RSS_FEED_URL ).equals( "" ) )
317 {
318 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
319 }
320
321 RssFeedHome.create( rss );
322
323
324 if ( bActive )
325 {
326 RssContentService.getInstance( ).getRssContent( rss.getId( ) );
327 }
328
329 return getHomeUrl( request );
330 }
331
332
333
334
335
336
337 public String doModifyRssFeed( HttpServletRequest request )
338 {
339 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
340 String strFeedUrl = request.getParameter( PARAMETER_RSS_FEED_URL );
341 String strFeedName = request.getParameter( PARAMETER_RSS_FEED_NAME );
342 String strWorkgroup = request.getParameter( PARAMETER_WORKGROUP_KEY );
343 String strIdIncludeStyle = request.getParameter( PARAMETER_INCLUDE_STYLE );
344 boolean bActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE ).equalsIgnoreCase( TRUE );
345
346 RssFeed rss = RssFeedHome.findByPrimaryKey( nId, bActive );
347 rss.setName( strFeedName );
348 rss.setUrl( strFeedUrl );
349 rss.setWorkgroup( strWorkgroup );
350 rss.setIdIncludeStyle( Integer.parseInt( strIdIncludeStyle ) );
351
352
353 if ( request.getParameter( PARAMETER_RSS_FEED_URL ).equals( "" ) ||
354 request.getParameter( PARAMETER_RSS_FEED_NAME ).equals( "" ) )
355 {
356 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
357 }
358
359 RssFeedHome.update( rss );
360
361 return getHomeUrl( request );
362 }
363
364
365
366
367
368
369
370 public String getModifyRssFeed( HttpServletRequest request )
371 {
372 setPageTitleProperty( PROPERTY_PAGE_TITLE_MODIFY );
373
374 HashMap<String, Object> model = new HashMap<String, Object>( );
375
376 ReferenceList refListWorkGroups = AdminWorkgroupService.getUserWorkgroups( getUser( ), getLocale( ) );
377 model.put( MARK_USER_WORKGROUP_LIST, refListWorkGroups );
378
379 ReferenceList refListStyleRss = getStyleList( );
380 model.put( MARK_LIST_STYLE_RSS, refListStyleRss );
381
382 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
383 boolean bActive = TRUE.equalsIgnoreCase( request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE ) );
384 RssFeed rssFeed = RssFeedHome.findByPrimaryKey( nId, bActive );
385 model.put( MARK_RSS_FEED, rssFeed );
386
387 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_MODIFY_RSS_FEED, getLocale( ), model );
388
389 return getAdminPage( template.getHtml( ) );
390 }
391
392
393
394
395
396
397 public String doDeleteRssFeed( HttpServletRequest request )
398 {
399 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
400 boolean bActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE ).equalsIgnoreCase( TRUE );
401 RssFeed rssFeed = RssFeedHome.findByPrimaryKey( nId, bActive );
402 RssFeedHome.remove( rssFeed );
403
404 return getHomeUrl( request );
405 }
406
407
408
409
410
411
412 public String doFetchRssFeed( HttpServletRequest request )
413 {
414 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
415
416 try
417 {
418 RssContentLoader.fetchRssFeed( nId );
419 }
420 catch ( RssParsingException ex )
421 {
422 AppLogService.error( ex.getMessage( ), ex );
423 }
424
425 return getHomeUrl( request );
426 }
427
428
429
430
431
432
433 public String doActivateRssFeed( HttpServletRequest request )
434 {
435 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
436 boolean bActive = request.getParameter( PARAMETER_RSS_FEED_IS_ACTIVE ).equalsIgnoreCase( TRUE );
437
438 RssFeed rssFeed = RssFeedHome.findByPrimaryKey( nId, bActive );
439
440
441 RssFeedHome.setActive( rssFeed, !bActive );
442
443 return getHomeUrl( request );
444 }
445
446
447
448
449
450
451 public String doChangeRssFeedOrder( HttpServletRequest request )
452 {
453 int nId = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_ID ) );
454 int nNewOrder = Integer.parseInt( request.getParameter( PARAMETER_RSS_FEED_NEW_ORDER ) );
455
456 RssFeed rssFeed = RssFeedHome.findByPrimaryKey( nId, true );
457
458 RssFeedHome.updateOrder( rssFeed, nNewOrder );
459
460 return getHomeUrl( request );
461 }
462
463
464
465
466
467
468
469 private int getItemsPerPage( HttpServletRequest request, boolean bActive )
470 {
471 int nItemsPerPage;
472 String strItemsPerPage = request.getParameter( ( bActive ? PARAMETER_ITEMS_PER_PAGE_ACTIVE
473 : PARAMETER_ITEMS_PER_PAGE_INACTIVE ) );
474
475 if ( strItemsPerPage != null )
476 {
477 nItemsPerPage = Integer.parseInt( strItemsPerPage );
478 }
479 else
480 {
481 if ( ( bActive ? _nItemsPerPageActive : _nItemsPerPageInactive ) != 0 )
482 {
483 nItemsPerPage = ( bActive ? _nItemsPerPageActive : _nItemsPerPageInactive );
484 }
485 else
486 {
487 nItemsPerPage = AppPropertiesService.getPropertyInt( PROPERTY_RSS_PER_PAGE, 10 );
488 }
489 }
490
491 return nItemsPerPage;
492 }
493
494
495
496
497
498
499
500 private String getPageIndex( HttpServletRequest request, boolean bActive )
501 {
502 String strPageIndex = request.getParameter( bActive ? PARAMETER_PAGE_INDEX_ACTIVE : PARAMETER_PAGE_INDEX_INACTIVE );
503 strPageIndex = ( strPageIndex != null ) ? strPageIndex
504 : ( bActive ? _strCurrentPageIndexActive : _strCurrentPageIndexInactive );
505
506 return strPageIndex;
507 }
508
509
510
511
512
513
514 public boolean checkNoPortletLinked( int nIdRssFeed )
515 {
516 return RssPortletHome.checkNoPortletLinked( nIdRssFeed );
517 }
518
519
520
521
522
523 public ReferenceList getStyleList( )
524 {
525 Collection<Style> stylesList = StyleHome.getStylesList( );
526
527 ReferenceList stylesListWithLabels = new ReferenceList( );
528
529 stylesListWithLabels.addItem( -1, "-Aucun style-" );
530
531 for ( Style style : stylesList )
532 {
533 PortletType portletType = PortletTypeHome.findByPrimaryKey( style.getPortletTypeId( ) );
534
535 if ( ( portletType.getId( ) != null ) && portletType.getId( ).equals( CONSTANTE_RSS_PORTLET_TYPE ) )
536 {
537 stylesListWithLabels.addItem( style.getId( ), style.getDescription( ) );
538 }
539 }
540
541 return stylesListWithLabels;
542 }
543
544
545
546
547
548
549 public String getManageAdvancedParameters( HttpServletRequest request )
550 throws AccessDeniedException
551 {
552 if ( !RBACService.isAuthorized( AdminUser.RESOURCE_TYPE, RBAC.WILDCARD_RESOURCES_ID,
553 AdminUserResourceIdService.PERMISSION_MANAGE_ADVANCED_PARAMETERS, getUser( ) ) )
554 {
555 throw new AccessDeniedException( MESSAGE_ACCESS_DENIED );
556 }
557
558 Map<String, Object> model = new HashMap<>( );
559
560 for ( ReferenceItem param : RssFeedParameterHome.findAll( getPlugin( ) ) )
561 {
562 model.put( param.getCode( ), param.getName( ) );
563 }
564
565 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_MANAGE_ADVANCED_PARAMETERS, getLocale( ),
566 model );
567
568 return getAdminPage( template.getHtml( ) );
569 }
570
571
572
573
574
575
576
577 public String doModifyRssAdvancedParameters( HttpServletRequest request )
578 throws AccessDeniedException
579 {
580 if ( !RBACService.isAuthorized( AdminUser.RESOURCE_TYPE, RBAC.WILDCARD_RESOURCES_ID,
581 AdminUserResourceIdService.PERMISSION_MANAGE_ADVANCED_PARAMETERS, getUser( ) ) )
582 {
583 throw new AccessDeniedException( MESSAGE_ACCESS_DENIED );
584 }
585
586 for ( ReferenceItem param : RssFeedParameterHome.findAll( getPlugin( ) ) )
587 {
588 String strParamValue = request.getParameter( param.getCode( ) );
589 param.setName( StringUtils.isBlank( strParamValue ) ? ZERO : strParamValue );
590 RssFeedParameterHome.update( param, getPlugin( ) );
591 }
592
593 return getHomeUrl( request );
594 }
595 }