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.plugins.mydashboard.modules.identity.web;
35
36 import fr.paris.lutece.plugins.mydashboard.modules.identity.util.DashboardIdentityUtils;
37 import java.util.HashMap;
38 import java.util.Locale;
39 import java.util.Map;
40
41 import javax.servlet.http.HttpServletRequest;
42
43 import fr.paris.lutece.plugins.avatar.service.AvatarService;
44 import fr.paris.lutece.plugins.identitystore.v3.web.service.IdentityService;
45 import fr.paris.lutece.plugins.mydashboard.modules.identity.business.DashboardIdentity;
46 import fr.paris.lutece.plugins.mydashboard.service.MyDashboardComponent;
47 import fr.paris.lutece.portal.service.i18n.I18nService;
48 import fr.paris.lutece.portal.service.security.LuteceUser;
49 import fr.paris.lutece.portal.service.security.SecurityService;
50 import fr.paris.lutece.portal.service.spring.SpringContextService;
51 import fr.paris.lutece.portal.service.template.AppTemplateService;
52 import fr.paris.lutece.portal.web.l10n.LocaleService;
53 import fr.paris.lutece.util.html.HtmlTemplate;
54
55
56
57
58 public class MyDashboardIdentityComponent extends MyDashboardComponent
59 {
60 private static final String BEAN_IDENTITYSTORE_SERVICE = "mydashboard-identity.identitystore.service";
61 private static final String DASHBOARD_COMPONENT_ID = "mydashboard-identity.identityComponent";
62 private static final String MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION = "module.mydashboard.identity.component.identity.description";
63 private static final String TEMPLATE_DASHBOARD_COMPONENT = "skin/plugins/mydashboard/modules/identity/identity_component.html";
64 private static final String MARK_AVATAR_URL = "avatar_url";
65 private static final String MARK_IDENTITY = "identity";
66
67 private IdentityService _identityService;
68
69
70
71
72 @Override
73 public String getDashboardData( HttpServletRequest request )
74 {
75
76 if ( _identityService == null )
77 {
78 _identityService = SpringContextService.getBean( BEAN_IDENTITYSTORE_SERVICE );
79 }
80
81 Map<String, Object> model = new HashMap<String, Object>( );
82
83 LuteceUser luteceUser = SecurityService.isAuthenticationEnable( ) ? SecurityService.getInstance( ).getRegisteredUser( request ) : null;
84
85 if ( luteceUser != null )
86 {
87
88 model.put( MARK_AVATAR_URL, getAvatarUrl( request ) );
89 DashboardIdentity dashboardIdentity = DashboardIdentityUtils.getInstance( ).convertToDashboardIdentity( DashboardIdentityUtils.getInstance( ).getIdentity( luteceUser.getName( ) ) );
90 model.put( MARK_IDENTITY, dashboardIdentity );
91 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_DASHBOARD_COMPONENT, LocaleService.getDefault( ), model );
92
93 return template.getHtml( );
94 }
95 return "";
96 }
97
98
99
100
101 @Override
102 public String getComponentId( )
103 {
104 return DASHBOARD_COMPONENT_ID;
105 }
106
107
108
109
110 @Override
111 public String getComponentDescription( Locale locale )
112 {
113 return I18nService.getLocalizedString( MESSAGE_DASHBOARD_COMPONENT_DESCRIPTION, locale );
114 }
115
116
117
118
119
120
121
122
123 private String getAvatarUrl( HttpServletRequest request )
124 {
125 LuteceUser user = SecurityService.getInstance( ).getRegisteredUser( request );
126 return AvatarService.getAvatarUrl( user.getEmail( ) );
127 }
128
129 }