Author: raintang
Date: 2009-05-14 08:54:58 +0200 (Thu, 14 May 2009)
New Revision: 35153
Added:
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforAction.java
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforForm.java
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInitAction.java
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/changeprofileinfor.jsp
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security.properties
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_nl.properties
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_zh.properties
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/WEB-INF/struts-security.xml
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/profilemenu.jsp
Log:
CMSC-596 More functionality in My Profile: change name, mail address,
notifications
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security.properties
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security.properties
2009-05-14 05:19:07 UTC (rev 35152)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security.properties
2009-05-14 06:54:58 UTC (rev 35153)
@@ -7,12 +7,12 @@
role.chiefeditor=chief editor
role.webmaster=webmaster
-changemyprofileinfor.title=Change Myprofile Information
-changemyprofileinfor.succeeded=Myprofile information is updated successfully.
-changemyprofileinfor.current=Old password
-changemyprofileinfor.new=New password
-changemyprofileinfor.confirm=Confirm password
-changemyprofileinfor.submit=Save
+changeprofileinfor.title=Change Myprofile Information
+changeprofileinfor.succeeded=Myprofile information is updated successfully.
+changeprofileinfor.current=Old password
+changeprofileinfor.new=New password
+changeprofileinfor.confirm=Confirm password
+changeprofileinfor.submit=Save
changelanguage.title=Change Language
changelanguage.succeeded=The language is updated successfully.
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_nl.properties
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_nl.properties
2009-05-14 05:19:07 UTC (rev 35152)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_nl.properties
2009-05-14 06:54:58 UTC (rev 35153)
@@ -7,12 +7,12 @@
role.chiefeditor=eindredacteur
role.webmaster=webmaster
-changemyprofileinfor.title=Veranderen MijnProfiel Informatie
-changemyprofileinfor.succeeded=MijnProfiel informatie is succesvol gewijzigd.
-changemyprofileinfor.current=Huidig wachtwoord
-changemyprofileinfor.new=Nieuw wachtwoord
-changemyprofileinfor.confirm=Bevestig nieuw wachtwoord
-changemyprofileinfor.submit=Opslaan
+changeprofileinfor.title=Veranderen MijnProfiel Informatie
+changeprofileinfor.succeeded=MijnProfiel informatie is succesvol gewijzigd.
+changeprofileinfor.current=Huidig wachtwoord
+changeprofileinfor.new=Nieuw wachtwoord
+changeprofileinfor.confirm=Bevestig nieuw wachtwoord
+changeprofileinfor.submit=Opslaan
changelanguage.title=Taal aanpassen
changelanguage.succeeded=De taal is succesvol gewijzigd.
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_zh.properties
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_zh.properties
2009-05-14 05:19:07 UTC (rev 35152)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/resources/cmsc-security_zh.properties
2009-05-14 06:54:58 UTC (rev 35153)
@@ -7,12 +7,12 @@
role.chiefeditor=主编人
role.webmaster=站点管理员
-changemyprofileinfor.title=修改个人信息
-changemyprofileinfor.succeeded=个人信息修改成功
-changemyprofileinfor.current=旧密码
-changemyprofileinfor.new=新密码
-changemyprofileinfor.confirm=密码重复
-changemyprofileinfor.submit=保存
+changeprofileinfor.title=修改个人信息
+changeprofileinfor.succeeded=个人信息修改成功
+changeprofileinfor.current=旧密码
+changeprofileinfor.new=新密码
+changeprofileinfor.confirm=密码重复
+changeprofileinfor.submit=保存
changelanguage.title=更改语言
changelanguage.succeeded=语言修改成功
Added:
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforAction.java
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforAction.java
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforAction.java
2009-05-14 06:54:58 UTC (rev 35153)
@@ -0,0 +1,67 @@
+package com.finalist.cmsc.security.forms;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.Node;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
+import com.finalist.cmsc.security.SecurityUtil;
+import com.finalist.cmsc.struts.MMBaseAction;
+
+/**
+ * ChangePasswordAction
+ *
+ * @author Nico Klasens
+ */
+public class ChangeProfileInforAction extends MMBaseAction {
+
+ /** MMbase logging system */
+ private static final Logger log =
Logging.getLoggerInstance(ChangeProfileInforAction.class.getName());
+
+
+ /**
+ * @see
org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
+ * org.apache.struts.action.ActionForm,
+ * javax.servlet.http.HttpServletRequest,
+ * javax.servlet.http.HttpServletResponse)
+ */
+ @Override
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
+ HttpServletResponse response, Cloud cloud) throws Exception {
+
+ if (!isCancelled(request)) {
+ // Make sure we have the logged in user and not a user from a
+ // cloudprovider
+ Cloud userCloud = getCloudFromSession(request);
+
+ log.debug("ChangePasswordAction - doPerform()");
+ if (!isCancelled(request)) {
+ ChangeProfileInforForm changeMyprofileInforForm =
(ChangeProfileInforForm) form;
+ Node userNode = SecurityUtil.getUserNode(userCloud);
+ userNode.setStringValue("username",
changeMyprofileInforForm.getUsername());
+ userNode.setStringValue("password",
changeMyprofileInforForm.getNewpassword());
+ userNode.setStringValue("firstname",
changeMyprofileInforForm.getFirstname());
+ userNode.setStringValue("prefix",
changeMyprofileInforForm.getPrefix());
+ userNode.setStringValue("surname",
changeMyprofileInforForm.getSurname());
+ userNode.setStringValue("company",
changeMyprofileInforForm.getCompany());
+ userNode.setStringValue("department",
changeMyprofileInforForm.getDepartment());
+ userNode.setBooleanValue("emailsignal",
changeMyprofileInforForm.isEmailSignal());
+ userNode.setStringValue("emailaddress",
changeMyprofileInforForm.getEmail());
+ userNode.commit();
+ }
+ ActionForward af = mapping.findForward(SUCCESS);
+ af = new ActionForward(af.getPath() + "?succeeded=true");
+ return af;
+ }
+ else {
+ return mapping.findForward("cancel");
+ }
+ }
+
+}
\ No newline at end of file
Added:
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforForm.java
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforForm.java
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInforForm.java
2009-05-14 06:54:58 UTC (rev 35153)
@@ -0,0 +1,184 @@
+package com.finalist.cmsc.security.forms;
+
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.*;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.ContextProvider;
+
+import com.finalist.cmsc.struts.MMBaseAction;
+
+/**
+ * Form bean for the ChangePasswordForm page.
+ *
+ * @author Nico Klasens
+ */
+...@suppresswarnings("serial")
+public class ChangeProfileInforForm extends ActionForm {
+
+ private String username;
+ private String password1;
+ private String newpassword;
+ private String confirmnewpassword;
+ private String firstname;
+ private String prefix;
+ private String surname;
+
+ private String email;
+ private String company;
+ private String department;
+ private boolean emailSignal;
+
+
+
+ @Override
+ public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
+ ActionErrors errors = new ActionErrors();
+
+ if (getPassword1() == null || getPassword1().trim().length() == 0) {
+ errors.add("password1", new
ActionMessage("error.password.incorrect"));
+ }
+ if (getNewpassword() == null || getNewpassword().trim().length() < 5 ||
getNewpassword().trim().length() > 15) {
+ errors.add("newpassword", new
ActionMessage("error.password.invalid"));
+ }
+ if (getConfirmnewpassword() == null ||
getConfirmnewpassword().trim().length() < 5
+ || getConfirmnewpassword().trim().length() > 15) {
+ errors.add("confirmnewpassword", new
ActionMessage("error.password.invalid"));
+ }
+ if (!getConfirmnewpassword().equals(getNewpassword())) {
+ errors.add("newpassword", new
ActionMessage("error.password.nomatch"));
+ }
+ if (errors.size() == 0) {
+ if (getPassword1().equals(getNewpassword())) {
+ errors.add("newpassword", new
ActionMessage("error.newpassword.incorrect"));
+ }
+ else {
+ try {
+ Cloud cloud = MMBaseAction.getCloudFromSession(request);
+ HashMap<String, String> user = new HashMap<String, String>();
+ user.put("username", cloud.getUser().getIdentifier());
+ user.put("password", password1);
+
ContextProvider.getCloudContext(ContextProvider.getDefaultCloudContextName()).getCloud("mmbase",
+ "name/password", user);
+ }
+ catch (java.lang.SecurityException se) {
+ errors.add("password1", new
ActionMessage("error.password.incorrect"));
+ }
+ }
+
+ }
+ return errors;
+ }
+
+
+ public String getPassword1() {
+ return password1;
+ }
+
+
+ public void setPassword1(String password) {
+ this.password1 = password;
+ }
+
+
+ public String getNewpassword() {
+ return newpassword;
+ }
+
+
+ public void setNewpassword(String newpassword) {
+ this.newpassword = newpassword;
+ }
+
+
+ public String getConfirmnewpassword() {
+ return confirmnewpassword;
+ }
+
+
+ public void setConfirmnewpassword(String confirmnewpassword) {
+ this.confirmnewpassword = confirmnewpassword;
+ }
+
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+
+ public void setSurname(String surname) {
+ this.surname = surname;
+ }
+
+
+ public String getSurname() {
+ return surname;
+ }
+
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+
+ public String getEmail() {
+ return email;
+ }
+
+
+ public void setCompany(String company) {
+ this.company = company;
+ }
+
+
+ public String getCompany() {
+ return company;
+ }
+
+
+ public void setDepartment(String department) {
+ this.department = department;
+ }
+
+
+ public String getDepartment() {
+ return department;
+ }
+
+
+ public void setEmailSignal(boolean emailSignal) {
+ this.emailSignal = emailSignal;
+ }
+
+
+ public boolean isEmailSignal() {
+ return emailSignal;
+ }
+
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+
+ public String getUsername() {
+ return username;
+ }
+}
\ No newline at end of file
Added:
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInitAction.java
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInitAction.java
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/java/com/finalist/cmsc/security/forms/ChangeProfileInitAction.java
2009-05-14 06:54:58 UTC (rev 35153)
@@ -0,0 +1,36 @@
+package com.finalist.cmsc.security.forms;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.Node;
+
+import com.finalist.cmsc.security.SecurityUtil;
+import com.finalist.cmsc.struts.MMBaseAction;
+
+/**
+ * @author Nico Klasens
+ */
+public class ChangeProfileInitAction extends MMBaseAction {
+
+ @Override
+ public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
+ HttpServletResponse response, Cloud cloud) throws Exception {
+ Cloud userCloud = getCloudFromSession(request);
+ Node node = SecurityUtil.getUserNode(userCloud);
+ ChangeProfileInforForm changeMyprofileInforForm =
(ChangeProfileInforForm) form;
+ changeMyprofileInforForm.setUsername(node.getStringValue("username"));
+ changeMyprofileInforForm.setSurname(node.getStringValue("surname"));
+ changeMyprofileInforForm.setFirstname(node.getStringValue("firstname"));
+ changeMyprofileInforForm.setPrefix(node.getStringValue("prefix"));
+ changeMyprofileInforForm.setCompany(node.getStringValue("company"));
+
changeMyprofileInforForm.setDepartment(node.getStringValue("department"));
+ changeMyprofileInforForm.setEmail(node.getStringValue("emailaddress"));
+
changeMyprofileInforForm.setEmailSignal(node.getBooleanValue("emailsignal"));
+ return mapping.findForward(SUCCESS);
+ }
+}
\ No newline at end of file
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/WEB-INF/struts-security.xml
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/WEB-INF/struts-security.xml
2009-05-14 05:19:07 UTC (rev 35152)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/WEB-INF/struts-security.xml
2009-05-14 06:54:58 UTC (rev 35153)
@@ -7,7 +7,7 @@
<!-- ========== Data Sources Definitions
=================================== -->
<!-- ========== Form Bean Definitions
=================================== -->
<form-beans>
- <form-bean name="ChangeMyprofileInforForm"
type="com.finalist.cmsc.security.forms.ChangeMyprofileInforForm" />
+ <form-bean name="ChangeProfileInforForm"
type="com.finalist.cmsc.security.forms.ChangeProfileInforForm" />
<form-bean name="ChangeLanguageForm"
type="com.finalist.cmsc.security.forms.ChangeLanguageForm" />
<form-bean name="UserForm"
type="com.finalist.cmsc.security.forms.UserForm" />
<form-bean name="GroupForm"
type="com.finalist.cmsc.security.forms.GroupForm" />
@@ -35,11 +35,11 @@
<!-- ==== User management ==== -->
- <action
path="/editors/usermanagement/ChangeMyprofileInforAction"
-
type="com.finalist.cmsc.security.forms.ChangeMyprofileInforAction"
name="ChangeMyprofileInforForm" scope="session"
-
input="/editors/usermanagement/changemyprofileinfor.jsp" unknown="false"
validate="true">
+ <action path="/editors/usermanagement/ChangeProfileInforAction"
+
type="com.finalist.cmsc.security.forms.ChangeProfileInforAction"
name="ChangeProfileInforForm" scope="session"
+ input="/editors/usermanagement/changeprofileinfor.jsp"
unknown="false" validate="true">
<set-property property="cancellable" value="true"/>
- <forward name="success"
path="/editors/usermanagement/changemyprofileinfor.jsp" redirect="false" />
+ <forward name="success"
path="/editors/usermanagement/changeprofileinfor.jsp" redirect="false" />
<forward name="cancel" path="/editors/empty.html"
redirect="true" />
</action>
<action path="/editors/usermanagement/ChangeLanguageAction"
@@ -64,9 +64,9 @@
name="UserForm" scope="session" unknown="false"
validate="false">
<forward name="success"
path="/editors/usermanagement/user.jsp" redirect="false" />
</action>
- <action
path="/editors/usermanagement/ChangeMyprofileInitAction"
type="com.finalist.cmsc.security.forms.ChangeMyprofileInitAction"
- name="ChangeMyprofileInforForm" scope="session"
unknown="false" validate="false">
- <forward name="success"
path="/editors/usermanagement/changemyprofileinfor.jsp" redirect="false" />
+ <action path="/editors/usermanagement/ChangeProfileInitAction"
type="com.finalist.cmsc.security.forms.ChangeProfileInitAction"
+ name="ChangeProfileInforForm" scope="session"
unknown="false" validate="false">
+ <forward name="success"
path="/editors/usermanagement/changeprofileinfor.jsp" redirect="false" />
</action>
</action-mappings>
Added:
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/changeprofileinfor.jsp
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/changeprofileinfor.jsp
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/changeprofileinfor.jsp
2009-05-14 06:54:58 UTC (rev 35153)
@@ -0,0 +1,107 @@
+<%...@page language="java" contentType="text/html;charset=utf-8"
+%><%...@include file="globals.jsp"
+%><mm:content type="text/html" encoding="UTF-8" expires="0">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html:html xhtml="true">
+<cmscedit:head title="changemyprofileinfor.title" />
+
+<c:choose>
+<c:when test="${param.succeeded}">
+ <body onload="alert('<fmt:message key="changemyprofileinfor.succeeded"
/>')">
+ </body>
+</c:when>
+<c:otherwise>
+ <body>
+ <mm:cloud jspvar="cloud" loginpage="../../editors/login.jsp">
+ <div class="tabs">
+ <!-- actieve TAB -->
+ <div class="tab_active">
+ <div class="body">
+ <div>
+ <a name="activetab"><fmt:message
key="changemyprofileinfor.title" /></a>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="editor">
+ <div class="body">
+
+
+
+<html:form action="/editors/usermanagement/ChangeProfileInforAction">
+ <table class="formcontent">
+ <tr>
+ <td class="fieldname" width='180'><fmt:message key="user.account"
/></td>
+ <td>
+ <bean:write name="ChangeProfileInforForm" property="username" />
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.firstname" /></td>
+ <td><html:text property="firstname" size='30' maxlength='40'
/> <fmt:message key="user.textlength" /></td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.prefix" /></td>
+ <td><html:text property="prefix" size='30' maxlength='40'
/> <fmt:message key="user.textlength" /></td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.surname" /></td>
+ <td><html:text property="surname" size='30' maxlength='40'
/> <fmt:message key="user.textlength" /></td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.email" /></td>
+ <td><html:text property="email" size='30' maxlength='255' />
+ <span class="notvalid"><html:errors bundle="SECURITY"
property="email" /></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.company" /></td>
+ <td><html:text property="company" size='30' maxlength='40'
/> <fmt:message key="user.textlength" /></td>
+ </tr>
+ <tr>
+ <td class="fieldname"><fmt:message key="user.department" /></td>
+ <td><html:text property="department" size='30' maxlength='40'
/> <fmt:message key="user.textlength" /></td>
+ </tr>
+ </tr>
+ <tr><td class="fieldname" nowrap><fmt:message key="user.emailsignal"
/></td>
+ <td class="field"><html:checkbox property="emailSignal" style="width:
auto;"/></td>
+ </tr>
+ <tr>
+ <td class="fieldname" nowrap width="105px"><fmt:message
key="changemyprofileinfor.current" /></td>
+ <td class="fieldname">
+ <html:password property="password1" size='15' maxlength='15'
style="width:200px"/>
+ <span class="notvalid"><html:errors bundle="SECURITY"
property="password1"/></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldname" nowrap><fmt:message
key="changemyprofileinfor.new" /></td>
+ <td class="fieldname">
+ <html:password property="newpassword" size='15' maxlength='15'
style="width:200px"/>
+ <span class="notvalid"><html:errors bundle="SECURITY"
property="newpassword"/></span>
+ </td>
+ </tr>
+ <tr>
+ <td class="fieldname" nowrap><fmt:message
key="changemyprofileinfor.confirm" /></td>
+ <td class="fieldname">
+ <html:password property="confirmnewpassword" size='15'
maxlength='15' style="width:200px"/>
+ <span class="notvalid"><html:errors bundle="SECURITY"
property="confirmnewpassword"/></span>
+ </td>
+ </tr>
+ <tr>
+ <td > </td>
+ <td>
+ <html:submit ><fmt:message key="changemyprofileinfor.submit"
/></html:submit>
+ <html:cancel ><fmt:message key="user.cancel"/></html:cancel>
+ </td>
+ </tr>
+ </table>
+</html:form>
+</mm:cloud>
+ </div>
+ </div>
+</body>
+</c:otherwise>
+</c:choose>
+</html:html>
+</mm:content>
\ No newline at end of file
Modified:
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/profilemenu.jsp
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/profilemenu.jsp
2009-05-14 05:19:07 UTC (rev 35152)
+++
CMSContainer/trunk/CMSContainer/cmsc/security/src/webapp/editors/usermanagement/profilemenu.jsp
2009-05-14 06:54:58 UTC (rev 35153)
@@ -9,7 +9,7 @@
<cmscedit:sideblock title="profile.title">
<ul class="shortcuts">
<li class="password">
- <a href="./ChangeMyprofileInitAction.do"
target="rightpane"><fmt:message key="changemyprofileinfor.title" /></a>
+ <a href="./ChangeProfileInitAction.do"
target="rightpane"><fmt:message key="changemyprofileinfor.title" /></a>
</li>
<li class="language">
<a href="changelanguage.jsp"
target="rightpane"><fmt:message key="changelanguage.title" /></a>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs