You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2020/04/05 20:45:54 UTC
[roller] 02/03: [ROL-2161] Allow user emails up to 255 characters
and add validation to User Edit page.
This is an automated email from the ASF dual-hosted git repository.
snoopdave pushed a commit to branch roller-6.0.x
in repository https://gitbox.apache.org/repos/asf/roller.git
commit c78fc67380827e6486f83f2f6b77e79f7bb3e5b7
Author: David M. Johnson <sn...@apache.org>
AuthorDate: Sat Mar 14 18:05:47 2020 -0400
[ROL-2161] Allow user emails up to 255 characters and add validation to User Edit page.
---
app/src/main/resources/struts.xml | 3 ++
.../main/webapp/WEB-INF/jsps/admin/UserEdit.jsp | 59 ++++++++++++++++++----
.../main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp | 3 --
app/src/main/webapp/WEB-INF/jsps/core/Register.jsp | 4 +-
4 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/app/src/main/resources/struts.xml b/app/src/main/resources/struts.xml
index bc92b4b..33ab4b3 100644
--- a/app/src/main/resources/struts.xml
+++ b/app/src/main/resources/struts.xml
@@ -221,6 +221,9 @@
<param name="pageTitle">userAdmin.title.createNewUser</param>
<result name="input" type="tiles">.UserEdit</result>
<result name="success" type="tiles">.UserAdmin</result>
+ <result name="cancel" type="redirectAction">
+ <param name="actionName">userAdmin</param>
+ </result>
<allowed-methods>execute,firstSave,save</allowed-methods>
</action>
diff --git a/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp
index 9478e9c..f9c65a6 100644
--- a/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/admin/UserEdit.jsp
@@ -21,11 +21,9 @@
<%-- Titling, processing actions different between add and edit --%>
<s:if test="actionName == 'createUser'">
<s:set var="subtitleKey">userAdmin.subtitle.createNewUser</s:set>
- <s:set var="mainAction">createUser</s:set>
</s:if>
<s:else>
<s:set var="subtitleKey">userAdmin.subtitle.editUser</s:set>
- <s:set var="mainAction">modifyUser</s:set>
</s:else>
<p class="subtitle">
@@ -51,27 +49,27 @@
</s:if>
<s:if test="actionName == 'modifyUser'">
- <s:textfield name="bean.userName" size="30" maxlength="30"
+ <s:textfield name="bean.userName" size="30" maxlength="30" onkeyup="formChanged()"
label="%{getText('userSettings.username')}"
tooltip="%{getText('userSettings.tip.username')}"
readonly="true" cssStyle="background: #e5e5e5" />
</s:if>
<s:else>
- <s:textfield name="bean.userName" size="30" maxlength="30"
+ <s:textfield name="bean.userName" size="30" maxlength="30" onkeyup="formChanged()"
label="%{getText('userSettings.username')}"
tooltip="%{getText('userAdmin.tip.username')}" />
</s:else>
- <s:textfield name="bean.screenName" size="30" maxlength="30"
+ <s:textfield id="bean_userName" name="bean.screenName" size="30" maxlength="30" onkeyup="formChanged()"
label="%{getText('userSettings.screenname')}"
tooltip="%{getText('userAdmin.tip.screenName')}" />
- <s:textfield name="bean.fullName" size="30" maxlength="30"
+ <s:textfield id="bean_fullName" name="bean.fullName" size="30" maxlength="30" onkeyup="formChanged()"
label="%{getText('userSettings.fullname')}"
tooltip="%{getText('userAdmin.tip.fullName')}" />
<s:if test="authMethod == 'ROLLERDB' || authMethod == 'DB_OPENID'">
- <s:password name="bean.password" size="30" maxlength="30"
+ <s:password name="bean.password" size="30" maxlength="30" onkeyup="formChanged()"
label="%{getText('userSettings.password')}"
tooltip="%{getText('userAdmin.tip.password')}" />
</s:if>
@@ -82,7 +80,7 @@
tooltip="%{getText('userAdmin.tip.openIdUrl')}" />
</s:if>
- <s:textfield name="bean.emailAddress" size="30" maxlength="30"
+ <s:textfield id="bean_email" name="bean.emailAddress" size="30" maxlength="255" onkeyup="formChanged()"
label="%{getText('userSettings.email')}"
tooltip="%{getText('userAdmin.tip.email')}" />
@@ -153,8 +151,49 @@
<br />
<div class="control">
- <s:submit cssClass="btn btn-default" value="%{getText('generic.save')}" action="%{#mainAction}!save"/>
- <s:submit cssClass="btn" value="%{getText('generic.cancel')}" action="modifyUser!cancel" />
+ <s:if test="actionName == 'createUser'">
+ <s:submit cssClass="btn btn-default" id="save_button"
+ value="%{getText('generic.save')}" action="createUser!save"/>
+ <s:submit cssClass="btn"
+ value="%{getText('generic.cancel')}" action="createUser!cancel" />
+ </s:if>
+ <s:else>
+ <s:submit cssClass="btn btn-default" id="save_button"
+ value="%{getText('generic.save')}" action="modifyUser!save"/>
+ <s:submit cssClass="btn"
+ value="%{getText('generic.cancel')}" action="modifyUser!cancel" />
+ </s:else>
</div>
</s:form>
+
+
+<script>
+
+ document.forms[0].elements[0].focus();
+ let saveButton;
+
+ $( document ).ready(function() {
+ saveButton = $("#save_button");
+ formChanged()
+ });
+
+ function formChanged() {
+ let userName = $("#bean_userName:first").val();
+ let fullName = $("#bean_fullName:first").val();
+ let email = $("#bean_email:first").val();
+
+ let valid = (userName && userName.trim().length > 0
+ && fullName && fullName.trim().length > 0
+ && email && email.trim().length > 0
+ && validateEmail(email));
+
+ if (valid) {
+ saveButton.attr("disabled", false);
+ } else {
+ saveButton.attr("disabled", true);
+ }
+ }
+
+</script>
+
diff --git a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
index 88ca6f8..ebc9d34 100644
--- a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
@@ -143,6 +143,3 @@
</script>
-
-</script>
-
diff --git a/app/src/main/webapp/WEB-INF/jsps/core/Register.jsp b/app/src/main/webapp/WEB-INF/jsps/core/Register.jsp
index 6f8fcef..0667e3d 100644
--- a/app/src/main/webapp/WEB-INF/jsps/core/Register.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/core/Register.jsp
@@ -42,8 +42,6 @@
</div>
- <%-- <s:text name="userRegister.tip.userName" /> --%>
-
</s:if>
<s:else>
<s:textfield label="%{getText('userSettings.username')}"
@@ -65,7 +63,7 @@
<s:textfield label="%{getText('userSettings.email')}"
tooltip="%{getText('userRegister.tip.email')}"
onkeyup="onChange()"
- name="bean.emailAddress" size="40" maxlength="40" />
+ name="bean.emailAddress" size="40" maxlength="255" />
<s:if test="authMethod != 'LDAP'">