This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new fc24c8c  [OPENMEETINGS-1871] minimum length of first/last name is made 
configurable
fc24c8c is described below

commit fc24c8c7156a4beb20e62c7a9c1e3269667f38e2
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sun Apr 22 10:58:58 2018 +0700

    [OPENMEETINGS-1871] minimum length of first/last name is made configurable
---
 .../openmeetings/db/dao/basic/ConfigurationDao.java  | 20 ++++++++++++++++++++
 .../openmeetings/installation/ImportInitvalues.java  |  6 ++++++
 .../openmeetings/util/OpenmeetingsVariables.java     | 20 ++++++++++++++++++++
 .../apache/openmeetings/web/room/NicknameDialog.java |  6 ++++--
 4 files changed, 50 insertions(+), 2 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 539090b..8fa25f8 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -26,12 +26,14 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_TIMEZONE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FNAME_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_GOOGLE_ANALYTICS_CODE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_CSP;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_XFRAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ARRANGE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_EXCLUSIVE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LNAME_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
@@ -58,6 +60,8 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setGaCode;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMaxUploadSize;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinFnameLength;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinLnameLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinLoginLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setMinPasswdLength;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setRestAllowOrigin;
@@ -345,6 +349,12 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                        case CONFIG_SIP_EXTEN_CONTEXT:
                                reloadSipContext();
                                break;
+                       case CONFIG_FNAME_MIN_LENGTH:
+                               reloadFnameMinLength();
+                               break;
+                       case CONFIG_LNAME_MIN_LENGTH:
+                               reloadLnameMinLength();
+                               break;
                }
                return entity;
        }
@@ -432,6 +442,14 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                setSipContext(getString(CONFIG_SIP_EXTEN_CONTEXT, 
DEFAULT_SIP_CONTEXT));
        }
 
+       private void reloadFnameMinLength() {
+               setMinFnameLength(getInt(CONFIG_FNAME_MIN_LENGTH, 
USER_LOGIN_MINIMUM_LENGTH));
+       }
+
+       private void reloadLnameMinLength() {
+               setMinLnameLength(getInt(CONFIG_LNAME_MIN_LENGTH, 
USER_LOGIN_MINIMUM_LENGTH));
+       }
+
        public void reinit() {
                reloadMaxUpload();
                reloadCrypt();
@@ -449,6 +467,8 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                reloadPasswdMinLength();
                reloadDefaultGroup();
                reloadSipContext();
+               reloadFnameMinLength();
+               reloadLnameMinLength();
        }
 
        private JSONObject reloadRoomSettings() {
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 0198c66..57c50fb 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -48,6 +48,7 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_SE
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_BANDWIDTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_CODEC;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_FPS;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FNAME_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_GOOGLE_ANALYTICS_CODE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_CSP;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_XFRAME;
@@ -55,6 +56,7 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_IGNORE_B
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ARRANGE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_EXCLUSIVE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LNAME_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
@@ -340,6 +342,10 @@ public class ImportInitvalues {
                addCfg(list, CONFIG_MP4_AUDIO_RATE, 
String.valueOf(getAudioRate()), Configuration.Type.number, "Audio sampling rate 
(in Hz) for MP4 video", "4.0.1");
                addCfg(list, CONFIG_MP4_AUDIO_BITRATE, 
String.valueOf(getAudioBitrate()), Configuration.Type.string, "Audio bitrate 
for MP4 video", "4.0.1");
                addCfg(list, CONFIG_REST_ALLOW_ORIGIN, null, 
Configuration.Type.string, "List of addresses browser Ajax REST requests are 
allowed from", "4.0.2");
+               addCfg(list, CONFIG_FNAME_MIN_LENGTH, 
String.valueOf(USER_LOGIN_MINIMUM_LENGTH), Configuration.Type.number,
+                               "Number of chars needed in a user first name", 
"4.0.4");
+               addCfg(list, CONFIG_LNAME_MIN_LENGTH, 
String.valueOf(USER_LOGIN_MINIMUM_LENGTH), Configuration.Type.number,
+                               "Number of chars needed in a user last name", 
"4.0.4");
                return list;
        }
        public void loadConfiguration(InstallationConfig cfg) {
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index edad522..b79d6eb 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -95,6 +95,8 @@ public class OpenmeetingsVariables {
        public static final String CONFIG_MP4_AUDIO_RATE = "mp4.audio.rate";
        public static final String CONFIG_MP4_AUDIO_BITRATE = 
"mp4.audio.bitrate";
        public static final String CONFIG_REST_ALLOW_ORIGIN = 
"rest.allow.origin";
+       public static final String CONFIG_FNAME_MIN_LENGTH = 
"user.fname.minimum.length";
+       public static final String CONFIG_LNAME_MIN_LENGTH = 
"user.lname.minimum.length";
 
        public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN";
        public static final String HEADER_CSP_SELF = "default-src 'self'; 
style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 
'unsafe-eval'; img-src 'self' data:; media-src 'self' blob:;";
@@ -138,6 +140,8 @@ public class OpenmeetingsVariables {
        private static String restAllowOrigin = null;
        private static Class<?> appClass = null;
        private static String sipContext = DEFAULT_SIP_CONTEXT;
+       private static int minFnameLength = USER_LOGIN_MINIMUM_LENGTH;
+       private static int minLnameLength = USER_LOGIN_MINIMUM_LENGTH;
 
        private OpenmeetingsVariables() {}
 
@@ -304,4 +308,20 @@ public class OpenmeetingsVariables {
        public static void setSipContext(String context) {
                sipContext = context;
        }
+
+       public static int getMinFnameLength() {
+               return minFnameLength;
+       }
+
+       public static void setMinFnameLength(int length) {
+               minFnameLength = length;
+       }
+
+       public static int getMinLnameLength() {
+               return minLnameLength;
+       }
+
+       public static void setMinLnameLength(int length) {
+               minLnameLength = length;
+       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
index fb4c251..698f3ea 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.web.room;
 
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinFnameLength;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getMinLnameLength;
 import static 
org.apache.wicket.validation.validator.StringValidator.minimumLength;
 
 import java.util.Arrays;
@@ -64,8 +66,8 @@ public class NicknameDialog extends NonClosableDialog<User> {
                getTitle().setObject(getString("1287"));
                ok = new DialogButton("ok", getString("54"));
                form.add(feedback);
-               form.add(new 
RequiredTextField<String>("firstname").setLabel(Model.of(getString("135"))).add(minimumLength(4)));
-               form.add(new 
RequiredTextField<String>("lastname").setLabel(Model.of(getString("136"))).add(minimumLength(4)));
+               form.add(new 
RequiredTextField<String>("firstname").setLabel(Model.of(getString("135"))).add(minimumLength(getMinFnameLength())));
+               form.add(new 
RequiredTextField<String>("lastname").setLabel(Model.of(getString("136"))).add(minimumLength(getMinLnameLength())));
                form.add(new 
RequiredTextField<String>("address.email").setLabel(Model.of(getString("119"))).add(RfcCompliantEmailAddressValidator.getInstance()));
                super.onInitialize();
        }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to