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.portal.web.dashboard;
35
36 import java.util.HashMap;
37 import java.util.List;
38 import java.util.Map;
39
40 import javax.servlet.http.HttpServletRequest;
41
42 import fr.paris.lutece.portal.business.user.AdminUser;
43 import fr.paris.lutece.portal.service.dashboard.DashboardService;
44 import fr.paris.lutece.portal.service.dashboard.IDashboardComponent;
45 import fr.paris.lutece.portal.service.dashboard.admin.AdminDashboardComponent;
46 import fr.paris.lutece.portal.service.i18n.I18nService;
47 import fr.paris.lutece.portal.service.security.SecurityTokenService;
48 import fr.paris.lutece.portal.service.template.AppTemplateService;
49 import fr.paris.lutece.util.html.HtmlTemplate;
50
51
52
53
54 public class AdminHomePageManagementComponent extends AdminDashboardComponent
55 {
56
57 private static final String TEMPLATE_MANAGE_DASHBOARDS = "/admin/dashboard/manage_dashboards.html";
58
59
60 private static final String MARK_MAP_DASHBOARDS = "map_dashboards";
61 private static final String MARK_NOT_SET_DASHBOARDS = "not_set_dashboards";
62 private static final String MARK_COLUMN_COUNT = "column_count";
63 private static final String MARK_LIST_AVAILABLE_COLUMNS = "list_available_columns";
64 private static final String MARK_MAP_AVAILABLE_ORDERS = "map_available_orders";
65 private static final String MARK_MAP_COLUMN_ORDER_STATUS = "map_column_order_status";
66
67 private DashboardService _service = DashboardService.getInstance( );
68
69
70
71
72 @Override
73 public String getDashboardData( AdminUser user, HttpServletRequest request )
74 {
75 Map<String, Object> model = new HashMap<>( );
76
77 Map<String, List<IDashboardComponent>> mapDashboards = _service.getAllSetDashboards( user );
78
79 for ( List<IDashboardComponent> listComponents : mapDashboards.values( ) )
80 {
81 I18nService.localizeCollection( listComponents, user.getLocale( ) );
82 }
83
84 model.put( MARK_MAP_DASHBOARDS, mapDashboards );
85
86 List<IDashboardComponent> listNotSetDashboards = _service.getNotSetDashboards( );
87 model.put( MARK_NOT_SET_DASHBOARDS, listNotSetDashboards );
88
89 model.put( MARK_COLUMN_COUNT, _service.getColumnCount( ) );
90 model.put( MARK_MAP_AVAILABLE_ORDERS, _service.getMapAvailableOrders( ) );
91 model.put( MARK_LIST_AVAILABLE_COLUMNS, _service.getListAvailableColumns( ) );
92 model.put( MARK_MAP_COLUMN_ORDER_STATUS, _service.getOrderedColumnsStatus( ) );
93 model.put( SecurityTokenService.MARK_TOKEN, SecurityTokenService.getInstance( ).getToken( request, TEMPLATE_MANAGE_DASHBOARDS ) );
94
95 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_MANAGE_DASHBOARDS, user.getLocale( ), model );
96
97 return template.getHtml( );
98
99 }
100
101 }