You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/04/22 03:59:10 UTC

[openmeetings] branch 4.0.x updated: [OPENMEETINGS-1871] minimum length of first/last name is made configurable

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

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


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

commit 81b9ac0d4df7846fa89bcde097c4a22638b686b9
Author: Maxim Solodovnik <so...@gmail.com>
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 01dfa14..dbb51c4 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
@@ -34,12 +34,14 @@ 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;
 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;
@@ -77,6 +79,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;
@@ -374,6 +378,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;
 	}
@@ -461,6 +471,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();
@@ -478,6 +496,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 0b1e755..0818a69 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;
@@ -341,6 +343,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 a22c088..ef425d0 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:;";
@@ -138,6 +140,8 @@ public class OpenmeetingsVariables {
 	private static String defaultTimezone = "Europe/Berlin";
 	private static String restAllowOrigin = 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 25e5f1c..5d81981 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.openmeetings.web.app.Application.getBean;
 import static org.apache.wicket.validation.validator.StringValidator.minimumLength;
 
@@ -62,8 +64,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
solomax@apache.org.