1
2
3
4
5
6 package fr.paris.lutece.plugins.adminwall.web;
7
8 import fr.paris.lutece.plugins.adminwall.business.Post;
9 import fr.paris.lutece.plugins.adminwall.business.PostHome;
10 import fr.paris.lutece.plugins.adminwall.service.AdminWallService;
11 import fr.paris.lutece.portal.business.right.Right;
12 import fr.paris.lutece.portal.business.right.RightHome;
13 import fr.paris.lutece.portal.business.user.AdminUser;
14 import fr.paris.lutece.portal.service.admin.AdminUserService;
15 import fr.paris.lutece.portal.service.dashboard.DashboardComponent;
16 import fr.paris.lutece.portal.service.plugin.Plugin;
17 import fr.paris.lutece.portal.service.plugin.PluginService;
18 import fr.paris.lutece.portal.service.template.AppTemplateService;
19 import fr.paris.lutece.util.html.HtmlTemplate;
20 import fr.paris.lutece.util.url.UrlItem;
21
22 import java.util.HashMap;
23 import java.util.List;
24 import java.util.Map;
25
26 import javax.servlet.http.HttpServletRequest;
27
28
29
30
31
32
33 public class AdminWallDashboardComponent extends DashboardComponent
34 {
35
36 private static final String PARAMETER_PLUGIN_NAME = "plugin_name";
37
38
39 private static final String MARK_URL = "url";
40 private static final String MARK_ICON = "icon";
41 private static final String MARK_POST_LIST = "post_list";
42 private static final String MARK_USERID = "userId";
43
44
45 private static final String TEMPLATE_DASHBOARD = "/admin/plugins/adminwall/dashboard/adminwall_dashboard.html";
46
47 @Override
48 public String getDashboardData( AdminUser user, HttpServletRequest request )
49 {
50 Right right = RightHome.findByPrimaryKey( getRight( ) );
51 Plugin plugin = PluginService.getPlugin( right.getPluginName( ) );
52
53 UrlItem url = new UrlItem( right.getUrl( ) );
54 url.addParameter( PARAMETER_PLUGIN_NAME, right.getPluginName( ) );
55
56 List<Post> listPosts = (List<Post>) PostHome.getPostsList( );
57
58 for ( Post pos : listPosts )
59 {
60
61 AdminWallService.activateURL( pos );
62
63 AdminWallService.activateHashtag( pos );
64 }
65
66
67 AdminUser currentUser = AdminUserService.getAdminUser( request );
68 int userId = currentUser.getUserId( );
69
70 Map<String, Object> model = new HashMap<String, Object>( );
71 model.put( MARK_USERID, userId );
72 model.put( MARK_URL, url.getUrl( ) );
73 model.put( MARK_ICON, plugin.getIconUrl( ) );
74 model.put( MARK_POST_LIST, listPosts );
75
76 HtmlTemplate t = AppTemplateService.getTemplate( TEMPLATE_DASHBOARD, user.getLocale( ), model );
77
78 return t.getHtml( );
79 }
80 }