Explorar el Código

#461 : add mail attribute

Shinsuke Sugaya hace 9 años
padre
commit
92bb7abbaf

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/admin/user/CreateForm.java

@@ -19,6 +19,7 @@ import java.io.Serializable;
 
 
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 
 
+import org.hibernate.validator.constraints.Email;
 import org.lastaflute.web.validation.Required;
 import org.lastaflute.web.validation.Required;
 import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure;
 import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure;
 
 
@@ -50,6 +51,10 @@ public class CreateForm implements Serializable {
     @Size(max = 1000)
     @Size(max = 1000)
     public String givenName;
     public String givenName;
 
 
+    @Email
+    @Size(max = 1000)
+    public String mail;
+
     public String[] roles;
     public String[] roles;
 
 
     public String[] groups;
     public String[] groups;

+ 7 - 0
src/main/java/org/codelibs/fess/ldap/LdapManager.java

@@ -359,6 +359,11 @@ public class LdapManager {
                 .ifPresent(s -> modifyReplaceEntry(modifyList, attrGivenName, s))
                 .ifPresent(s -> modifyReplaceEntry(modifyList, attrGivenName, s))
                 .orElse(() -> getAttributeValueList(result, attrGivenName).stream().forEach(
                 .orElse(() -> getAttributeValueList(result, attrGivenName).stream().forEach(
                         v -> modifyDeleteEntry(modifyList, attrGivenName, v)));
                         v -> modifyDeleteEntry(modifyList, attrGivenName, v)));
+        final String attrMail = fessConfig.getLdapAttrMail();
+        OptionalUtil.ofNullable(user.getMail()).filter(s -> StringUtil.isNotBlank(s))
+                .ifPresent(s -> modifyReplaceEntry(modifyList, attrMail, s))
+                .orElse(() -> getAttributeValueList(result, attrMail).stream().forEach(v -> modifyDeleteEntry(modifyList, attrMail, v)));
+
         modify(userDN, modifyList, adminEnv);
         modify(userDN, modifyList, adminEnv);
     }
     }
 
 
@@ -370,6 +375,8 @@ public class LdapManager {
                 .ifPresent(s -> entry.put(new BasicAttribute(fessConfig.getLdapAttrSurname(), s)));
                 .ifPresent(s -> entry.put(new BasicAttribute(fessConfig.getLdapAttrSurname(), s)));
         OptionalUtil.ofNullable(user.getGivenName()).filter(s -> StringUtil.isNotBlank(s))
         OptionalUtil.ofNullable(user.getGivenName()).filter(s -> StringUtil.isNotBlank(s))
                 .ifPresent(s -> entry.put(new BasicAttribute(fessConfig.getLdapAttrGivenName(), s)));
                 .ifPresent(s -> entry.put(new BasicAttribute(fessConfig.getLdapAttrGivenName(), s)));
+        OptionalUtil.ofNullable(user.getMail()).filter(s -> StringUtil.isNotBlank(s))
+                .ifPresent(s -> entry.put(new BasicAttribute(fessConfig.getLdapAttrMail(), s)));
     }
     }
 
 
     public void delete(final User user) {
     public void delete(final User user) {

+ 2 - 0
src/main/resources/fess_label.properties

@@ -684,3 +684,5 @@ labels.user_given_name=First Name
 labels.givenName=First Name
 labels.givenName=First Name
 labels.user_surname=Last Name
 labels.user_surname=Last Name
 labels.surame=Last Name
 labels.surame=Last Name
+labels.user_mail=E-Mail
+labels.mail=E-Mail

+ 2 - 0
src/main/resources/fess_label_en.properties

@@ -684,3 +684,5 @@ labels.user_given_name=First Name
 labels.givenName=First Name
 labels.givenName=First Name
 labels.user_surname=Last Name
 labels.user_surname=Last Name
 labels.surame=Last Name
 labels.surame=Last Name
+labels.user_mail=E-Mail
+labels.mail=E-Mail

+ 2 - 0
src/main/resources/fess_label_ja.properties

@@ -684,3 +684,5 @@ labels.user_given_name=\u540d\u524d(\u540d)
 labels.givenName=\u540d\u524d(\u540d)
 labels.givenName=\u540d\u524d(\u540d)
 labels.user_surname=\u540d\u524d(\u59d3)
 labels.user_surname=\u540d\u524d(\u59d3)
 labels.surame=\u540d\u524d(\u59d3)
 labels.surame=\u540d\u524d(\u59d3)
+labels.user_mail=\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+labels.mail=\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9

+ 4 - 0
src/main/webapp/WEB-INF/view/admin/user/admin_user_details.jsp

@@ -58,6 +58,10 @@
 												<th class="col-xs-2"><la:message key="labels.user_given_name" /></th>
 												<th class="col-xs-2"><la:message key="labels.user_given_name" /></th>
 												<td>${f:h(givenName)}<la:hidden property="givenName" /></td>
 												<td>${f:h(givenName)}<la:hidden property="givenName" /></td>
 											</tr>
 											</tr>
+											<tr>
+												<th class="col-xs-2"><la:message key="labels.user_mail" /></th>
+												<td>${f:h(mail)}<la:hidden property="mail" /></td>
+											</tr>
 											<tr>
 											<tr>
 												<th><la:message key="labels.roles" /></th>
 												<th><la:message key="labels.roles" /></th>
 												<td><c:forEach var="rt" varStatus="s"
 												<td><c:forEach var="rt" varStatus="s"

+ 8 - 0
src/main/webapp/WEB-INF/view/admin/user/admin_user_edit.jsp

@@ -89,6 +89,14 @@
 											<la:text property="givenName" styleClass="form-control" />
 											<la:text property="givenName" styleClass="form-control" />
 										</div>
 										</div>
 									</div>
 									</div>
+									<div class="form-group">
+										<label for="mail" class="col-sm-3 control-label"><la:message
+												key="labels.user_mail" /></label>
+										<div class="col-sm-9">
+											<la:errors property="mail" />
+											<la:text property="mail" styleClass="form-control" />
+										</div>
+									</div>
 									<div class="form-group">
 									<div class="form-group">
 										<label for="roles" class="col-sm-3 control-label"><la:message
 										<label for="roles" class="col-sm-3 control-label"><la:message
 												key="labels.roles" /></label>
 												key="labels.roles" /></label>