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 }