View Javadoc
1   package fr.paris.lutece.plugins.parisconnect.web.mydashboard;
2   
3   import java.util.HashMap;
4   import java.util.List;
5   import java.util.Locale;
6   import java.util.Map;
7   
8   import javax.servlet.http.HttpServletRequest;
9   
10  import fr.paris.lutece.plugins.mydashboard.service.MyDashboardComponent;
11  import fr.paris.lutece.plugins.parisconnect.business.Message;
12  import fr.paris.lutece.plugins.parisconnect.business.UserInformations;
13  import fr.paris.lutece.plugins.parisconnect.service.ParisConnectService;
14  import fr.paris.lutece.plugins.parisconnect.web.MessageXPage;
15  import fr.paris.lutece.portal.service.i18n.I18nService;
16  import fr.paris.lutece.portal.service.security.LuteceUser;
17  import fr.paris.lutece.portal.service.security.SecurityService;
18  import fr.paris.lutece.portal.service.template.AppTemplateService;
19  import fr.paris.lutece.portal.web.l10n.LocaleService;
20  import fr.paris.lutece.util.html.HtmlTemplate;
21  
22  public class MyDashboardMessages  extends MyDashboardComponent
23  {
24      private static final String DASHBOARD_COMPONENT_ID = "pariconnect-mydashboard.MessagesComponent";
25      private static final String MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION = "parisconnect.mydashboard.component.messages.description";
26      private static final String TEMPLATE_DASHBOARD_COMPONENT = "skin/plugins/parisconnect/mydashboard_messages.html";
27      private static final String MARK_USER_MESSAGE_LIST = "user_message_list";
28      private static final String MARK_USER_INFORMATION_HASH = "user_informations_hash";
29      private static final String MARK_ID_CURRENT_USER = "id_current_user";
30      
31      
32     
33      
34      @Override
35      public String getDashboardData( HttpServletRequest request )
36      {
37         Map<String, Object> model = new HashMap<>();
38          
39         List<Message> listUserMessage=null;
40         LuteceUser user = SecurityService.getInstance( ).getRegisteredUser(request);
41         Map<String, UserInformations> mapUserInformations =null;
42         UserInformations currentUserInformations=ParisConnectService.getInstance().getUser(user.getName(), true);
43  
44     	  if(currentUserInformations!= null && currentUserInformations.getIdUsers() != null)
45     	  {
46     		
47  
48     		listUserMessage=ParisConnectService.getInstance().getUserMessages(currentUserInformations.getIdUsers());
49     		mapUserInformations=MessageXPage.getUsersMapInformations(listUserMessage, currentUserInformations);
50     		model.put( MARK_ID_CURRENT_USER,  currentUserInformations.getIdUsers());
51  	   
52     		
53     		 
54     	  	  
55     	  }
56  	   	  
57  	   	  model.put( MARK_USER_INFORMATION_HASH, mapUserInformations);
58  	   	  model.put( MARK_USER_MESSAGE_LIST, listUserMessage);
59  	          
60  
61        
62  
63           HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_DASHBOARD_COMPONENT,
64                  LocaleService.getDefault(  ), model );
65           
66           return template.getHtml(  );
67      }
68  
69      @Override
70      public String getComponentId(  )
71      {
72          return DASHBOARD_COMPONENT_ID;
73      }
74  
75      @Override
76      public String getComponentDescription( Locale locale )
77      {
78          return I18nService.getLocalizedString( MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION, locale );
79      }
80      
81  }