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
35 package fr.paris.lutece.plugins.mydashboard.modules.gru.web;
36
37 import fr.paris.lutece.plugins.mydashboard.modules.gru.business.Newsletter;
38 import fr.paris.lutece.plugins.mydashboard.modules.gru.service.INewletterService;
39 import fr.paris.lutece.plugins.mydashboard.modules.gru.service.MokeNewsletterService;
40 import fr.paris.lutece.plugins.mydashboard.service.MyDashboardComponent;
41 import fr.paris.lutece.portal.service.i18n.I18nService;
42 import fr.paris.lutece.portal.service.security.LuteceUser;
43 import fr.paris.lutece.portal.service.security.SecurityService;
44 import fr.paris.lutece.portal.service.template.AppTemplateService;
45 import fr.paris.lutece.portal.web.l10n.LocaleService;
46 import fr.paris.lutece.util.html.HtmlTemplate;
47 import java.util.HashMap;
48 import java.util.List;
49 import java.util.Locale;
50 import java.util.Map;
51 import javax.servlet.http.HttpServletRequest;
52
53
54
55
56 public class MyDashboardNewsLettersComponent extends MyDashboardComponent
57 {
58 private static final String DASHBOARD_COMPONENT_ID = "mydashboard-gru.newslettersComponent";
59 private static final String MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION = "module.mydashboard.gru.component.newsletters.description";
60 private static final String TEMPLATE_DASHBOARD_COMPONENT = "skin/plugins/mydashboard/modules/gru/newsletters_component.html";
61 private static final String MARK_LIST = "newsletters_list";
62
63
64 private static INewletterService _service = new MokeNewsletterService();
65
66 @Override
67 public String getDashboardData( HttpServletRequest request )
68 {
69 LuteceUser user = SecurityService.getInstance().getRegisteredUser(request);
70 List<Newsletter> list = _service.getNewsletters( user );
71 Map<String, Object> model = new HashMap<String, Object>( );
72 model.put( MARK_LIST, list );
73 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_DASHBOARD_COMPONENT,
74 LocaleService.getDefault( ), model );
75
76 return template.getHtml( );
77 }
78
79 @Override
80 public String getComponentId( )
81 {
82 return DASHBOARD_COMPONENT_ID;
83 }
84
85 @Override
86 public String getComponentDescription( Locale locale )
87 {
88 return I18nService.getLocalizedString( MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION, locale );
89 }
90 }