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.business.user.attribute;
35
36 import fr.paris.lutece.portal.business.user.AdminUser;
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.portal.service.user.attribute.AttributeService;
39
40 import org.apache.commons.lang.StringUtils;
41
42 import java.util.ArrayList;
43 import java.util.List;
44 import java.util.Locale;
45
46 import javax.servlet.http.HttpServletRequest;
47
48
49
50
51
52
53 public abstract class SimpleAdminUserFieldListener implements AdminUserFieldListener
54 {
55
56
57
58
59 public abstract Plugin getPlugin( );
60
61
62
63
64
65
66
67 public abstract void doCreateUserFields( AdminUser user, List<AdminUserField> listUserFields, Locale locale );
68
69
70
71
72
73
74
75
76 public abstract void doModifyUserFields( AdminUser user, List<AdminUserField> listUserFields, Locale locale,
77 AdminUser currentUser );
78
79
80
81
82
83
84 public abstract void doRemoveUserFields( AdminUser user, Locale locale );
85
86
87
88
89 @Override
90 public void doCreateUserFields( AdminUser user, HttpServletRequest request, Locale locale )
91 {
92 List<IAttribute> listAttributes = AttributeService.getInstance( )
93 .getPluginAttributesWithoutFields( getPlugin( ).getName( ),
94 locale );
95 List<AdminUserField> listUserFields = new ArrayList<AdminUserField>( );
96
97 for ( IAttribute attribute : listAttributes )
98 {
99 List<AdminUserField> userFields = attribute.getUserFieldsData( request, user );
100
101 for ( AdminUserField userField : userFields )
102 {
103 if ( ( userField != null ) && StringUtils.isNotBlank( userField.getValue( ) ) )
104 {
105
106
107
108 userField.setValue( userField.getAttributeField( ).getTitle( ) );
109 AdminUserFieldHome.create( userField );
110 listUserFields.add( userField );
111 }
112 }
113 }
114
115 doCreateUserFields( user, listUserFields, locale );
116 }
117
118
119
120
121 @Override
122 public void doModifyUserFields( AdminUser user, HttpServletRequest request, Locale locale, AdminUser currentUser )
123 {
124 List<IAttribute> listAttributes = AttributeService.getInstance( )
125 .getPluginAttributesWithoutFields( getPlugin( ).getName( ),
126 locale );
127 List<AdminUserField> listUserFields = new ArrayList<AdminUserField>( );
128
129 for ( IAttribute attribute : listAttributes )
130 {
131 List<AdminUserField> userFields = attribute.getUserFieldsData( request, user );
132
133 for ( AdminUserField userField : userFields )
134 {
135 if ( ( userField != null ) && StringUtils.isNotBlank( userField.getValue( ) ) )
136 {
137
138
139
140 userField.setValue( userField.getAttributeField( ).getTitle( ) );
141 AdminUserFieldHome.create( userField );
142 listUserFields.add( userField );
143 }
144 }
145 }
146
147 doModifyUserFields( user, listUserFields, locale, currentUser );
148 }
149
150
151
152
153
154
155
156 public void doRemoveUserFields( AdminUser user, HttpServletRequest request, Locale locale )
157 {
158 doRemoveUserFields( user, locale );
159 }
160 }