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.insertajax.web;
35
36 import fr.paris.lutece.plugins.insertajax.business.InsertAjax;
37 import fr.paris.lutece.plugins.insertajax.business.InsertAjaxHome;
38 import fr.paris.lutece.portal.business.user.AdminUser;
39 import fr.paris.lutece.portal.service.admin.AdminUserService;
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.plugin.Plugin;
43 import fr.paris.lutece.portal.service.plugin.PluginService;
44 import fr.paris.lutece.portal.service.template.AppTemplateService;
45 import fr.paris.lutece.portal.service.workgroup.AdminWorkgroupService;
46 import fr.paris.lutece.portal.web.constants.Messages;
47 import fr.paris.lutece.portal.web.insert.InsertServiceJspBean;
48 import fr.paris.lutece.portal.web.insert.InsertServiceSelectionBean;
49 import fr.paris.lutece.util.html.HtmlTemplate;
50
51 import java.util.Collection;
52 import java.util.HashMap;
53 import java.util.Locale;
54 import java.util.Map;
55
56 import javax.servlet.http.HttpServletRequest;
57
58
59
60
61
62 public class InsertAjaxInsertServiceJspBean extends InsertServiceJspBean implements InsertServiceSelectionBean
63 {
64
65
66 private static final String TEMPLATE_SELECTOR_PAGE = "admin/plugins/insertajax/insertajax_selector.html";
67 private static final String PARAMETER_ID = "id";
68 private static final String PARAMETER_INPUT = "input";
69 private static final String INSERT_AJAX_LIST = "insertajax_list";
70 private static final String PARAMETER_PLUGIN_NAME = "plugin_name";
71 private AdminUser _user;
72 private Plugin _plugin;
73 private String _input;
74
75
76
77 private void init( HttpServletRequest request )
78 {
79 String strPluginName = request.getParameter( PARAMETER_PLUGIN_NAME );
80 _user = AdminUserService.getAdminUser( request );
81 _plugin = PluginService.getPlugin( strPluginName );
82 _input = request.getParameter( PARAMETER_INPUT );
83 }
84
85
86
87
88
89
90 @SuppressWarnings( "unchecked" )
91 public String getInsertServiceSelectorUI( HttpServletRequest request )
92 {
93 init( request );
94
95 Collection<InsertAjax> insertAjaxList = InsertAjaxHome.findAll( _plugin );
96 insertAjaxList = AdminWorkgroupService.getAuthorizedCollection( insertAjaxList, _user );
97
98 Map<String, Object> model = new HashMap<String, Object>( );
99 model.put( INSERT_AJAX_LIST, insertAjaxList );
100 model.put( PARAMETER_INPUT, _input );
101
102 Locale locale = AdminUserService.getLocale( request );
103 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_SELECTOR_PAGE, locale, model );
104
105 return template.getHtml( );
106 }
107
108 public String doInsertLink( HttpServletRequest request )
109 {
110 String strIdInsertAjax = request.getParameter( PARAMETER_ID );
111 int nIdInsertAjax = Integer.parseInt( strIdInsertAjax );
112 String strInput = request.getParameter( PARAMETER_INPUT );
113
114
115 if ( !( nIdInsertAjax > 0 ) )
116 {
117 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
118 }
119
120 InsertAjax insertAjax = InsertAjaxHome.findByPrimaryKey( nIdInsertAjax, _plugin );
121
122 return insertUrlWithoutEscape( request, strInput, insertAjax.getHtml( ) );
123 }
124 }