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.links.web;
35
36 import fr.paris.lutece.plugins.links.business.Link;
37 import fr.paris.lutece.plugins.links.business.LinkHome;
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.template.AppTemplateService;
43 import fr.paris.lutece.portal.service.workgroup.AdminWorkgroupService;
44 import fr.paris.lutece.portal.web.constants.Messages;
45 import fr.paris.lutece.portal.web.insert.InsertServiceJspBean;
46 import fr.paris.lutece.portal.web.insert.InsertServiceSelectionBean;
47 import fr.paris.lutece.util.html.HtmlTemplate;
48
49 import java.util.Collection;
50 import java.util.HashMap;
51 import java.util.Locale;
52
53 import javax.servlet.http.HttpServletRequest;
54
55
56 public class LinksServiceJspBean extends InsertServiceJspBean implements InsertServiceSelectionBean
57 {
58
59
60
61
62
63
64 private static final long serialVersionUID = 3410161495550026313L;
65
66
67 private static final String TEMPLATE_SELECTOR_PAGE = "admin/plugins/links/links_selector.html";
68
69
70 private static final String PARAMETER_SELECTED_TEXT = "selected_text";
71 private static final String PARAMETER_TEXT = "text";
72 private static final String PARAMETER_TITLE = "title";
73 private static final String PARAMETER_TARGET = "target";
74 private static final String PARAMETER_LINK = "link";
75 private static final String PARAMETER_INPUT = "input";
76
77
78 private static final String MARK_LINKS_LIST = "links_list";
79 private static final String MARK_SELECTED_TEXT = "selected_text";
80 private static final String MARK_INPUT = "input";
81
82
83
84
85
86
87
88
89
90
91 public String getInsertServiceSelectorUI( HttpServletRequest request )
92 {
93 String strSelectedText = request.getParameter( PARAMETER_SELECTED_TEXT );
94 String strInput = request.getParameter( PARAMETER_INPUT );
95 AdminUser user = AdminUserService.getAdminUser( request );
96
97
98 HashMap<String, Object> model = new HashMap<>( );
99 Collection<Link> listLinks = LinkHome.getLinksList( );
100 listLinks = AdminWorkgroupService.getAuthorizedCollection( listLinks, user );
101
102 model.put( MARK_LINKS_LIST, listLinks );
103 model.put( MARK_SELECTED_TEXT, strSelectedText );
104 model.put( MARK_INPUT, strInput );
105
106
107 Locale locale = AdminUserService.getLocale( request );
108
109 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_SELECTOR_PAGE, locale, model );
110
111 return template.getHtml( );
112 }
113
114 public String doInsertLink( HttpServletRequest request )
115 {
116 String strText = request.getParameter( PARAMETER_TEXT );
117 String strTitle = request.getParameter( PARAMETER_TITLE );
118 String strTarget = request.getParameter( PARAMETER_TARGET );
119 String strLink = request.getParameter( PARAMETER_LINK );
120 String strInput = request.getParameter( PARAMETER_INPUT );
121
122
123 if ( strText.equals( "" ) || strTitle.equals( "" ) || ( strLink == null ) )
124 {
125 return AdminMessageService.getMessageUrl( request, Messages.MANDATORY_FIELDS, AdminMessage.TYPE_STOP );
126 }
127
128 int nLink = Integer.parseInt( strLink );
129 Link link = LinkHome.findByPrimaryKey( nLink );
130 String strInsertLink = buildLink( strText, link.getUrl( ), strTitle, strTarget );
131
132 return insertUrl( request, strInput, strInsertLink );
133 }
134 }