mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
. Added ability to change the users Name and Email to the User Options page.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3493 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -890,6 +890,7 @@ dashlet_gettingstarted_desc=Displays helpful information for getting started wit
|
|||||||
|
|
||||||
# User Console and Settings messages
|
# User Console and Settings messages
|
||||||
title_user_console=User Options
|
title_user_console=User Options
|
||||||
|
title_edit_user_details=Edit User Details
|
||||||
user_console=User Options
|
user_console=User Options
|
||||||
user_console_info=User Options
|
user_console_info=User Options
|
||||||
user_console_description=Use this page to change your options and settings
|
user_console_description=Use this page to change your options and settings
|
||||||
@@ -899,6 +900,8 @@ change_my_password_description=Use this view to change your password
|
|||||||
change_my_password_instructions=Enter your new password.
|
change_my_password_instructions=Enter your new password.
|
||||||
old_password=Old Password
|
old_password=Old Password
|
||||||
new_password=New Password
|
new_password=New Password
|
||||||
|
edit_user_details=Edit User Details
|
||||||
|
edit_user_details_description=Use this view to change your user details and email address
|
||||||
|
|
||||||
# Workflow messages
|
# Workflow messages
|
||||||
start_workflow=Start Workflow
|
start_workflow=Start Workflow
|
||||||
|
@@ -64,6 +64,16 @@ public final class User
|
|||||||
this.person = person;
|
this.person = person;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forces a clear of any cached or calcluated values
|
||||||
|
*/
|
||||||
|
public void reset()
|
||||||
|
{
|
||||||
|
this.fullName = null;
|
||||||
|
this.administrator = null;
|
||||||
|
this.preferences = null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return The user name
|
* @return The user name
|
||||||
*/
|
*/
|
||||||
@@ -115,7 +125,6 @@ public final class User
|
|||||||
return this.ticket;
|
return this.ticket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the person NodeRef
|
* @return Returns the person NodeRef
|
||||||
*/
|
*/
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.web.bean.users;
|
package org.alfresco.web.bean.users;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -35,6 +36,7 @@ import org.alfresco.service.cmr.search.SearchParameters;
|
|||||||
import org.alfresco.service.cmr.search.SearchService;
|
import org.alfresco.service.cmr.search.SearchService;
|
||||||
import org.alfresco.service.cmr.security.AuthenticationService;
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||||
import org.alfresco.service.cmr.security.PersonService;
|
import org.alfresco.service.cmr.security.PersonService;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.ISO9075;
|
import org.alfresco.util.ISO9075;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.context.IContextListener;
|
import org.alfresco.web.app.context.IContextListener;
|
||||||
@@ -389,6 +391,38 @@ public class UsersBean implements IContextListener
|
|||||||
return outcome;
|
return outcome;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action handler called for the OK button press
|
||||||
|
*/
|
||||||
|
public String changeUserDetails()
|
||||||
|
{
|
||||||
|
String outcome = DIALOG_CLOSE;
|
||||||
|
|
||||||
|
FacesContext context = FacesContext.getCurrentInstance();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Map<QName, Serializable> props = this.nodeService.getProperties(getPerson().getNodeRef());
|
||||||
|
props.put(ContentModel.PROP_FIRSTNAME,
|
||||||
|
(String)getPerson().getProperties().get(ContentModel.PROP_FIRSTNAME));
|
||||||
|
props.put(ContentModel.PROP_LASTNAME,
|
||||||
|
(String)getPerson().getProperties().get(ContentModel.PROP_LASTNAME));
|
||||||
|
props.put(ContentModel.PROP_EMAIL,
|
||||||
|
(String)getPerson().getProperties().get(ContentModel.PROP_EMAIL));
|
||||||
|
|
||||||
|
// persist changes
|
||||||
|
this.nodeService.setProperties(getPerson().getNodeRef(), props);
|
||||||
|
|
||||||
|
// if the above call was successful, then reset Person Node in the session
|
||||||
|
Application.getCurrentUser(context).reset();
|
||||||
|
}
|
||||||
|
catch (Throwable err)
|
||||||
|
{
|
||||||
|
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
|
||||||
|
context, Repository.ERROR_GENERIC), err.getMessage()), err );
|
||||||
|
}
|
||||||
|
|
||||||
|
return outcome;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event handler called when the user wishes to search for a user
|
* Event handler called when the user wishes to search for a user
|
||||||
|
@@ -603,6 +603,10 @@
|
|||||||
<from-outcome>changePassword</from-outcome>
|
<from-outcome>changePassword</from-outcome>
|
||||||
<to-view-id>/jsp/users/change-my-password.jsp</to-view-id>
|
<to-view-id>/jsp/users/change-my-password.jsp</to-view-id>
|
||||||
</navigation-case>
|
</navigation-case>
|
||||||
|
<navigation-case>
|
||||||
|
<from-outcome>editUserDetails</from-outcome>
|
||||||
|
<to-view-id>/jsp/users/edit-user-details.jsp</to-view-id>
|
||||||
|
</navigation-case>
|
||||||
</navigation-rule>
|
</navigation-rule>
|
||||||
|
|
||||||
<!-- navigation rules for the New User wizard -->
|
<!-- navigation rules for the New User wizard -->
|
||||||
|
196
source/web/jsp/users/edit-user-details.jsp
Normal file
196
source/web/jsp/users/edit-user-details.jsp
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
<%--
|
||||||
|
Copyright (C) 2005 Alfresco, Inc.
|
||||||
|
|
||||||
|
Licensed under the Mozilla Public License version 1.1
|
||||||
|
with a permitted attribution clause. You may obtain a
|
||||||
|
copy of the License at
|
||||||
|
|
||||||
|
http://www.alfresco.org/legal/license.txt
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
either express or implied. See the License for the specific
|
||||||
|
language governing permissions and limitations under the
|
||||||
|
License.
|
||||||
|
--%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
|
||||||
|
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
|
||||||
|
|
||||||
|
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
|
||||||
|
<%@ page isELIgnored="false" %>
|
||||||
|
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>
|
||||||
|
|
||||||
|
<r:page titleId="title_edit_user_details">
|
||||||
|
|
||||||
|
<script language="JavaScript1.2">
|
||||||
|
|
||||||
|
window.onload = pageLoaded;
|
||||||
|
|
||||||
|
function pageLoaded()
|
||||||
|
{
|
||||||
|
document.getElementById("edit-user:first-name").focus();
|
||||||
|
updateButtonState();
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateButtonState()
|
||||||
|
{
|
||||||
|
if (document.getElementById("edit-user:first-name").value.length == 0 ||
|
||||||
|
document.getElementById("edit-user:last-name").value.length == 0 ||
|
||||||
|
document.getElementById("edit-user:email").value.length == 0)
|
||||||
|
{
|
||||||
|
document.getElementById("edit-user:ok-button").disabled = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
document.getElementById("edit-user:ok-button").disabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<f:view>
|
||||||
|
|
||||||
|
<%-- load a bundle of properties with I18N strings --%>
|
||||||
|
<f:loadBundle basename="alfresco.messages.webclient" var="msg"/>
|
||||||
|
|
||||||
|
<%-- set the form name here --%>
|
||||||
|
<h:form acceptCharset="UTF-8" id="edit-user">
|
||||||
|
|
||||||
|
<%-- Main outer table --%>
|
||||||
|
<table cellspacing="0" cellpadding="2">
|
||||||
|
|
||||||
|
<%-- Title bar --%>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<%@ include file="../parts/titlebar.jsp" %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<%-- Main area --%>
|
||||||
|
<tr valign="top">
|
||||||
|
<%-- Shelf --%>
|
||||||
|
<td>
|
||||||
|
<%@ include file="../parts/shelf.jsp" %>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<%-- Work Area --%>
|
||||||
|
<td width="100%">
|
||||||
|
<table cellspacing="0" cellpadding="0" width="100%">
|
||||||
|
<%-- Breadcrumb --%>
|
||||||
|
<%@ include file="../parts/breadcrumb.jsp" %>
|
||||||
|
|
||||||
|
<%-- Status and Actions --%>
|
||||||
|
<tr>
|
||||||
|
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)" width="4"></td>
|
||||||
|
<td bgcolor="#EEEEEE">
|
||||||
|
|
||||||
|
<%-- Status and Actions inner contents table --%>
|
||||||
|
<%-- Generally this consists of an icon, textual summary and actions for the current object --%>
|
||||||
|
<table cellspacing="4" cellpadding="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="32">
|
||||||
|
<h:graphicImage id="wizard-logo" url="/images/icons/edituser_large.gif" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="mainTitle"><h:outputText value="#{msg.edit_user_details}" /></div>
|
||||||
|
<div class="mainSubText"><h:outputText value="#{msg.edit_user_details_description}" /></div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)" width="4"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<%-- separator row with gradient shadow --%>
|
||||||
|
<tr>
|
||||||
|
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif" width="4" height="9"></td>
|
||||||
|
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>
|
||||||
|
<td><img src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif" width="4" height="9"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<%-- Details --%>
|
||||||
|
<tr valign=top>
|
||||||
|
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width="4"></td>
|
||||||
|
<td>
|
||||||
|
<table cellspacing="0" cellpadding="3" border="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="100%" valign="top">
|
||||||
|
|
||||||
|
<a:errors message="#{msg.error_wizard}" styleClass="errorMessage" />
|
||||||
|
|
||||||
|
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %>
|
||||||
|
<table cellpadding="2" cellspacing="2" border="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<td colspan="2"><h:outputText value="#{msg.person_properties}" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr><td colspan="2" class="paddingRow"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td><h:outputText value="#{msg.first_name}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<h:inputText id="first-name" value="#{UsersBean.person.properties.firstName}" size="35" maxlength="1024" onkeyup="updateButtonState();" onchange="updateButtonState();" /> *
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><h:outputText value="#{msg.last_name}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<h:inputText id="last-name" value="#{UsersBean.person.properties.lastName}" size="35" maxlength="1024" onkeyup="updateButtonState();" onchange="updateButtonState();" /> *
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><h:outputText value="#{msg.email}"/>:</td>
|
||||||
|
<td>
|
||||||
|
<h:inputText id="email" value="#{UsersBean.person.properties.email}" size="35" maxlength="1024" onkeyup="updateButtonState();" onchange="updateButtonState();" /> *
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "white"); %>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td valign="top">
|
||||||
|
<% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#D3E6FE"); %>
|
||||||
|
<table cellpadding="1" cellspacing="1" border="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<h:commandButton value="#{msg.finish_button}" id="ok-button" action="#{UsersBean.changeUserDetails}" styleClass="wizardButton" disabled="true" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td class="wizardButtonSpacing"></td></tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<h:commandButton value="#{msg.cancel_button}" action="dialog:close" styleClass="wizardButton" immediate="true" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width="4"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<%-- separator row with bottom panel graphics --%>
|
||||||
|
<tr>
|
||||||
|
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif" width="4" height="4"></td>
|
||||||
|
<td width="100%" align="center" style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>
|
||||||
|
<td><img src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif" width="4" height="4"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</h:form>
|
||||||
|
|
||||||
|
</f:view>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
updateButtonState();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</r:page>
|
@@ -97,12 +97,12 @@
|
|||||||
<%-- wrapper comment used by the panel to add additional component facets --%>
|
<%-- wrapper comment used by the panel to add additional component facets --%>
|
||||||
<h:panelGroup id="mydetails-panel-facets">
|
<h:panelGroup id="mydetails-panel-facets">
|
||||||
<f:facet name="title">
|
<f:facet name="title">
|
||||||
<%--<r:permissionEvaluator value="#{DocumentDetailsBean.document}" allow="Write" id="evalChange">--%>
|
<a:booleanEvaluator value="#{NavigationBean.isGuest == false}">
|
||||||
<a:actionLink id="actModify1" value="#{msg.modify}" action="" showLink="false" image="/images/icons/Change_details.gif" />
|
<a:actionLink value="#{msg.modify}" action="dialog:editUserDetails" showLink="false" image="/images/icons/Change_details.gif" />
|
||||||
<%--</r:permissionEvaluator>--%>
|
</a:booleanEvaluator>
|
||||||
</f:facet>
|
</f:facet>
|
||||||
</h:panelGroup>
|
</h:panelGroup>
|
||||||
<a:panel label="#{msg.my_details}" id="mydetails-panel" progressive="true" facetsId="mydetails-panel-facets"
|
<a:panel label="#{msg.my_details}" id="mydetails-panel" facetsId="mydetails-panel-facets"
|
||||||
border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE">
|
border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE">
|
||||||
<table cellspacing=2 cellpadding=2 border=0>
|
<table cellspacing=2 cellpadding=2 border=0>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -138,12 +138,12 @@
|
|||||||
|
|
||||||
<h:panelGroup id="pref-panel-facets">
|
<h:panelGroup id="pref-panel-facets">
|
||||||
<f:facet name="title">
|
<f:facet name="title">
|
||||||
<%--<r:permissionEvaluator value="#{DocumentDetailsBean.document}" allow="Write" id="evalChange">--%>
|
<a:booleanEvaluator value="#{NavigationBean.isGuest == false}">
|
||||||
<a:actionLink id="actModify2" value="#{msg.modify}" action="" showLink="false" image="/images/icons/Change_details.gif" />
|
<a:actionLink value="#{msg.modify}" action="" showLink="false" image="/images/icons/Change_details.gif" />
|
||||||
<%--</r:permissionEvaluator>--%>
|
</a:booleanEvaluator>
|
||||||
</f:facet>
|
</f:facet>
|
||||||
</h:panelGroup>
|
</h:panelGroup>
|
||||||
<a:panel label="#{msg.general_pref}" id="pref-panel" progressive="true" facetsId="pref-panel-facets"
|
<a:panel label="#{msg.general_pref}" id="pref-panel" facetsId="pref-panel-facets"
|
||||||
border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE">
|
border="white" bgcolor="white" titleBorder="blue" titleBgcolor="#D3E6FE">
|
||||||
<table width=100% cellspacing=2 cellpadding=2 border=0>
|
<table width=100% cellspacing=2 cellpadding=2 border=0>
|
||||||
</table>
|
</table>
|
||||||
|
Reference in New Issue
Block a user