You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/10/13 14:18:20 UTC
cvs commit: cocoon-lenya/src/webapp/lenya/content/admin/users profile.xsp user-admin.js
andreas 2003/10/13 05:18:20
Modified: src/webapp/lenya/xslt/admin/users profile.xsl
src/webapp/lenya/content/admin/users profile.xsp
user-admin.js
Log:
- checking if password and email comply certain conditions
Revision Changes Path
1.10 +16 -7 cocoon-lenya/src/webapp/lenya/xslt/admin/users/profile.xsl
Index: profile.xsl
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/admin/users/profile.xsl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- profile.xsl 3 Oct 2003 11:58:26 -0000 1.9
+++ profile.xsl 13 Oct 2003 12:18:20 -0000 1.10
@@ -38,11 +38,17 @@
<form method="GET" action="{/page/continuation}.continuation">
<table class="lenya-table-noborder">
- <xsl:apply-templates select="message | id | ldapid | fullname | email | description"/>
+ <xsl:apply-templates select="messages"/>
+ <xsl:apply-templates select="id"/>
+ <xsl:apply-templates select="ldapid"/>
+ <xsl:apply-templates select="fullname"/>
+ <xsl:apply-templates select="email"/>
+ <xsl:apply-templates select="description"/>
<xsl:if test="@new = 'true' and not(@ldap = 'true')">
<tr><td colspan="2"> </td></tr>
- <xsl:apply-templates select="password | confirm-password"/>
+ <xsl:apply-templates select="password"/>
+ <xsl:apply-templates select="confirm-password"/>
</xsl:if>
<tr>
@@ -144,14 +150,17 @@
</tr>
</xsl:template>
-
- <xsl:template match="message">
- <xsl:if test="text()">
+ <xsl:template match="messages">
+ <xsl:if test="message">
<tr>
- <td colspan="2"><span class="lenya-form-message-{@type}"><xsl:apply-templates/></span></td>
+ <td colspan="2"><xsl:apply-templates/></td>
</tr>
</xsl:if>
+ </xsl:template>
+
+ <xsl:template match="message">
+ <xsl:if test="preceding-sibling::message"><br/></xsl:if>
+ <span class="lenya-form-message-{@type}"><xsl:value-of select="."/></span>
</xsl:template>
-
</xsl:stylesheet>
1.7 +10 -1 cocoon-lenya/src/webapp/lenya/content/admin/users/profile.xsp
Index: profile.xsp
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/admin/users/profile.xsp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- profile.xsp 21 Sep 2003 13:27:24 -0000 1.6
+++ profile.xsp 13 Oct 2003 12:18:20 -0000 1.7
@@ -12,7 +12,16 @@
<user>
<xsp:attribute name="new"><jpath:value-of select="new-user"/></xsp:attribute>
<xsp:attribute name="ldap"><jpath:value-of select="ldap"/></xsp:attribute>
- <message type="error"><jpath:value-of select="message"/></message>
+
+ <messages>
+ <xsp:logic>
+ java.util.List messages = (java.util.List) <jpath:value-of select="messages"/>;
+ for (java.util.Iterator i = messages.iterator(); i.hasNext(); ) {
+ <message type="error"><xsp:expr>i.next()</xsp:expr></message>
+ }
+ </xsp:logic>
+ </messages>
+
<id><jpath:value-of select="user-id"/></id>
<xsp:logic>
1.18 +41 -14 cocoon-lenya/src/webapp/lenya/content/admin/users/user-admin.js
Index: user-admin.js
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/content/admin/users/user-admin.js,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- user-admin.js 13 Oct 2003 08:41:44 -0000 1.17
+++ user-admin.js 13 Oct 2003 12:18:20 -0000 1.18
@@ -202,6 +202,43 @@
add_user(false);
}
+function validate(userManager, ldap, userId, email, password, confirmPassword, messages) {
+
+ messages = new Packages.java.util.ArrayList();
+
+ userid = new Packages.java.lang.String(email);
+ email = new Packages.java.lang.String(email);
+ password = new Packages.java.lang.String(password);
+ confirmPassword = new Packages.java.lang.String(confirmPassword);
+
+ var existingUser = userManager.getUser(userId);
+
+ if (existingUser != null) {
+ messages.add("This user already exists.");
+ }
+
+ if (!ldap && !password.equals(confirmPassword)) {
+ messages.add("Password and confirmed password are not equal.");
+ }
+
+ if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(userId)) {
+ messages.add("This is not a valid user ID.");
+ }
+
+ if (email.length() == 0) {
+ messages.add("Please enter an e-mail address.");
+ }
+
+ if (password.length() < 6) {
+ messages.add("The password must be at least six characters long.");
+ }
+
+ if (!password.matches(".*\\d.*")) {
+ messages.add("The password must contain at least one number.");
+ }
+
+ return messages;
+}
//
// Add a user.
@@ -221,7 +258,7 @@
var email = "";
var fullName = "";
var description = "";
- var message = "";
+ var messages = new Packages.java.util.ArrayList();
var password = "";
var confirmPassword = "";
var userManager = getAccreditableManager().getUserManager();
@@ -233,7 +270,7 @@
"fullname" : fullName,
"email" : email,
"description" : description,
- "message" : message,
+ "messages" : messages,
"ldap-id" : ldapId,
"password" : password,
"confirm-password" : confirmPassword,
@@ -245,7 +282,6 @@
break;
}
- message = "";
userId = cocoon.request.get("userid");
email = cocoon.request.get("email");
fullName = cocoon.request.get("fullname");
@@ -254,18 +290,9 @@
password = cocoon.request.get("password");
confirmPassword = cocoon.request.get("confirm-password");
- var existingUser = userManager.getUser(userId);
+ messages = validate(userManager, ldap, userId, email, password, confirmPassword);
- if (existingUser != null) {
- message = "This user already exists.";
- }
- else if (!ldap && !password.equals(confirmPassword)) {
- message = "Password and confirmed password are not equal!";
- }
- else if (!Packages.org.apache.lenya.cms.ac.AbstractItem.isValidId(userId)) {
- message = "This is not a valid user ID.";
- }
- else {
+ if (messages.isEmpty()) {
var configDir = userManager.getConfigurationDirectory();
var user;
if (ldap) {
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org